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