mirror of
https://github.com/SELinuxProject/setools
synced 2025-03-22 19:16:34 +00:00
UserQuery: add missing user name field.
This commit is contained in:
parent
5c39a1fd8c
commit
c3759ec164
@ -88,194 +88,7 @@
|
||||
<string>Search Criteria</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Apply</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QGroupBox" name="level_criteria">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>120</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Default MLS Level</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="level">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QRadioButton" name="level_exact">
|
||||
<property name="toolTip">
|
||||
<string>The level criterion will match if it is equal to the user's default level.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Equal</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QRadioButton" name="level_dom">
|
||||
<property name="toolTip">
|
||||
<string>The level criterion will match if it dominates the user's default level.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Dominate</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<widget class="QRadioButton" name="level_domby">
|
||||
<property name="toolTip">
|
||||
<string>The level criterion will match if it is dominated by the user's default level.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Dominated</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QGroupBox" name="range_criteria">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>120</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>MLS Range</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="range_">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QRadioButton" name="range_exact">
|
||||
<property name="toolTip">
|
||||
<string>The range criterion will match if it is equal to the user's range.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Equal</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<widget class="QRadioButton" name="range_subset">
|
||||
<property name="toolTip">
|
||||
<string>The range criterion will match if it is a subset of the user's range.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Subset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QRadioButton" name="range_overlap">
|
||||
<property name="toolTip">
|
||||
<string>The range criterion will match if it overlaps the user's range.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Overlap</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="4">
|
||||
<widget class="QRadioButton" name="range_superset">
|
||||
<property name="toolTip">
|
||||
<string>The range criterion will match if it is a superset of the user's range.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Superset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" rowspan="2">
|
||||
<item row="1" column="0" rowspan="2">
|
||||
<widget class="QGroupBox" name="role_criteria">
|
||||
<property name="title">
|
||||
<string>Roles</string>
|
||||
@ -384,6 +197,255 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QGroupBox" name="range_criteria">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>120</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>MLS Range</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="range_">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QRadioButton" name="range_exact">
|
||||
<property name="toolTip">
|
||||
<string>The range criterion will match if it is equal to the user's range.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Equal</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<widget class="QRadioButton" name="range_subset">
|
||||
<property name="toolTip">
|
||||
<string>The range criterion will match if it is a subset of the user's range.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Subset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QRadioButton" name="range_overlap">
|
||||
<property name="toolTip">
|
||||
<string>The range criterion will match if it overlaps the user's range.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Overlap</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="4">
|
||||
<widget class="QRadioButton" name="range_superset">
|
||||
<property name="toolTip">
|
||||
<string>The range criterion will match if it is a superset of the user's range.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Superset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="name_criteria">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>120</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>User Name</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_8">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="name">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QCheckBox" name="name_regex">
|
||||
<property name="toolTip">
|
||||
<string>Use regular expressions to match the user's name.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Regex</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QGroupBox" name="level_criteria">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>120</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Default MLS Level</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="spacing">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="level">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>250</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QRadioButton" name="level_exact">
|
||||
<property name="toolTip">
|
||||
<string>The level criterion will match if it is equal to the user's default level.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Equal</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QRadioButton" name="level_dom">
|
||||
<property name="toolTip">
|
||||
<string>The level criterion will match if it dominates the user's default level.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Dominate</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<widget class="QRadioButton" name="level_domby">
|
||||
<property name="toolTip">
|
||||
<string>The level criterion will match if it is dominated by the user's default level.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Dominated</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Apply</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QTabWidget" name="results_frame">
|
||||
@ -575,6 +637,8 @@
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>users</tabstop>
|
||||
<tabstop>name</tabstop>
|
||||
<tabstop>name_regex</tabstop>
|
||||
<tabstop>roles</tabstop>
|
||||
<tabstop>roles_any</tabstop>
|
||||
<tabstop>roles_equal</tabstop>
|
||||
|
@ -63,11 +63,13 @@ class UserQueryTab(SEToolsWidget, QScrollArea):
|
||||
self.sort_proxy.setSourceModel(self.table_results_model)
|
||||
self.table_results.setModel(self.sort_proxy)
|
||||
|
||||
# setup indications of errors on level/range
|
||||
self.orig_palette = self.name.palette()
|
||||
self.error_palette = self.name.palette()
|
||||
self.error_palette.setColor(QPalette.Base, Qt.red)
|
||||
self.clear_name_error()
|
||||
|
||||
if self.policy.mls:
|
||||
# setup indications of errors on level/range
|
||||
self.orig_palette = self.level.palette()
|
||||
self.error_palette = self.level.palette()
|
||||
self.error_palette.setColor(QPalette.Base, Qt.red)
|
||||
self.clear_level_error()
|
||||
self.clear_range_error()
|
||||
else:
|
||||
@ -98,6 +100,9 @@ class UserQueryTab(SEToolsWidget, QScrollArea):
|
||||
# connect signals
|
||||
self.users.doubleClicked.connect(self.get_detail)
|
||||
self.users.get_detail.triggered.connect(self.get_detail)
|
||||
self.name.textEdited.connect(self.clear_name_error)
|
||||
self.name.editingFinished.connect(self.set_name)
|
||||
self.name_regex.toggled.connect(self.set_name_regex)
|
||||
self.roles.selectionModel().selectionChanged.connect(self.set_roles)
|
||||
self.invert_roles.clicked.connect(self.invert_role_selection)
|
||||
self.level.textEdited.connect(self.clear_level_error)
|
||||
@ -117,6 +122,26 @@ class UserQueryTab(SEToolsWidget, QScrollArea):
|
||||
self.log.debug("Generating detail window for {0}".format(item))
|
||||
user_detail(self, item)
|
||||
|
||||
#
|
||||
# Name criteria
|
||||
#
|
||||
def clear_name_error(self):
|
||||
self.name.setToolTip("Match the user name.")
|
||||
self.name.setPalette(self.orig_palette)
|
||||
|
||||
def set_name(self):
|
||||
try:
|
||||
self.query.name = self.name.text()
|
||||
except Exception as ex:
|
||||
self.name.setToolTip("Error: " + str(ex))
|
||||
self.name.setPalette(self.error_palette)
|
||||
|
||||
def set_name_regex(self, state):
|
||||
self.log.debug("Setting name_regex {0}".format(state))
|
||||
self.query.name_regex = state
|
||||
self.clear_name_error()
|
||||
self.set_name()
|
||||
|
||||
#
|
||||
# Role criteria
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user