diff --git a/selfserv/settings.example.py b/selfserv/settings.example.py index 815e450..61cf2be 100644 --- a/selfserv/settings.example.py +++ b/selfserv/settings.example.py @@ -33,6 +33,11 @@ PROMO_LOGO_URL = 'https://placehold.it/2000x500' PROMO_LOGO_LINK = 'https://example.com' PROMO_GROUPS_MANDATORY = ['All Years'] +AVAILABLE_APPROVERS = [ + # Tuples (committee name, description) + ('Committee', 'Management Committee'), +] + TICKETING_FEE_PROPORTION = 0.0175 # Previous default was (1-1/1.01884) TICKETING_FEE_FIXED = 0.30 # Previous default was 0.8133/1.01884 diff --git a/sstreasury/jinja2/sstreasury/budget_edit.html b/sstreasury/jinja2/sstreasury/budget_edit.html index cc3a8dd..2a87852 100644 --- a/sstreasury/jinja2/sstreasury/budget_edit.html +++ b/sstreasury/jinja2/sstreasury/budget_edit.html @@ -2,7 +2,8 @@ {# Society Self-Service - Copyright © 2018-2019 Yingtong Li (RunasSudo) + Copyright © 2018-2023 Yingtong Li (RunasSudo) + Copyright © 2023 MUMUS Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by @@ -78,6 +79,16 @@ +
+ +
+ +
+
@@ -139,6 +150,14 @@ + + {% endblock %} {% block script %} @@ -175,6 +194,7 @@ } } }); + $('.ui.dropdown').dropdown(); $('#expense_no_emergency_fund').change(function() { if ($('#expense_no_emergency_fund').prop('checked')) { diff --git a/sstreasury/jinja2/sstreasury/budget_view.html b/sstreasury/jinja2/sstreasury/budget_view.html index 3d9d083..9abb4ff 100644 --- a/sstreasury/jinja2/sstreasury/budget_view.html +++ b/sstreasury/jinja2/sstreasury/budget_view.html @@ -113,6 +113,10 @@
+ + Responsible committee + {{ dict(settings.AVAILABLE_APPROVERS)[revision.approver] }} + Comments {{ revision.comments|markdown }} diff --git a/sstreasury/models.py b/sstreasury/models.py index 96de61b..33b499b 100644 --- a/sstreasury/models.py +++ b/sstreasury/models.py @@ -66,6 +66,7 @@ class BudgetRevision(models.Model): author = models.ForeignKey(User, on_delete=models.PROTECT, related_name='+') time = models.DateTimeField() + approver = models.CharField(max_length=100) event_dt = models.DateTimeField(null=True) event_attendees = models.CharField(max_length=20, null=True) diff --git a/sstreasury/views.py b/sstreasury/views.py index 98efecb..23e6697 100644 --- a/sstreasury/views.py +++ b/sstreasury/views.py @@ -148,6 +148,11 @@ def revision_from_form(budget, revision, form): else: contributors = [] + if form['approver'] in dict(settings.AVAILABLE_APPROVERS): + revision.approver = form['approver'] + else: + errors.append('Responsible committee is invalid') + revision.comments = form['comments'] revision.revenue = json.loads(form['revenue']) revision.revenue_comments = form['revenue_comments']