mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Bug fixes for user/role based servers.
This commit is contained in:
parent
e827460a18
commit
e40fb45853
@ -371,7 +371,7 @@ class db_shortcuts:
|
||||
server_data.append(db_helper.get_server_data_by_id(u.server_id))
|
||||
|
||||
return server_data
|
||||
|
||||
|
||||
@staticmethod
|
||||
def get_authorized_servers_from_roles(user_id):
|
||||
user_roles = User_Roles.select().where(User_Roles.user_id == user_id)
|
||||
@ -423,7 +423,9 @@ class db_shortcuts:
|
||||
role_server.append(t)
|
||||
|
||||
for s in role_server:
|
||||
authorized_servers.append(db_helper.get_server_data_by_id(s.server_id))
|
||||
for item in user_servers:
|
||||
if item.server_id != s.server_id:
|
||||
authorized_servers.append(db_helper.get_server_data_by_id(s.server_id))
|
||||
|
||||
for s in authorized_servers:
|
||||
latest = Server_Stats.select().where(Server_Stats.server_id == s.get('server_id')).order_by(
|
||||
@ -568,6 +570,20 @@ class db_shortcuts:
|
||||
return user
|
||||
|
||||
|
||||
@staticmethod
|
||||
def user_query(user_id):
|
||||
user_query = Users.select().where(Users.user_id == user_id)
|
||||
return user_query
|
||||
|
||||
@staticmethod
|
||||
def user_role_query(user_id):
|
||||
user_query = User_Roles.select().where(User_Roles.user_id == user_id)
|
||||
query = Roles.select().where(Roles.role_id == -1)
|
||||
for u in user_query:
|
||||
query = Roles.select().where(Roles.role_id == u.role_id)
|
||||
print(query)
|
||||
return query
|
||||
|
||||
@staticmethod
|
||||
def get_user(user_id):
|
||||
if user_id == 0:
|
||||
|
@ -254,8 +254,12 @@ class PanelHandler(BaseHandler):
|
||||
self.redirect("/panel/server_detail?id={}&subpage=backup".format(server_id))
|
||||
|
||||
elif page == 'panel_config':
|
||||
page_data['users'] = db_helper.get_all_users()
|
||||
page_data['roles'] = db_helper.get_all_roles()
|
||||
if exec_user['superuser'] == 1:
|
||||
page_data['users'] = db_helper.get_all_users()
|
||||
page_data['roles'] = db_helper.get_all_roles()
|
||||
else:
|
||||
page_data['users'] = db_helper.user_query(exec_user['user_id'])
|
||||
page_data['roles'] = db_helper.user_role_query(exec_user['user_id'])
|
||||
for user in page_data['users']:
|
||||
if user.user_id != exec_user['user_id']:
|
||||
user.api_token = "********"
|
||||
@ -286,11 +290,8 @@ class PanelHandler(BaseHandler):
|
||||
|
||||
elif page == "edit_user":
|
||||
user_id = self.get_argument('id', None)
|
||||
role_servers = db_helper.get_authorized_servers_stats_from_roles(user_id)
|
||||
user_servers = db_helper.get_authorized_servers(user_id)
|
||||
servers = set()
|
||||
for server in role_servers:
|
||||
servers.add(server['server_id'])
|
||||
for server in user_servers:
|
||||
servers.add(server['server_id'])
|
||||
page_data['new_user'] = False
|
||||
|
Loading…
Reference in New Issue
Block a user