From 0cdee23b3079e34de81ec779525f9e5c71a53650 Mon Sep 17 00:00:00 2001 From: Vidir Valberg Gudmundsson Date: Tue, 22 Aug 2017 13:00:42 +0200 Subject: [PATCH] Very basic CSV "export" --- src/program/templates/control/index.html | 5 +++++ src/program/templates/control/proposal_overview.csv | 3 +++ src/program/views.py | 8 +++++++- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 src/program/templates/control/proposal_overview.csv diff --git a/src/program/templates/control/index.html b/src/program/templates/control/index.html index 36afce00..2fe7bbf5 100644 --- a/src/program/templates/control/index.html +++ b/src/program/templates/control/index.html @@ -39,4 +39,9 @@ +

CSV

+ + {% endblock %} diff --git a/src/program/templates/control/proposal_overview.csv b/src/program/templates/control/proposal_overview.csv new file mode 100644 index 00000000..6360828f --- /dev/null +++ b/src/program/templates/control/proposal_overview.csv @@ -0,0 +1,3 @@ +title,submitter email,status,instances,video recording +{% for proposal in proposals %}{{ proposal.title }},{{ proposal.user.email }},{{ proposal.proposal_status }},{% for instance in proposal.event.instances.all %}When: {{ instance.when.lower|date:"l d. b H:i" }} - {{ instance.when.upper|date:"H:i" }} Where: {{ instance.location.name }}{% endfor %},{{ proposal.event.video_recording }} +{% endfor %} diff --git a/src/program/views.py b/src/program/views.py index 44b34395..acb08112 100644 --- a/src/program/views.py +++ b/src/program/views.py @@ -13,6 +13,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib import messages from django.urls import reverse from django.db.models import Q +from django.template import Engine, Context import icalendar @@ -323,5 +324,10 @@ class ProgramControlCenter(CampViewMixin, TemplateView): camp=self.camp ).select_related('user', 'event') context['proposals'] = proposals - return context + engine = Engine.get_default() + template = engine.get_template('control/proposal_overview.csv') + csv = template.render(Context(context)) + context['csv'] = csv + + return context