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']