diff --git a/contracts/admin.py b/contracts/admin.py index eea3864b0644b8bbe15c1a2c671d614304cfdd0e..ee23c5dbde1911d2af4ba917ade6d7f0cffacd31 100644 --- a/contracts/admin.py +++ b/contracts/admin.py @@ -122,11 +122,14 @@ class ContractFileAdmin( class ParentContractInlineMixin: + def get_parent_object_is_editable(self, obj): + return obj.is_editable_without_approve_permission + def has_add_permission(self, request, obj=None): if ( obj is not None and not request.user.has_perm("contracts.edit_when_approved") - and not obj.is_editable_without_approve_permission + and not self.get_parent_object_is_editable() ): return False @@ -153,6 +156,9 @@ class ContracteeSignatureRepresentativeInline( extra = 1 formset = SingnatureRepresentativeFormSet + def get_parent_object_is_editable(self, obj): + return obj.contract.is_editable_without_approve_permission + def get_formset(self, request, obj=None, **kwargs): formset = super().get_formset(request, obj, **kwargs) formset.request = request @@ -170,6 +176,9 @@ class ContracteeSignatureInline(ParentContractInlineMixin, NestedStackedInline): class SigneeSignatureRepresentativeInline( ParentContractInlineMixin, NestedStackedInline ): + def get_parent_object_is_editable(self, obj): + return obj.contract.is_editable_without_approve_permission + model = SigneeSignatureRepresentative extra = 0