diff --git a/contracts/admin.py b/contracts/admin.py index d80d314b534322dad59af72d9c5df6ea1c9dcee9..1ea01de6d9c1ec44cfc51df2e4e77a15f0719785 100644 --- a/contracts/admin.py +++ b/contracts/admin.py @@ -260,14 +260,14 @@ class ContractAdmin( if ( obj is None # Creating confidential data, creator will be request.user or obj.created_by == request.user - or request.user.has_perm("view_confidential", obj) + or request.user.has_perm("contracts.view_confidential") ): fieldsets[0][1]["fields"].insert( fieldsets[0][1]["fields"].index("is_public") + 1, "publishing_rejection_comment", ) - if obj is not None and request.user.has_perm("approve", obj): + if obj is not None and request.user.has_perm("contracts.approve"): fieldsets.insert( 5, ("Schválení", {"fields": ["is_approved"]}), @@ -290,7 +290,7 @@ class ContractAdmin( FieldsetInlineOrder.FIELDSET, ] - if context["user"].has_perm("approve", self): + if context["user"].has_perm("contracts.approve"): order.insert(11, FieldsetInlineOrder.FIELDSET) return order @@ -337,7 +337,7 @@ class ContractAdmin( if ( obj is not None and obj.is_approved - and not request.user.has_perm("contracts.edit_when_approved", obj) + and not request.user.has_perm("contracts.edit_when_approved") ): return False @@ -347,7 +347,7 @@ class ContractAdmin( if ( obj is not None and obj.is_approved - and not request.user.has_perm("contracts.delete_when_approved", obj) + and not request.user.has_perm("contracts.delete_when_approved") ): return False @@ -456,7 +456,7 @@ class SigneeAdmin(OwnPermissionsMixin, MarkdownxGuardedModelAdmin): if ( obj is None # Creating or obj.entity_has_public_address - or request.user.has_perm("contracts.view_confidential", obj) + or request.user.has_perm("contracts.view_confidential") ): entity_type_index = fields.index("entity_type") + 1 @@ -472,9 +472,7 @@ class SigneeAdmin(OwnPermissionsMixin, MarkdownxGuardedModelAdmin): "date_of_birth", ) - if obj is None or request.user.has_perm( # Allowed to create - "contracts.edit_signee", obj - ): + if obj is None or request.user.has_perm("contracts.edit_signee"): fields.insert(fields.index("ico_number"), "load_ares_data_button") return fields diff --git a/users/models.py b/users/models.py index 99f97b6a47a6759f990b35ec7ee6c51caf08895f..aa19469e93ee0a716fe8f6a06512c945cdced777 100644 --- a/users/models.py +++ b/users/models.py @@ -88,16 +88,12 @@ class User(pirates_models.AbstractUser): return f"{first_name}{self.last_name}" def get_all_permissions_ordered(self, obj=None) -> list: - #permissions_set = self.get_all_permissions(obj) - - #print(permissions_set) - if not self.is_superuser: permissions = ( Permission. objects. filter( - models.Q(content_type__name=self.groups.all()) | + models.Q(group__user=self) | models.Q(user=self) ). order_by("content_type__app_label").