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.
54 lines
1.7 KiB
Python
54 lines
1.7 KiB
Python
from utils.AcountModels import *
|
|
|
|
|
|
class deleteData:
|
|
|
|
@classmethod
|
|
def userDelete(cls, username, groupname):
|
|
user = User.get(username=username)
|
|
group = Group.get(name=groupname)
|
|
if len(UserGroup.get_ug_by_user_id(user_id=user.id)) != 1:
|
|
UserGroup.delete_user_from_group(user_id=user.id, group_id=group.id)
|
|
else:
|
|
UserGroup.delete_user_from_group(user_id=user.id, group_id=group.id)
|
|
user.delete_instance()
|
|
|
|
@classmethod
|
|
def deleteGroup(cls, groupname, member):
|
|
usersname = [str(x) for x in member.split(',')]
|
|
group = Group.get(name=groupname)
|
|
if usersname == ['']:
|
|
group.delete_instance()
|
|
else:
|
|
for username in usersname:
|
|
user = User.get(username=username)
|
|
if len(UserGroup.get_groups_of_user(user_id=user.id)) == 1:
|
|
UserGroup.delete_user_from_group(user_id=user.id, group_id=group.id)
|
|
user.delete_instance()
|
|
UserGroup.delete_user_from_group(user_id=user.id, group_id=group.id)
|
|
group.delete_instance()
|
|
|
|
|
|
class selectData:
|
|
|
|
@classmethod
|
|
def selectGroupID(cls, name):
|
|
gops = Group.select().where(Group.name == name)
|
|
for gop in gops:
|
|
return gop.id
|
|
|
|
@classmethod
|
|
def selectOperation(cls, name):
|
|
gops = Operation.select().where(Operation.name == name)
|
|
for gop in gops:
|
|
return gop.id
|
|
|
|
@classmethod
|
|
def selectOperationGroup(cls, id):
|
|
groupOpera = (Operation
|
|
.select()
|
|
.join(GroupOperatePermission)
|
|
.join(Group)
|
|
.where(Group.id == id))
|
|
return groupOpera
|