From d80ad10c535d268262c5d83c860e224b75ce6e72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org> Date: Tue, 28 Mar 2023 15:14:11 +0200 Subject: [PATCH] fix OwnPermissionsMixin save_model method --- contracts/admin.py | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/contracts/admin.py b/contracts/admin.py index 6f56ad0..c12e828 100644 --- a/contracts/admin.py +++ b/contracts/admin.py @@ -71,21 +71,18 @@ def permissions_mixin_factory( get_obj_contract = lambda obj: obj.contract -OwnPermissionsMixin = permissions_mixin_factory( - "contracts.edit_others", - "contracts.delete_others", - lambda request, obj: obj.created_by != request.user, -) - - -def own_permissions_mixin_save_model(self, request, obj, form, change): - if obj.created_by is None: - obj.created_by = request.user - - return super().save_model(request, obj, form, change) - +class OwnPermissionsMixin( + permissions_mixin_factory( + "contracts.edit_others", + "contracts.delete_others", + lambda request, obj: obj.created_by != request.user, + ) +): + def own_permissions_mixin_save_model(self, request, obj, form, change): + if obj.created_by is None: + obj.created_by = request.user -OwnPermissionsMixin.save_model = own_permissions_mixin_save_model + return super().save_model(request, obj, form, change) ParentContractApprovedPermissionsMixin = permissions_mixin_factory( -- GitLab