From fa88f70ceeb9baef36bf219b9f2a732be980a532 Mon Sep 17 00:00:00 2001 From: Marie PUPO JEAMMET Date: Wed, 6 Mar 2024 16:24:28 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(admin)=20prevent=20updating=20of?= =?UTF-8?q?=20invitations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Invitations cannot be updated for now. To reflect api behaviour, we disable update in django admin as well. --- src/backend/core/admin.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/backend/core/admin.py b/src/backend/core/admin.py index 566d728..e4c7fb0 100644 --- a/src/backend/core/admin.py +++ b/src/backend/core/admin.py @@ -145,6 +145,20 @@ class InvitationAdmin(admin.ModelAdmin): "is_expired", ) + def get_readonly_fields(self, request, obj=None): + if obj: + # all fields read only = disable update + return self.fields + return self.readonly_fields + + def change_view(self, request, object_id, form_url="", extra_context=None): + """Custom edit form. Remove 'save' buttons.""" + extra_context = extra_context or {} + extra_context["show_save_and_continue"] = False + extra_context["show_save"] = False + extra_context["show_save_and_add_another"] = False + return super().change_view(request, object_id, extra_context=extra_context) + def save_model(self, request, obj, form, change): obj.issuer = request.user obj.save()