diff --git a/opentech/apply/determinations/forms.py b/opentech/apply/determinations/forms.py index 2ee93b73eb7e475ee3bd2234aa2ad87e2a4f2b4a..01db2f371e47e5a81ba682d7ea6d1e7feb6d7df5 100644 --- a/opentech/apply/determinations/forms.py +++ b/opentech/apply/determinations/forms.py @@ -67,8 +67,12 @@ class BaseDeterminationForm(forms.ModelForm): cleaned_data = super().clean() if self.draft_button_name not in self.data: - action_name = self.request.GET.get('action') or \ - self.get_action_name_from_determination(int(cleaned_data['outcome'])) + try: + outcome = int(cleaned_data['outcome']) + except KeyError: + outcome = -1 + + action_name = self.request.GET.get('action') or self.get_action_name_from_determination(outcome) if action_name: transition = self.submission.get_transition(action_name) if not can_proceed(transition): diff --git a/opentech/apply/determinations/tests/test_views.py b/opentech/apply/determinations/tests/test_views.py index 7840bb015b53e2298ae0cd700d4f0f16de3b90e1..727858ccb892715e9496843658961f947b532c90 100644 --- a/opentech/apply/determinations/tests/test_views.py +++ b/opentech/apply/determinations/tests/test_views.py @@ -45,7 +45,16 @@ class StaffDeterminationsTestCase(BaseTestCase): self.assertContains(response, determination.submission.title) self.assertContains(response, self.user.full_name) self.assertContains(response, reverse('funds:submissions:detail', kwargs={'pk': submission.id})) + self.assertFalse(response.context['can_view_extended_data']) + def test_lead_can_access_determination(self): + submission = ApplicationSubmissionFactory(status='in_discussion', lead=self.user) + determination = DeterminationFactory(submission=submission, author=self.user, not_draft=True) + response = self.get_page(determination) + self.assertContains(response, determination.submission.title) + self.assertContains(response, self.user.full_name) + self.assertContains(response, reverse('funds:submissions:detail', kwargs={'pk': submission.id})) + self.assertTrue(response.context['can_view_extended_data']) class DeterminationFormTestCase(BaseTestCase): user_factory = StaffFactory