From cd0dcafe4db0528b6ce1de1fbb90c77ca40ec153 Mon Sep 17 00:00:00 2001
From: Tobias Juelg <tobias@juelg.net>
Date: Sun, 15 Nov 2020 00:53:55 +0100
Subject: [PATCH] moved template variable description from view to form in add
 election (like we did for add session) and added table-responsive for
 template description

---
 management/forms.py                               | 10 ++++++++++
 management/templates/management/add_election.html |  4 ++--
 management/templates/management/add_session.html  |  2 +-
 management/views.py                               | 11 +----------
 4 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/management/forms.py b/management/forms.py
index 8637ddf..5ac48c8 100644
--- a/management/forms.py
+++ b/management/forms.py
@@ -178,6 +178,16 @@ class SessionSettingsForm(AddSessionForm):
 
 
 class AddElectionForm(forms.ModelForm, TemplateStringForm):
+    variables = {
+        "{name}": "Voter's name if set",
+        "{title}": "Session's title",
+        "{url}": "URL to the election",
+        "{end_time}": "End time if datetime is set",
+        "{end_date}": "End date if datetime is set",
+        "{end_time_en}": "End time in english format e.g. 02:23 PM",
+        "{end_date_en}": "End date in english format e.g. 12/12/2020",
+    }
+
     email = forms.EmailField(required=False, label="",
                              widget=forms.EmailInput(attrs={"class": "emailinput form-control",
                                                             "placeholder": "your@email.de"}))
diff --git a/management/templates/management/add_election.html b/management/templates/management/add_election.html
index c5b81ea..888df7e 100644
--- a/management/templates/management/add_election.html
+++ b/management/templates/management/add_election.html
@@ -33,7 +33,7 @@
                 {{ form.send_emails_on_start|as_crispy_field }}
                 <h5>Remind email template text</h5>
                 The template has be written the python format string format. The following variables are available:<br>
-                <table class="table">
+                <table class="table table-responsive">
                   <thead>
                   <tr>
                     <th scope="col">Name</th>
@@ -41,7 +41,7 @@
                   </tr>
                   </thead>
                   <tbody>
-                  {% for key, val in vars.items %}
+                  {% for key, val in variables.items %}
                     <tr>
                       <th scope="row" class="monospace">{{ key }}</th>
                       <td>{{ val }}</td>
diff --git a/management/templates/management/add_session.html b/management/templates/management/add_session.html
index 1442a63..a8daae3 100644
--- a/management/templates/management/add_session.html
+++ b/management/templates/management/add_session.html
@@ -27,7 +27,7 @@
               <div id="collapseOne" class="card-body collapse{% if form.invite_text.value %} show{% endif %}">
                 <h5>Invite email template text</h5>
                 The template has be written the python format string format. The following variables are available:<br>
-                <table class="table">
+                <table class="table table-responsive">
                   <thead>
                   <tr>
                     <th scope="col">Name</th>
diff --git a/management/views.py b/management/views.py
index 1bb1539..afbfe14 100644
--- a/management/views.py
+++ b/management/views.py
@@ -1,5 +1,4 @@
 import csv
-import json
 import logging
 import os
 from argparse import Namespace
@@ -135,19 +134,11 @@ def add_election(request, pk=None):
     session = manager.sessions.get(pk=pk)
     context = {
         'session': session,
-        'vars': {
-            "{name}": "Voter's name if set",
-            "{title}": "Session's title",
-            "{url}": "URL to the election",
-            "{end_time}": "End time if datetime is set",
-            "{end_date}": "End date if datetime is set",
-            "{end_time_en}": "End time in english format e.g. 02:23 PM",
-            "{end_date_en}": "End date in english format e.g. 12/12/2020",
-        }
     }
 
     form = AddElectionForm(session=session, request=request, user=manager, data=request.POST if request.POST else None)
     context['form'] = form
+    context['variables'] = form.variables
     if request.POST and form.is_valid():
         if request.POST.get("submit_type") == "test":
             messages.add_message(request, messages.INFO, 'Test email sent.')
-- 
GitLab