From bd907f6b18b690ec75c07d563973a3be5977bc96 Mon Sep 17 00:00:00 2001 From: Vaibhav Mule <vaibhavmule135@gmail.com> Date: Sat, 2 May 2020 19:07:21 +0530 Subject: [PATCH] allow staff to delete appliation forms --- hypha/apply/funds/admin.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/hypha/apply/funds/admin.py b/hypha/apply/funds/admin.py index 53b97773f..91d7bc8b3 100644 --- a/hypha/apply/funds/admin.py +++ b/hypha/apply/funds/admin.py @@ -130,9 +130,18 @@ class ReviewerRoleAdmin(ModelAdmin): menu_label = 'Reviewer Roles' -class NoDeletePermission(PermissionHelper): +class DeletePermission(PermissionHelper, ListRelatedMixin): + + related_models = [ + ('applicationbaseform', 'application'), + ('roundbaseform', 'round'), + ('labbaseform', 'lab'), + ] + def user_can_delete_obj(self, user, obj): - return False + if str(self.used_by(obj)): + return False + return True class ApplicationFormAdmin(ListRelatedMixin, ModelAdmin): @@ -140,7 +149,7 @@ class ApplicationFormAdmin(ListRelatedMixin, ModelAdmin): menu_icon = 'form' list_display = ('name', 'used_by') list_filter = (FormsFundRoundListFilter,) - permission_helper_class = NoDeletePermission + permission_helper_class = DeletePermission button_helper_class = ApplicationFormButtonHelper related_models = [ -- GitLab