diff --git a/finances/forms.py b/finances/forms.py index 309d50d231848d9f9a7a7796670ca0da571c3445..6f39d10e38b42c1f325cb8cf4df30f40d48c8d1d 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 238cf70a462860a5f598fee130ad4b748dcd49a5..f0cad9eebcb94ad458c0bfc2923ea4a3feb12c24 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 7a167e3d8268da9ea27afacc6814b4f97ba55945..e8a11c93262fd3a946ca40c8c83ce4130167df90 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 243d702356ecd0df1730237ab776ddddf9c4de6f..dd19ee96e037d62437157afd3b1331b0b8a06cf5 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 f8471a9e506870a5799c1c9ae4ccb84fb8f49051..426053bdbf06745a54c92377018b396d2b3e21fd 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):