From 858eb0564feb6a44c4414fe38875a2682de5cf6b Mon Sep 17 00:00:00 2001 From: Yingtong Li Date: Fri, 17 Jan 2020 21:12:07 +1100 Subject: [PATCH] Add event details fields to budget model/interface --- sstreasury/jinja2/sstreasury/budget_edit.html | 30 +++++++++++++++++++ .../jinja2/sstreasury/budget_print.html | 8 +++++ sstreasury/jinja2/sstreasury/budget_view.html | 8 +++++ sstreasury/models.py | 3 ++ sstreasury/views.py | 3 ++ 5 files changed, 52 insertions(+) diff --git a/sstreasury/jinja2/sstreasury/budget_edit.html b/sstreasury/jinja2/sstreasury/budget_edit.html index ce28be1..5716ab3 100644 --- a/sstreasury/jinja2/sstreasury/budget_edit.html +++ b/sstreasury/jinja2/sstreasury/budget_edit.html @@ -43,6 +43,25 @@ +
+ +
+ Date/time +
+
+ + + + + + +
+
+
+
+
Estimated no. of attendees
+ +
@@ -133,6 +152,17 @@ } } }); + $('#cal_event_dt').calendar({ + type: 'datetime', + formatter: { + date: function(date, settings) { + return date.getFullYear() + '-' + leftpad(date.getMonth() + 1) + '-' + leftpad(date.getDate()); + }, + time: function(date, settings, forCalendar) { + return leftpad(date.getHours()) + ':' + leftpad(date.getMinutes()); + } + } + }); $('#expense_no_emergency_fund').change(function() { if ($('#expense_no_emergency_fund').prop('checked')) { diff --git a/sstreasury/jinja2/sstreasury/budget_print.html b/sstreasury/jinja2/sstreasury/budget_print.html index 5f919c8..07ea047 100644 --- a/sstreasury/jinja2/sstreasury/budget_print.html +++ b/sstreasury/jinja2/sstreasury/budget_print.html @@ -45,6 +45,14 @@ Due date {{ revision.date or '' }} + + Event details + + {% if revision.event_dt %}{{ localtime(revision.event_dt) }}.{% endif %} + {% if revision.event_attendees %}{{ revision.event_attendees }} attendees.{% endif %} + {% if not revision.event_dt and not revision.event_attendees %}N/A{% endif %} + + Contributors diff --git a/sstreasury/jinja2/sstreasury/budget_view.html b/sstreasury/jinja2/sstreasury/budget_view.html index ce76ad2..d45dbfe 100644 --- a/sstreasury/jinja2/sstreasury/budget_view.html +++ b/sstreasury/jinja2/sstreasury/budget_view.html @@ -81,6 +81,14 @@ Due date {{ revision.date or '' }} + + Event details + + {% if revision.event_dt %}{{ localtime(revision.event_dt) }}.{% endif %} + {% if revision.event_attendees %}{{ revision.event_attendees }} attendees.{% endif %} + {% if not revision.event_dt and not revision.event_attendees %}N/A{% endif %} + + Contributors diff --git a/sstreasury/models.py b/sstreasury/models.py index a633eef..9c6e4db 100644 --- a/sstreasury/models.py +++ b/sstreasury/models.py @@ -65,6 +65,9 @@ class BudgetRevision(models.Model): author = models.ForeignKey(User, on_delete=models.PROTECT, related_name='+') time = models.DateTimeField() + event_dt = models.DateTimeField(null=True) + event_attendees = models.IntegerField(null=True) + state = models.IntegerField(choices=[(v.value, v.description) for v in BudgetState]) revenue = JSONField(default=[]) diff --git a/sstreasury/views.py b/sstreasury/views.py index 6f30825..ab82b6d 100644 --- a/sstreasury/views.py +++ b/sstreasury/views.py @@ -93,6 +93,9 @@ def revision_from_form(budget, revision, form): revision.name = form['name'] revision.date = form['date'] if form['date'] else None + revision.event_dt = form['event_dt'] if form['event_dt'] else None + revision.event_attendees = form['event_attendees'] if form['event_attendees'] else None + revision.comments = form['comments'] revision.revenue = json.loads(form['revenue']) revision.revenue_comments = form['revenue_comments']