From 15012f46463e5f425cacecdace8b69defa316b2a Mon Sep 17 00:00:00 2001 From: "J.-S. Caux" <J.S.Caux@uva.nl> Date: Wed, 20 Feb 2019 08:20:24 +0100 Subject: [PATCH] Improve SubsidyAttachment management --- finances/forms.py | 1 - finances/templates/finances/_subsidy_card.html | 5 +++++ finances/templates/finances/subsidy_list.html | 1 - finances/urls.py | 2 +- finances/views.py | 15 +++++++++++++-- 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/finances/forms.py b/finances/forms.py index 309d50d23..6f39d10e3 100644 --- a/finances/forms.py +++ b/finances/forms.py @@ -39,7 +39,6 @@ class SubsidyAttachmentForm(forms.ModelForm): ) - ############# # Work logs # ############# diff --git a/finances/templates/finances/_subsidy_card.html b/finances/templates/finances/_subsidy_card.html index 238cf70a4..f0cad9eeb 100644 --- a/finances/templates/finances/_subsidy_card.html +++ b/finances/templates/finances/_subsidy_card.html @@ -42,6 +42,11 @@ <div class="row"> <div class="col-12"> <h3>Attachments</h3> + {% if perms.scipost.can_manage_subsidies %} + <ul> + <li><a href="{% url 'finances:subsidyattachment_create' subsidy_id=subsidy.id %}">Add a SubsidyAttachment</a> to this Subsidy</li> + </ul> + {% endif %} <table class="table"> <tr> <th>File name</th> diff --git a/finances/templates/finances/subsidy_list.html b/finances/templates/finances/subsidy_list.html index 7a167e3d8..e8a11c932 100644 --- a/finances/templates/finances/subsidy_list.html +++ b/finances/templates/finances/subsidy_list.html @@ -29,7 +29,6 @@ $(document).ready(function($) { {% if perms.scipost.can_manage_subsidies %} <ul> <li><a href="{% url 'finances:subsidy_create' %}">Add a Subsidy</a></li> - <li><a href="{% url 'finances:subsidyattachment_create' %}">Add a SubsidyAttachment</a></li> </ul> {% endif %} </div> diff --git a/finances/urls.py b/finances/urls.py index 243d70235..dd19ee96e 100644 --- a/finances/urls.py +++ b/finances/urls.py @@ -20,7 +20,7 @@ urlpatterns = [ url(r'^subsidies/(?P<pk>[0-9]+)/$', views.SubsidyDetailView.as_view(), name='subsidy_details'), url(r'^subsidies/(?P<subsidy_id>[0-9]+)/attachments/(?P<attachment_id>[0-9]+)$', views.subsidy_attachment, name='subsidy_attachment'), - url(r'^subsidies/attachments/add/$', + url(r'^subsidies/(?P<subsidy_id>[0-9]+)/attachments/add/$', views.SubsidyAttachmentCreateView.as_view(), name='subsidyattachment_create'), url(r'^subsidies/attachments/(?P<pk>[0-9]+)/update/$', diff --git a/finances/views.py b/finances/views.py index f8471a9e5..426053bdb 100644 --- a/finances/views.py +++ b/finances/views.py @@ -89,7 +89,13 @@ class SubsidyAttachmentCreateView(PermissionsMixin, CreateView): model = SubsidyAttachment form_class = SubsidyAttachmentForm template_name = 'finances/subsidyattachment_form.html' - success_url = reverse_lazy('finances:subsidies') + + def get_success_url(self): + return reverse_lazy('finances:subsidy_details', kwargs={'pk': self.object.subsidy.id}) + + def get_initial(self): + subsidy = get_object_or_404(Subsidy, pk=self.kwargs.get('subsidy_id')) + return {'subsidy': subsidy} class SubsidyAttachmentUpdateView(PermissionsMixin, UpdateView): @@ -102,6 +108,9 @@ class SubsidyAttachmentUpdateView(PermissionsMixin, UpdateView): template_name = 'finances/subsidyattachment_form.html' success_url = reverse_lazy('finances:subsidies') + def get_success_url(self): + return reverse_lazy('finances:subsidy_details', kwargs={'pk': self.object.subsidy.id}) + class SubsidyAttachmentDeleteView(PermissionsMixin, DeleteView): """ @@ -109,7 +118,9 @@ class SubsidyAttachmentDeleteView(PermissionsMixin, DeleteView): """ permission_required = 'scipost.can_manage_subsidies' model = SubsidyAttachment - success_url = reverse_lazy('finances:subsidies') + + def get_success_url(self): + return reverse_lazy('finances:subsidy_details', kwargs={'pk': self.object.subsidy.id}) def subsidy_attachment(request, subsidy_id, attachment_id): -- GitLab