diff --git a/app/classes/models/server_permissions.py b/app/classes/models/server_permissions.py index a7956e0f..f6eaf4c4 100644 --- a/app/classes/models/server_permissions.py +++ b/app/classes/models/server_permissions.py @@ -133,7 +133,7 @@ class Permissions_Servers: @staticmethod def get_role_permissions_list(role_id): permissions_mask = '00000000' - role_server = Role_Servers.get_or_none(role_id) + role_server = Role_Servers.get_or_none(Role_Servers.role_id == role_id) if role_server is not None: permissions_mask = role_server.permissions permissions_list = server_permissions.get_permissions(permissions_mask) diff --git a/app/classes/web/panel_handler.py b/app/classes/web/panel_handler.py index c21ce003..68da0dad 100644 --- a/app/classes/web/panel_handler.py +++ b/app/classes/web/panel_handler.py @@ -783,7 +783,13 @@ class PanelHandler(BaseHandler): if exec_user['superuser']: auth_servers = self.controller.servers.get_all_defined_servers() else: - auth_servers = self.controller.servers.get_authorized_servers(int(exec_user_id)) + user_servers = self.controller.servers.get_authorized_servers(int(exec_user_id)) + auth_servers = [] + for server in user_servers: + if Enum_Permissions_Server.Logs in self.controller.server_perms.get_user_permissions_list(exec_user['user_id'], server["server_id"]): + auth_servers.append(server) + else: + logger.info("Logs permission not available for server {}. Skipping.".format(server["server_name"])) #we'll iterate through our list of log paths from auth servers. for server in auth_servers: final_path = os.path.join(server_path, str(server['server_name']))