You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
155 lines
5.2 KiB
Python
155 lines
5.2 KiB
Python
2 years ago
|
from PyQt5.QtWidgets import QMessageBox
|
||
|
|
||
|
from DcsUi.userManagement.AccountManagement import userList, userGroupList, AccountManagement
|
||
|
from DcsUi.userManagement.deleteData import *
|
||
|
from DcsUi.userManagement.userWindow import NewBuildWindow, EditWindow, modifyPassworldWindow, newBuildGroupWindow, \
|
||
|
userGroupSettingWindow
|
||
|
|
||
|
|
||
|
class user(userList):
|
||
|
def __init__(self):
|
||
|
userList.__init__(self)
|
||
|
|
||
|
def getTableValue(self):
|
||
|
gops = User.select()
|
||
|
lis = []
|
||
|
row = 1
|
||
|
for i in gops:
|
||
|
groups_name = UserGroup.get_groups_of_user(i.id)
|
||
|
if len(groups_name) > 1:
|
||
|
for group_name in groups_name:
|
||
|
result0 = []
|
||
|
result0.append(row)
|
||
|
result0.append(i.username)
|
||
|
result0.append(i.name)
|
||
|
result0.append(group_name)
|
||
|
lis.append(result0)
|
||
|
row += 1
|
||
|
elif len(groups_name) == 1:
|
||
|
result1 = []
|
||
|
result1.append(row)
|
||
|
result1.append(i.username)
|
||
|
result1.append(i.name)
|
||
|
result1.append(groups_name[0])
|
||
|
lis.append(result1)
|
||
|
row += 1
|
||
|
return lis
|
||
|
|
||
|
def newBuild(self):
|
||
|
self.mywindow = NewBuildWindow()
|
||
|
self.mywindow.my_Signal.connect(self.active_exit)
|
||
|
self.mywindow.show()
|
||
|
|
||
|
def active_exit(self):
|
||
|
self.queryModel.datas = self.getTableValue()
|
||
|
self.queryModel.layoutChanged.emit()
|
||
|
|
||
|
def actionHandler1(self):
|
||
|
row = self.tableView.currentIndex().row()
|
||
|
self.editwindow = EditWindow(self.getTableValue()[row][1:4])
|
||
|
self.editwindow.my_Signal.connect(self.active_exit)
|
||
|
self.editwindow.show()
|
||
|
|
||
|
def actionHandler2(self):
|
||
|
reply = QMessageBox.information(
|
||
|
self,
|
||
|
"信息提示",
|
||
|
"确认删除该用户吗",
|
||
|
QMessageBox.Yes | QMessageBox.No
|
||
|
)
|
||
|
if reply == 16384:
|
||
|
row = self.tableView.currentIndex().row()
|
||
|
username = self.getTableValue()[row][1]
|
||
|
groupname = self.getTableValue()[row][3]
|
||
|
deleteData.userDelete(username, groupname)
|
||
|
self.queryModel.datas = self.getTableValue()
|
||
|
self.queryModel.layoutChanged.emit()
|
||
|
|
||
|
def actionHandler3(self):
|
||
|
row = self.tableView.currentIndex().row()
|
||
|
self.modifypassworld = modifyPassworldWindow(self.getTableValue()[row][1])
|
||
|
self.modifypassworld.show()
|
||
|
|
||
|
|
||
|
class userGroup(userGroupList):
|
||
|
def __init__(self):
|
||
|
userGroupList.__init__(self)
|
||
|
|
||
|
def getTableValue(self):
|
||
|
gops = Group.select()
|
||
|
lis = []
|
||
|
row = 1
|
||
|
for group in gops:
|
||
|
result = []
|
||
|
user_list = []
|
||
|
opera_list = []
|
||
|
users = UserGroup.get_users_in_group(group_id=group.id)
|
||
|
operates = GroupOperatePermission.get_gop_by_group_id(group_id=group.id)
|
||
|
for user in users:
|
||
|
user_list.append(user)
|
||
|
for operate in operates:
|
||
|
ope = Operation.get_or_none(Operation.id == operate.operation_id)
|
||
|
opera_list.append(ope.name)
|
||
|
user_str = ",".join(user_list)
|
||
|
opera_str = ",".join(opera_list)
|
||
|
result.append(row)
|
||
|
result.append(group.name)
|
||
|
result.append(user_str)
|
||
|
result.append(group.detail)
|
||
|
result.append(opera_str)
|
||
|
lis.append(result)
|
||
|
row += 1
|
||
|
return lis
|
||
|
|
||
|
def newBuild(self):
|
||
|
self.buildGroup = newBuildGroupWindow()
|
||
|
self.buildGroup.my_Signal.connect(self.active_exit)
|
||
|
self.buildGroup.show()
|
||
|
|
||
|
def active_exit(self):
|
||
|
self.queryModel.datas = self.getTableValue()
|
||
|
self.queryModel.layoutChanged.emit()
|
||
|
|
||
|
def actionHandler1(self):
|
||
|
row = self.tableView.currentIndex().row()
|
||
|
currentGroupId = selectData.selectGroupID(self.getTableValue()[row][1])
|
||
|
self.groupWindow = userGroupSettingWindow(currentGroupId)
|
||
|
self.groupWindow.my_Signal.connect(self.active_exit)
|
||
|
self.groupWindow.show()
|
||
|
|
||
|
def actionHandler2(self):
|
||
|
reply = QMessageBox.information(
|
||
|
self,
|
||
|
"信息提示",
|
||
|
"确认删除该用户组吗",
|
||
|
QMessageBox.Yes | QMessageBox.No
|
||
|
)
|
||
|
if reply == 16384:
|
||
|
row = self.tableView.currentIndex().row()
|
||
|
groupname = self.getTableValue()[row][1]
|
||
|
member = self.getTableValue()[row][2]
|
||
|
deleteData.deleteGroup(groupname, member)
|
||
|
self.queryModel.datas = self.getTableValue()
|
||
|
self.queryModel.layoutChanged.emit()
|
||
|
|
||
|
|
||
|
class AccountManage(AccountManagement):
|
||
|
|
||
|
def __init__(self):
|
||
|
AccountManagement.__init__(self)
|
||
|
|
||
|
def _setdata_(self):
|
||
|
win1 = user()
|
||
|
win2 = userGroup()
|
||
|
self.lis_name = ['用户管理', '用户组管理']
|
||
|
self.lis_win = [win1, win2]
|
||
|
self.lis_img = [
|
||
|
':/static/UserManagement.png',
|
||
|
':/static/UserGroupManagement.png',
|
||
|
]
|
||
|
|
||
|
def changeData(self):
|
||
|
win = self.right_widget.currentWidget()
|
||
|
win.queryModel.datas = win.getTableValue()
|
||
|
win.queryModel.layoutChanged.emit()
|