diff --git a/admin_panel/admin_panel/pipeline.py b/admin_panel/admin_panel/pipeline.py index 009e3bd1..e05f2989 100644 --- a/admin_panel/admin_panel/pipeline.py +++ b/admin_panel/admin_panel/pipeline.py @@ -48,18 +48,18 @@ class Status(Enum): OWNER = 4 # owns the application -async def get_permissions(permissions: perm_dict) -> list[Permission]: +def get_permissions(permissions: perm_dict) -> list[Permission]: """ Returns the list of permissions objects from a dictionnary mapping models to permission codes. """ result: list[Permission] = [] for model, perms in permissions.items(): content_type = ContentType.objects.get_for_model(model) - if perms == "all": + if perms == "*": perms = ["add", "change", "delete", "view"] for perm in perms: result.append( - await Permission.objects.aget( + Permission.objects.get( content_type=content_type, codename=f"{perm}_{model._meta.model_name}" ) ) @@ -90,7 +90,7 @@ async def assign_status(request: "HttpRequest", response: dict, user: "User", st Trade: ["view"], TradeObject: ["view"], } - await group.permissions.aadd(*await get_permissions(perms)) + await group.permissions.aadd(*get_permissions(perms)) await user.groups.aadd(group) message = "You were assigned the Staff status because of your Discord roles." elif status == Status.ADMIN: @@ -113,7 +113,7 @@ async def assign_status(request: "HttpRequest", response: dict, user: "User", st Trade: ["view"], TradeObject: ["view"], } - await group.permissions.aadd(*await get_permissions(perms)) + await group.permissions.aadd(*get_permissions(perms)) await user.groups.aadd(group) message = "You were assigned the Admin status because of your Discord roles." elif status == Status.TEAM_MEMBER: