mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Merge branch 'bugfix/server-order' into 'dev'
Fix Auth'd servers in roles | Refine server ordering See merge request crafty-controller/crafty-4!574
This commit is contained in:
commit
582b4f73f6
@ -7,6 +7,7 @@ TBD
|
||||
### Bug fixes
|
||||
- Fix pipelines failing to build from gitlab pre-defined variable deprecation ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/582))
|
||||
- Fix incompatible buildx provenance meta, causing digest issues on GL/DH container registries ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/582))
|
||||
- Fix Auth'd servers in roles | Refine server ordering ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/574))
|
||||
### Tweaks
|
||||
TBD
|
||||
### Lang
|
||||
|
@ -253,6 +253,7 @@ class ServersController(metaclass=Singleton):
|
||||
|
||||
@staticmethod
|
||||
def get_authorized_servers(user_id):
|
||||
server_ids = []
|
||||
server_data: t.List[t.Dict[str, t.Any]] = []
|
||||
user_roles = HelperUsers.user_role_query(user_id)
|
||||
for user in user_roles:
|
||||
@ -260,11 +261,13 @@ class ServersController(metaclass=Singleton):
|
||||
user.role_id
|
||||
)
|
||||
for role in role_servers:
|
||||
server_data.append(
|
||||
ServersController().get_server_instance_by_id(
|
||||
role.server_id.server_id
|
||||
if role.server_id.server_id not in server_ids:
|
||||
server_ids.append(role.server_id.server_id)
|
||||
server_data.append(
|
||||
ServersController().get_server_instance_by_id(
|
||||
role.server_id.server_id
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
return server_data
|
||||
|
||||
|
@ -254,7 +254,12 @@ class PanelHandler(BaseHandler):
|
||||
user_order = user_order["server_order"].split(",")
|
||||
page_servers = []
|
||||
server_ids = []
|
||||
|
||||
for server in defined_servers:
|
||||
server_ids.append(str(server.server_id))
|
||||
if str(server.server_id) not in user_order:
|
||||
# a little unorthodox, but this will cut out a loop.
|
||||
# adding servers to the user order that don't already exist there.
|
||||
user_order.append(str(server.server_id))
|
||||
for server_id in user_order[:]:
|
||||
for server in defined_servers[:]:
|
||||
if str(server.server_id) == str(server_id):
|
||||
@ -263,14 +268,7 @@ class PanelHandler(BaseHandler):
|
||||
)
|
||||
user_order.remove(server_id)
|
||||
defined_servers.remove(server)
|
||||
|
||||
for server in defined_servers:
|
||||
server_ids.append(str(server.server_id))
|
||||
if server not in page_servers:
|
||||
page_servers.append(
|
||||
DatabaseShortcuts.get_data_obj(server.server_object)
|
||||
)
|
||||
|
||||
break
|
||||
for server_id in user_order[:]:
|
||||
# remove IDs in list that user no longer has access to
|
||||
if str(server_id) not in server_ids:
|
||||
@ -450,6 +448,7 @@ class PanelHandler(BaseHandler):
|
||||
page_servers.append(server)
|
||||
un_used_servers.remove(server)
|
||||
user_order.remove(server_id)
|
||||
break
|
||||
# we only want to set these server stats values once.
|
||||
# We need to update the flag so it only hits that if once.
|
||||
flag += 1
|
||||
|
Loading…
Reference in New Issue
Block a user