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