SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit bdad5855 authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Add method to toggle Subsidy amount public visibility

parent ca999e63
No related branches found
No related tags found
No related merge requests found
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<td>Description:</td><td>{{ subsidy.description }}</td> <td>Description:</td><td>{{ subsidy.description }}</td>
</tr> </tr>
<tr> <tr>
<td>Amount:</td><td>{% if subsidy.amount_publicly_shown or perms.scipost.can_manage_subsidies %}&euro;{{ subsidy.amount }}{% else %}-{% endif %}{% if perms.scipost.can_manage_subsidies or "can_view_org_contacts" in user_org_perms %} <span class="text-muted">[publicly {% if subsidy.amount_publicly_shown %}visible{% else %}invisible{% endif %}]</span>{% endif %}</td> <td>Amount:</td><td>{% if subsidy.amount_publicly_shown or perms.scipost.can_manage_subsidies or "can_view_org_contacts" in user_org_perms %}&euro;{{ subsidy.amount }}{% else %}-{% endif %}{% if perms.scipost.can_manage_subsidies or "can_view_org_contacts" in user_org_perms %} {% if subsidy.amount_publicly_shown %}<span class="text-success">publicly visible</span>{% else %}<span class="text-danger">publicly invisible</span>{% endif %}&nbsp;&nbsp;<a href="{% url 'finances:subsidy_toggle_amount_public_visibility' subsidy_id=subsidy.id %}" class="small">Make it {% if subsidy.amount_publicly_shown %}in{% endif %}visible</a>{% endif %}</td>
</tr> </tr>
<tr> <tr>
<td>Date:</td><td>{{ subsidy.date }}</td> <td>Date:</td><td>{{ subsidy.date }}</td>
......
...@@ -18,6 +18,9 @@ urlpatterns = [ ...@@ -18,6 +18,9 @@ urlpatterns = [
url(r'^subsidies/(?P<pk>[0-9]+)/delete/$', views.SubsidyDeleteView.as_view(), url(r'^subsidies/(?P<pk>[0-9]+)/delete/$', views.SubsidyDeleteView.as_view(),
name='subsidy_delete'), name='subsidy_delete'),
url(r'^subsidies/(?P<pk>[0-9]+)/$', views.SubsidyDetailView.as_view(), name='subsidy_details'), url(r'^subsidies/(?P<pk>[0-9]+)/$', views.SubsidyDetailView.as_view(), name='subsidy_details'),
url(r'^subsidies/(?P<subsidy_id>[0-9]+)/toggle_amount_visibility/$',
views.subsidy_toggle_amount_public_visibility,
name='subsidy_toggle_amount_public_visibility'),
url(r'^subsidies/(?P<subsidy_id>[0-9]+)/attachments/add/$', url(r'^subsidies/(?P<subsidy_id>[0-9]+)/attachments/add/$',
views.SubsidyAttachmentCreateView.as_view(), views.SubsidyAttachmentCreateView.as_view(),
name='subsidyattachment_create'), name='subsidyattachment_create'),
......
...@@ -88,6 +88,21 @@ class SubsidyDetailView(DetailView): ...@@ -88,6 +88,21 @@ class SubsidyDetailView(DetailView):
model = Subsidy model = Subsidy
def subsidy_toggle_amount_public_visibility(request, subsidy_id):
"""
Method to toggle the public visibility of the amount of a Subsidy.
Callable by Admin and Contacts for the relevant Organization.
"""
subsidy = get_object_or_404(Subsidy, pk=subsidy_id)
if not (request.user.has_perm('scipost.can_manage_subsidies') or
request.user.has_perm('can_view_org_contacts', subsidy.organization)):
raise PermissionDenied
subsidy.amount_publicly_shown = not subsidy.amount_publicly_shown
subsidy.save()
messages.success(request, 'Amount visibility set to %s' % subsidy.amount_publicly_shown)
return redirect(subsidy.get_absolute_url())
class SubsidyAttachmentCreateView(PermissionsMixin, CreateView): class SubsidyAttachmentCreateView(PermissionsMixin, CreateView):
""" """
Create a new SubsidyAttachment. Create a new SubsidyAttachment.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment