From 16ea8e61e6db6dd848f55e9b987339402542717f Mon Sep 17 00:00:00 2001
From: Dan Braghis <dan.braghis@torchbox.com>
Date: Tue, 19 Jun 2018 14:42:33 +0100
Subject: [PATCH] Simplify URLs

---
 opentech/apply/determinations/tests/test_views.py        | 2 +-
 opentech/apply/determinations/urls.py                    | 4 ++--
 opentech/apply/determinations/views.py                   | 9 ++++++---
 .../templates/funds/applicationsubmission_detail.html    | 2 +-
 4 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/opentech/apply/determinations/tests/test_views.py b/opentech/apply/determinations/tests/test_views.py
index 7535f13e1..7840bb015 100644
--- a/opentech/apply/determinations/tests/test_views.py
+++ b/opentech/apply/determinations/tests/test_views.py
@@ -36,7 +36,7 @@ class StaffDeterminationsTestCase(BaseTestCase):
     url_name = 'funds:submissions:determinations:{}'
 
     def get_kwargs(self, instance):
-        return {'pk': instance.id, 'submission_pk': instance.submission.id}
+        return {'submission_pk': instance.submission.id}
 
     def test_can_access_determination(self):
         submission = ApplicationSubmissionFactory(status='in_discussion')
diff --git a/opentech/apply/determinations/urls.py b/opentech/apply/determinations/urls.py
index c2729057f..532222e67 100644
--- a/opentech/apply/determinations/urls.py
+++ b/opentech/apply/determinations/urls.py
@@ -5,6 +5,6 @@ from .views import DeterminationCreateOrUpdateView, DeterminationDetailView
 app_name = 'determinations'
 
 urlpatterns = [
-    path('determination/', DeterminationCreateOrUpdateView.as_view(), name="form"),
-    path('determination/<int:pk>', DeterminationDetailView.as_view(), name="detail"),
+    path('determination/', DeterminationDetailView.as_view(), name="detail"),
+    path('determination/create', DeterminationCreateOrUpdateView.as_view(), name="form"),
 ]
diff --git a/opentech/apply/determinations/views.py b/opentech/apply/determinations/views.py
index b108b39fb..350ea62a5 100644
--- a/opentech/apply/determinations/views.py
+++ b/opentech/apply/determinations/views.py
@@ -45,7 +45,7 @@ class DeterminationCreateOrUpdateView(CreateOrUpdateView):
     template_name = 'determinations/determination_form.html'
 
     def get_object(self, queryset=None):
-        return self.model.objects.get(submission=self.submission, author=self.request.user)
+        return self.model.objects.get(submission=self.submission)
 
     def dispatch(self, request, *args, **kwargs):
         self.submission = get_object_or_404(ApplicationSubmission, id=self.kwargs['submission_pk'])
@@ -101,16 +101,19 @@ class DeterminationCreateOrUpdateView(CreateOrUpdateView):
 class DeterminationDetailView(DetailView):
     model = Determination
 
+    def get_object(self, queryset=None):
+        return self.model.objects.get(submission=self.submission)
+
     def dispatch(self, request, *args, **kwargs):
+        self.submission = get_object_or_404(ApplicationSubmission, id=self.kwargs['submission_pk'])
         determination = self.get_object()
-        submission = determination.submission
 
         if request.user != submission.user and request.user != submission.lead \
                 and not request.user.is_apply_staff and not request.user.is_superuser:
             raise PermissionDenied
 
         if determination.is_draft:
-            return HttpResponseRedirect(reverse_lazy('apply:submissions:determinations:form', args=(submission.id,)))
+            return HttpResponseRedirect(reverse_lazy('apply:submissions:determinations:form', args=(self.submission.id,)))
 
         return super().dispatch(request, *args, **kwargs)
 
diff --git a/opentech/apply/funds/templates/funds/applicationsubmission_detail.html b/opentech/apply/funds/templates/funds/applicationsubmission_detail.html
index c41ca5a8d..9c9041fa5 100644
--- a/opentech/apply/funds/templates/funds/applicationsubmission_detail.html
+++ b/opentech/apply/funds/templates/funds/applicationsubmission_detail.html
@@ -95,7 +95,7 @@
                             {% if object|pending_determination:request.user %}
                                 <p>Pending</p>
                             {% else %}
-                                <a href="{% url 'apply:submissions:determinations:detail' pk=object.determination.id submission_pk=object.id %}">{{ object.determination.get_outcome_display }}</a>
+                                <a href="{% url 'apply:submissions:determinations:detail' submission_pk=object.id %}">{{ object.determination.get_outcome_display }}</a>
                                 {{ object.determination.updated_at|date:"Y-m-d" }} by {{ object.determination.author }}
                             {% endif %}
                         {% endif %}
-- 
GitLab