From bc1946c565775ad7c8b3bed922be7579443a0803 Mon Sep 17 00:00:00 2001
From: Parbhat Puri <parbhatpuri17@gmail.com>
Date: Wed, 14 Aug 2019 11:56:49 +0000
Subject: [PATCH] GH-717: Show proposal form field at top

---
 opentech/apply/determinations/forms.py     | 1 +
 opentech/apply/funds/models/submissions.py | 2 +-
 opentech/apply/funds/models/utils.py       | 4 ++--
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/opentech/apply/determinations/forms.py b/opentech/apply/determinations/forms.py
index f706486ee..f8ae281c9 100644
--- a/opentech/apply/determinations/forms.py
+++ b/opentech/apply/determinations/forms.py
@@ -363,6 +363,7 @@ class ConceptDeterminationForm(BaseConceptDeterminationForm, BaseNormalDetermina
                     help_text='Select the proposal form to use for proposal stage.',
                 )
                 self.fields['proposal_form'].group = 1
+                self.fields.move_to_end('proposal_form', last=False)
 
 
 class ProposalDeterminationForm(BaseProposalDeterminationForm, BaseNormalDeterminationForm):
diff --git a/opentech/apply/funds/models/submissions.py b/opentech/apply/funds/models/submissions.py
index 7087194a0..a932968d7 100644
--- a/opentech/apply/funds/models/submissions.py
+++ b/opentech/apply/funds/models/submissions.py
@@ -515,7 +515,7 @@ class ApplicationSubmission(
         self.id = None
         proposal_form = kwargs.get('proposal_form')
         proposal_form = int(proposal_form) if proposal_form else 0
-        self.form_fields = self.get_from_parent('get_defined_fields')(target, proposal_form)
+        self.form_fields = self.get_from_parent('get_defined_fields')(target, form_index=proposal_form)
 
         self.live_revision = None
         self.draft_revision = None
diff --git a/opentech/apply/funds/models/utils.py b/opentech/apply/funds/models/utils.py
index 2d32775f0..c5131399e 100644
--- a/opentech/apply/funds/models/utils.py
+++ b/opentech/apply/funds/models/utils.py
@@ -83,12 +83,12 @@ class WorkflowStreamForm(WorkflowHelpers, AbstractStreamForm):  # type: ignore
     class Meta:
         abstract = True
 
-    def get_defined_fields(self, stage=None, proposal_form=0):
+    def get_defined_fields(self, stage=None, form_index=0):
         if not stage:
             stage_num = 1
         else:
             stage_num = self.workflow.stages.index(stage) + 1
-        return self.forms.filter(stage=stage_num)[proposal_form].fields
+        return self.forms.filter(stage=stage_num)[form_index].fields
 
     def render_landing_page(self, request, form_submission=None, *args, **kwargs):
         # We only reach this page after creation of a new submission
-- 
GitLab