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