From 6f20d0736df219bf8f92f516f784cf2e05e34f49 Mon Sep 17 00:00:00 2001
From: sandeepsajan0 <sandeepsajan0@gmail.com>
Date: Sun, 4 Sep 2022 16:11:27 +0530
Subject: [PATCH] remove paf from round base and make it optional

---
 hypha/apply/funds/admin_forms.py         | 12 ------------
 hypha/apply/funds/models/applications.py |  6 ------
 hypha/apply/funds/models/forms.py        | 10 ----------
 3 files changed, 28 deletions(-)

diff --git a/hypha/apply/funds/admin_forms.py b/hypha/apply/funds/admin_forms.py
index 5aed0cd54..cc3a7611e 100644
--- a/hypha/apply/funds/admin_forms.py
+++ b/hypha/apply/funds/admin_forms.py
@@ -16,7 +16,6 @@ class WorkflowFormAdminForm(WagtailAdminPageForm):
         review_forms = self.formsets['review_forms']
         external_review_forms = self.formsets['external_review_forms']
         determination_forms = self.formsets['determination_forms']
-        project_approval_forms = self.formsets['approval_forms']
         number_of_stages = len(workflow.stages)
 
         self.validate_application_forms(workflow, application_forms)
@@ -27,7 +26,6 @@ class WorkflowFormAdminForm(WagtailAdminPageForm):
         self.validate_stages_equal_forms(
             workflow, determination_forms, form_type="Determination form"
         )
-        self.validate_paf_form(project_approval_forms)
 
         return cleaned_data
 
@@ -58,16 +56,6 @@ class WorkflowFormAdminForm(WagtailAdminPageForm):
                     error_list,
                 )
 
-    def validate_paf_form(self, forms):
-        if forms.is_valid():
-            valid_forms = [form for form in forms if not form.cleaned_data['DELETE']]
-            number_of_forms = len(valid_forms)
-            if number_of_forms != 1:
-                self.add_error(
-                    None,
-                    "Please provide one Project Approval Form"
-                )
-
     def validate_stages_equal_forms(self, workflow, forms, form_type="form"):
         if forms.is_valid():
             valid_forms = [form for form in forms if not form.cleaned_data['DELETE']]
diff --git a/hypha/apply/funds/models/applications.py b/hypha/apply/funds/models/applications.py
index a025ddbed..faa225f14 100644
--- a/hypha/apply/funds/models/applications.py
+++ b/hypha/apply/funds/models/applications.py
@@ -191,11 +191,6 @@ class RoundBase(WorkflowStreamForm, SubmittableStreamForm):  # type: ignore
             heading=_('External Review Form')
         ),
         ReadOnlyInlinePanel('determination_forms', help_text=_('Copied from the fund.')),
-        ReadOnlyInlinePanel(
-            'approval_forms',
-            help_text=_('Copied from the fund.'),
-            heading=_('Project Approval Form')
-        ),
     ]
 
     edit_handler = TabbedInterface([
@@ -238,7 +233,6 @@ class RoundBase(WorkflowStreamForm, SubmittableStreamForm):  # type: ignore
             self._copy_forms('review_forms')
             self._copy_forms('external_review_forms')
             self._copy_forms('determination_forms')
-            self._copy_forms('approval_forms')
 
     def _copy_forms(self, field):
         for form in getattr(self.get_parent().specific, field).all():
diff --git a/hypha/apply/funds/models/forms.py b/hypha/apply/funds/models/forms.py
index 783e17045..2bafadc94 100644
--- a/hypha/apply/funds/models/forms.py
+++ b/hypha/apply/funds/models/forms.py
@@ -188,12 +188,6 @@ class AbstractRelatedProjectApprovalForm(Orderable):
 
     form = models.ForeignKey('application_projects.ProjectApprovalForm', on_delete=models.PROTECT)
 
-    panels = [
-        FilteredFieldPanel('form', filter_query={
-            'roundbaseprojectapprovalform__isnull': True,
-        })
-    ]
-
     @property
     def fields(self):
         return self.form.form_fields
@@ -221,9 +215,5 @@ class ApplicationBaseProjectApprovalForm(AbstractRelatedProjectApprovalForm):
     application = ParentalKey('ApplicationBase', related_name='approval_forms')
 
 
-class RoundBaseProjectApprovalForm(AbstractRelatedProjectApprovalForm):
-    round = ParentalKey('RoundBase', related_name='approval_forms')
-
-
 class LabBaseProjectApprovalForm(AbstractRelatedProjectApprovalForm):
     lab = ParentalKey('LabBase', related_name='approval_forms')
-- 
GitLab