update support logs to only download server logs for user permissions. Fix bug where updating user roles would update for all user roles with changes.

This commit is contained in:
Andrew 2022-01-13 16:44:57 -05:00
parent 3a3ee52f5c
commit 4a78f3c4bd
2 changed files with 8 additions and 2 deletions

View File

@ -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)

View File

@ -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']))