diff --git a/finances/forms.py b/finances/forms.py index 70ac25a2403ded67c2bf578f9a6ddfac084272a6..7786bd89458bedb323c6ea652bec3695e2807994 100644 --- a/finances/forms.py +++ b/finances/forms.py @@ -21,7 +21,8 @@ class SubsidyForm(forms.ModelForm): class Meta: model = Subsidy fields = ['organization', 'subsidy_type', 'description', - 'amount', 'status', 'date', 'date_until'] + 'amount', 'amount_publicly_shown', 'status', + 'date', 'date_until'] class WorkLogForm(forms.ModelForm): diff --git a/finances/migrations/0008_subsidy_amount_publicly_shown.py b/finances/migrations/0008_subsidy_amount_publicly_shown.py new file mode 100644 index 0000000000000000000000000000000000000000..a13a33679406ab10f42df221e704daceb873a97d --- /dev/null +++ b/finances/migrations/0008_subsidy_amount_publicly_shown.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.4 on 2018-12-05 18:07 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('finances', '0007_auto_20181011_2146'), + ] + + operations = [ + migrations.AddField( + model_name='subsidy', + name='amount_publicly_shown', + field=models.BooleanField(default=True), + ), + ] diff --git a/finances/models.py b/finances/models.py index f7755ead7f9b6847b1d0850c04e09b4350f2c177..c6cd606061aaea986ef4d3f6a1289b954e0f92d8 100644 --- a/finances/models.py +++ b/finances/models.py @@ -36,6 +36,7 @@ class Subsidy(models.Model): subsidy_type = models.CharField(max_length=256, choices=SUBSIDY_TYPES) description = models.TextField() amount = models.PositiveIntegerField(help_text="in € (rounded)") + amount_publicly_shown = models.BooleanField(default=True) status = models.CharField(max_length=32, choices=SUBSIDY_STATUS) date = models.DateField() date_until = models.DateField(blank=True, null=True) diff --git a/finances/templates/finances/_subsidy_card.html b/finances/templates/finances/_subsidy_card.html index 21b131fbcf2842fff593aff21bbf1acfdf09b32f..e7168adcd386d086873b36df8789e6ba30579b51 100644 --- a/finances/templates/finances/_subsidy_card.html +++ b/finances/templates/finances/_subsidy_card.html @@ -25,7 +25,7 @@ <td>Description:</td><td>{{ subsidy.description }}</td> </tr> <tr> - <td>Amount:</td><td>€{{ subsidy.amount }}</td> + <td>Amount:</td><td>{% if subsidy.amount_publicly_shown or perms.scipost.can_manage_subsidies %}€{{ subsidy.amount }}{% else %}-{% endif %}</td> </tr> <tr> <td>Date:</td><td>{{ subsidy.date }}</td> diff --git a/finances/templates/finances/subsidy_list.html b/finances/templates/finances/subsidy_list.html index 6fcbb6e749c6b56226cbf08ebe262029c2ffc6db..e8a11c93262fd3a946ca40c8c83ce4130167df90 100644 --- a/finances/templates/finances/subsidy_list.html +++ b/finances/templates/finances/subsidy_list.html @@ -72,7 +72,7 @@ $(document).ready(function($) { <tr class="table-row" data-href="{% url 'finances:subsidy_details' pk=subsidy.id %}" style="cursor: pointer;"> <td>{{ subsidy.organization }}</td> <td>{{ subsidy.get_subsidy_type_display }}</td> - <td>€{{ subsidy.amount }}</td> + <td>{% if subsidy.amount_publicly_shown or perms.scipost.can_manage_subsidies %}€{{ subsidy.amount }}{% else %}-{% endif %}</td> <td>{{ subsidy.date }}</td> </tr> {% empty %} diff --git a/finances/views.py b/finances/views.py index 8c574883ae90c3543466ead6a26075cce8a79bab..6b43fd16b8e712e3d4cf69dc46138ebcd84c447f 100644 --- a/finances/views.py +++ b/finances/views.py @@ -66,7 +66,7 @@ class SubsidyListView(ListView): order_by = self.request.GET.get('order_by') ordering = self.request.GET.get('ordering') if order_by == 'amount': - qs = qs.order_by('amount') + qs = qs.filter(amount_publicly_shown=True).order_by('amount') elif order_by == 'date': qs = qs.order_by('date') if ordering == 'desc':