Reordered config tab subpages.

This commit is contained in:
Emanuel Schuetze 2011-11-14 23:40:19 +01:00
parent 49d2b57a66
commit c88ff41805
12 changed files with 232 additions and 116 deletions

View File

@ -51,7 +51,7 @@
<!-- countdown --> <!-- countdown -->
<input type="checkbox" name="countdown" onchange="document.location='{% if countdown_visible == "True" %}{% url countdown_close %}{% else %}{% url countdown_open %}{% endif %}'" <input type="checkbox" name="countdown" onchange="document.location='{% if countdown_visible == "True" %}{% url countdown_close %}{% else %}{% url countdown_open %}{% endif %}'"
{% if countdown_visible == "True" %}checked{% endif %}> {% if countdown_visible == "True" %}checked{% endif %}>
{% trans "Countdown" %} (<a href="{% url config_general %}">{{countdown_time}}{% trans "sec" %}</a>){% if countdown_visible == "True" %}: {% trans "Countdown" %} (<a href="{% url config_agenda %}">{{countdown_time}}{% trans "sec" %}</a>){% if countdown_visible == "True" %}:
<a class="beamer_countdown" href="{% url countdown_reset countdown_time %}" title="{% trans 'Reset countdown' %}"><img src="/static/images/icons/media-skip-backward.png"></a> <a class="beamer_countdown" href="{% url countdown_reset countdown_time %}" title="{% trans 'Reset countdown' %}"><img src="/static/images/icons/media-skip-backward.png"></a>
<a class="beamer_countdown" href="{% url countdown_start %}" title="{% trans 'Start countdown' %}"><img src="/static/images/icons/media-playback-start.png"></a> <a class="beamer_countdown" href="{% url countdown_start %}" title="{% trans 'Start countdown' %}"><img src="/static/images/icons/media-playback-start.png"></a>
<a class="beamer_countdown" href="{% url countdown_stop %}" title="{% trans 'Stop countdown' %}"><img src="/static/images/icons/media-playback-pause.png"></a> <a class="beamer_countdown" href="{% url countdown_stop %}" title="{% trans 'Stop countdown' %}"><img src="/static/images/icons/media-playback-pause.png"></a>

View File

@ -2,7 +2,7 @@
{% block title %}{{ block.super }} - {%trans "Import applications" %} {% endblock %} {% block title %}{{ block.super }} - {%trans "Import applications" %} {% endblock %}
{% block content %} {% block content %}
<h1>Import</h1> <h1>{%trans "Import applications" %}</h1>
<p>{% trans 'Select a CSV file to import applications!' %}</p> <p>{% trans 'Select a CSV file to import applications!' %}</p>
<p>{% trans '(Required comma separated values: <code>number, title, text, reason, first_name, last_name</code> - <code>number</code> and <code>reason</code> are optional and may be empty)' %} </p> <p>{% trans '(Required comma separated values: <code>number, title, text, reason, first_name, last_name</code> - <code>number</code> and <code>reason</code> are optional and may be empty)' %} </p>

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-11-14 22:57+0100\n" "POT-Creation-Date: 2011-11-14 23:35+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -95,8 +95,8 @@ msgstr "Text"
#: application/templates/application/edit.html:2 #: application/templates/application/edit.html:2
#: application/templates/application/view.html:2 #: application/templates/application/view.html:2
#: application/templates/application/view.html:220 poll/models.py:23 #: application/templates/application/view.html:220 poll/models.py:23
#: poll/models.py:138 system/templates/system/general.html:18 utils/pdf.py:458 #: poll/models.py:138 system/templates/system/base_system.html:14
#: utils/pdf.py:470 #: utils/pdf.py:458 utils/pdf.py:470
msgid "Application" msgid "Application"
msgstr "Antrag" msgstr "Antrag"
@ -104,7 +104,8 @@ msgstr "Antrag"
#: agenda/templates/agenda/overview.html:231 #: agenda/templates/agenda/overview.html:231
#: agenda/templates/beamer/ItemAssignment.html:8 #: agenda/templates/beamer/ItemAssignment.html:8
#: assignment/templates/assignment/edit.html:2 poll/models.py:24 #: assignment/templates/assignment/edit.html:2 poll/models.py:24
#: utils/pdf.py:534 utils/pdf.py:675 utils/pdf.py:684 #: system/templates/system/base_system.html:15 utils/pdf.py:534
#: utils/pdf.py:675 utils/pdf.py:684
msgid "Election" msgid "Election"
msgstr "Wahl" msgstr "Wahl"
@ -119,7 +120,7 @@ msgstr "Abstimmung"
#: agenda/templates/agenda/overview.html:96 #: agenda/templates/agenda/overview.html:96
#: agenda/templates/beamer/overview.html:3 #: agenda/templates/beamer/overview.html:3
#: agenda/templates/beamer/overview.html:10 #: agenda/templates/beamer/overview.html:10
#: system/templates/system/general.html:13 templates/base.html:37 #: system/templates/system/base_system.html:13 templates/base.html:37
#: utils/pdf.py:227 utils/pdf.py:232 #: utils/pdf.py:227 utils/pdf.py:232
msgid "Agenda" msgid "Agenda"
msgstr "Tagesordnung" msgstr "Tagesordnung"
@ -147,7 +148,8 @@ msgstr "Tagesordnungseintrag geändert"
#: agenda/views.py:283 application/views.py:531 participant/views.py:145 #: agenda/views.py:283 application/views.py:531 participant/views.py:145
#: participant/views.py:256 participant/views.py:285 participant/views.py:346 #: participant/views.py:256 participant/views.py:285 participant/views.py:346
#: system/views.py:49 system/views.py:92 #: system/views.py:37 system/views.py:55 system/views.py:79
#: system/views.py:105 system/views.py:143
msgid "Please check the form for errors." msgid "Please check the form for errors."
msgstr "Bitte kontrollieren Sie das Formular nach Fehlern." msgstr "Bitte kontrollieren Sie das Formular nach Fehlern."
@ -209,7 +211,10 @@ msgstr "Wahleintrag"
#: participant/templates/participant/edit.html:18 #: participant/templates/participant/edit.html:18
#: participant/templates/participant/group_edit.html:14 #: participant/templates/participant/group_edit.html:14
#: participant/templates/participant/settings.html:15 #: participant/templates/participant/settings.html:15
#: system/templates/system/general.html:28 #: system/templates/system/agenda.html:10
#: system/templates/system/application.html:10
#: system/templates/system/assignment.html:10
#: system/templates/system/general.html:10
#: system/templates/system/system.html:11 #: system/templates/system/system.html:11
msgid "Save" msgid "Save"
msgstr "Speichern" msgstr "Speichern"
@ -235,7 +240,10 @@ msgstr "Übernehmen"
#: participant/templates/participant/group_edit.html:21 #: participant/templates/participant/group_edit.html:21
#: participant/templates/participant/import.html:16 #: participant/templates/participant/import.html:16
#: participant/templates/participant/settings.html:19 #: participant/templates/participant/settings.html:19
#: system/templates/system/general.html:32 #: system/templates/system/agenda.html:14
#: system/templates/system/application.html:14
#: system/templates/system/assignment.html:14
#: system/templates/system/general.html:14
#: system/templates/system/system.html:15 #: system/templates/system/system.html:15
msgid "Cancel" msgid "Cancel"
msgstr "Abbrechen" msgstr "Abbrechen"
@ -800,6 +808,7 @@ msgstr "Neuer Antrag"
#: application/templates/application/base_application.html:13 #: application/templates/application/base_application.html:13
#: application/templates/application/import.html:2 #: application/templates/application/import.html:2
#: application/templates/application/import.html:5
msgid "Import applications" msgid "Import applications"
msgstr "Anträge importieren" msgstr "Anträge importieren"
@ -1194,8 +1203,7 @@ msgstr "gewählt"
#: assignment/templates/assignment/overview.html:2 #: assignment/templates/assignment/overview.html:2
#: assignment/templates/assignment/overview.html:5 #: assignment/templates/assignment/overview.html:5
#: assignment/templates/assignment/overview.html:21 system/models.py:23 #: assignment/templates/assignment/overview.html:21 system/models.py:23
#: system/templates/system/general.html:23 templates/base.html:45 #: templates/base.html:45 utils/pdf.py:642
#: utils/pdf.py:642
msgid "Elections" msgid "Elections"
msgstr "Wahlen" msgstr "Wahlen"
@ -1703,7 +1711,23 @@ msgstr "Titel für PDF-Dokument (alle Wahlen)"
msgid "Preamble text for PDF document (all elections)" msgid "Preamble text for PDF document (all elections)"
msgstr "Einleitungstext für PDF-Dokument (alle Wahlen) " msgstr "Einleitungstext für PDF-Dokument (alle Wahlen) "
#: system/views.py:43 #: system/views.py:35
msgid "General settings successfully saved."
msgstr "Allgemeine Einstellungen erfolgreich gespeichert."
#: system/views.py:53
msgid "Agenda settings successfully saved."
msgstr "Tagesordnungs-Einstellungen erfolgreich gespeichert."
#: system/views.py:77
msgid "Application settings successfully saved."
msgstr "Antrags-Einstellungen erfolgreich gespeichert."
#: system/views.py:103
msgid "Election settings successfully saved."
msgstr "Wahl-Einstellungen wurden erfolgreich gespeichert."
#: system/views.py:137
msgid "" msgid ""
"Anonymous access enabled. Please modify the \"Anonymous\" group to fit your " "Anonymous access enabled. Please modify the \"Anonymous\" group to fit your "
"required permissions." "required permissions."
@ -1711,33 +1735,46 @@ msgstr ""
"Anonymer Zugriff aktiviert. Bitte setzen Sie die Rechte der Gruppe " "Anonymer Zugriff aktiviert. Bitte setzen Sie die Rechte der Gruppe "
"\"Anonymous\" passend zum gewünschten Zugriffslevel." "\"Anonymous\" passend zum gewünschten Zugriffslevel."
#: system/views.py:47 #: system/views.py:141
msgid "System settings successfully saved." msgid "System settings successfully saved."
msgstr "Systemeinstellungen erfolgreich gespeichert." msgstr "Systemeinstellungen erfolgreich gespeichert."
#: system/views.py:90 #: system/templates/system/agenda.html:2
msgid "General settings successfully saved." #: system/templates/system/application.html:2
msgstr "Allgemeine Einstellungen erfolgreich gespeichert." #: system/templates/system/assignment.html:2
#: system/templates/system/base_system.html:10
#: system/templates/system/base_system.html:7
#: system/templates/system/general.html:2 #: system/templates/system/general.html:2
#: system/templates/system/system.html:2 templates/base.html:53 #: system/templates/system/system.html:2 templates/base.html:53
msgid "Configuration" msgid "Configuration"
msgstr "Konfiguration" msgstr "Konfiguration"
#: system/templates/system/base_system.html:9 #: system/templates/system/agenda.html:5
#: system/templates/system/general.html:5 msgid "Agenda settings"
msgstr "Tagesordnungs-Einstellungen"
#: system/templates/system/application.html:5
msgid "Application settings"
msgstr "Antrags-Einstellungen"
#: system/templates/system/assignment.html:5
msgid "Election settings"
msgstr "Wahl-Einstellungen"
#: system/templates/system/base_system.html:12
msgid "General" msgid "General"
msgstr "Allgemein" msgstr "Allgemein"
#: system/templates/system/base_system.html:10 #: system/templates/system/base_system.html:16
#: system/templates/system/system.html:5
msgid "System" msgid "System"
msgstr "System" msgstr "System"
#: system/templates/system/general.html:8 #: system/templates/system/general.html:5
msgid "Event" msgid "General settings"
msgstr "Veranstaltung" msgstr "Allgemeine Einstellungen"
#: system/templates/system/system.html:5
msgid "System settings"
msgstr "System-Einstellungen"
#: templates/404.html:9 #: templates/404.html:9
msgid "Page not found." msgid "Page not found."
@ -1834,3 +1871,6 @@ msgstr "verfügbare Posten"
#: utils/utils.py:75 #: utils/utils.py:75
msgid "Sorry, you have no rights to see this page." msgid "Sorry, you have no rights to see this page."
msgstr "Bedaure, Sie haben keine Berechtigung diese Seite zu sehen." msgstr "Bedaure, Sie haben keine Berechtigung diese Seite zu sehen."
#~ msgid "Event"
#~ msgstr "Veranstaltung"

View File

@ -0,0 +1,19 @@
{% extends "system/base_system.html" %}
{% block title %}{{ block.super }} - {%trans "Configuration" %}{% endblock %}
{% block content %}
<h1>{%trans "Agenda settings" %}</h1>
<form action="" method="post">{% csrf_token %}
{{ form_agenda.as_p }}
<p>
<button class="button" type="submit">
<span class="icon ok">{%trans 'Save' %}</span>
</button>
<a href='{% url config_agenda %}'>
<button class="button" type="button" onclick="window.location='{% url config_agenda %}'">
<span class="icon cancel">{%trans 'Cancel' %}</span>
</button>
</a>
</p>
</form>
{% endblock %}

View File

@ -0,0 +1,19 @@
{% extends "system/base_system.html" %}
{% block title %}{{ block.super }} - {%trans "Configuration" %}{% endblock %}
{% block content %}
<h1>{%trans "Application settings" %}</h1>
<form action="" method="post">{% csrf_token %}
{{ form_application.as_p }}
<p>
<button class="button" type="submit">
<span class="icon ok">{%trans 'Save' %}</span>
</button>
<a href='{% url config_application %}'>
<button class="button" type="button" onclick="window.location='{% url config_application %}'">
<span class="icon cancel">{%trans 'Cancel' %}</span>
</button>
</a>
</p>
</form>
{% endblock %}

View File

@ -0,0 +1,19 @@
{% extends "system/base_system.html" %}
{% block title %}{{ block.super }} - {%trans "Configuration" %}{% endblock %}
{% block content %}
<h1>{%trans "Election settings" %}</h1>
<form action="" method="post">{% csrf_token %}
{{ form_assignment.as_p }}
<p>
<button class="button" type="submit">
<span class="icon ok">{%trans 'Save' %}</span>
</button>
<a href='{% url config_assignment %}'>
<button class="button" type="button" onclick="window.location='{% url config_assignment %}'">
<span class="icon cancel">{%trans 'Cancel' %}</span>
</button>
</a>
</p>
</form>
{% endblock %}

View File

@ -2,11 +2,17 @@
{% load tags %} {% load tags %}
{% block submenu %} {% block submenu %}
{% url config_system as url_config_system %}
{% url config_general as url_config_general %} {% url config_general as url_config_general %}
{% url config_agenda as url_config_agenda %}
{% url config_application as url_config_application %}
{% url config_assignment as url_config_assignment %}
{% url config_system as url_config_system %}
<h4 class="sectiontitle">{%trans "Configuration" %}</h4> <h4 class="sectiontitle">{%trans "Configuration" %}</h4>
<ul> <ul>
<li class="{% if request.path == url_config_general %}selected{% endif %}"><a href="{% url config_general %}">{%trans "General" %}</a></li> <li class="{% if request.path == url_config_general %}selected{% endif %}"><a href="{% url config_general %}">{%trans "General" %}</a></li>
<li class="{% if request.path == url_config_agenda %}selected{% endif %}"><a href="{% url config_agenda %}">{%trans "Agenda" %}</a></li>
<li class="{% if request.path == url_config_application %}selected{% endif %}"><a href="{% url config_application %}">{%trans "Application" %}</a></li>
<li class="{% if request.path == url_config_assignment %}selected{% endif %}"><a href="{% url config_assignment %}">{%trans "Election" %}</a></li>
<li class="{% if request.path == url_config_system %}selected{% endif %}"><a href="{% url config_system %}">{%trans "System" %}</a></li> <li class="{% if request.path == url_config_system %}selected{% endif %}"><a href="{% url config_system %}">{%trans "System" %}</a></li>
</ul> </ul>
{% endblock %} {% endblock %}

View File

@ -2,27 +2,9 @@
{% block title %}{{ block.super }} - {%trans "Configuration" %}{% endblock %} {% block title %}{{ block.super }} - {%trans "Configuration" %}{% endblock %}
{% block content %} {% block content %}
<h1>{%trans "General" %}</h1> <h1>{%trans "General settings" %}</h1>
<form action="" method="post">{% csrf_token %} <form action="" method="post">{% csrf_token %}
<fieldset>
<legend>{%trans "Event" %}</legend>
{{ form_event.as_p }} {{ form_event.as_p }}
</fieldset>
<p></p>
<fieldset>
<legend>{%trans "Agenda" %}</legend>
{{ form_agenda.as_p }}
</fieldset>
<p></p>
<fieldset>
<legend>{%trans "Application" %}</legend>
{{ form_application.as_p }}
</fieldset>
<p></p>
<fieldset>
<legend>{%trans "Elections" %}</legend>
{{ form_assignment.as_p }}
</fieldset>
<p> <p>
<button class="button" type="submit"> <button class="button" type="submit">
<span class="icon ok">{%trans 'Save' %}</span> <span class="icon ok">{%trans 'Save' %}</span>

View File

@ -2,7 +2,7 @@
{% block title %}{{ block.super }} - {%trans "Configuration" %}{% endblock %} {% block title %}{{ block.super }} - {%trans "Configuration" %}{% endblock %}
{% block content %} {% block content %}
<h1>{%trans "System" %}</h1> <h1>{%trans "System settings" %}</h1>
<form action="" method="post">{% csrf_token %} <form action="" method="post">{% csrf_token %}
{{ form.as_p }} {{ form.as_p }}
@ -10,8 +10,8 @@
<button class="button" type="submit"> <button class="button" type="submit">
<span class="icon ok">{%trans 'Save' %}</span> <span class="icon ok">{%trans 'Save' %}</span>
</button> </button>
<a href='{% url config_general %}'> <a href='{% url config_system %}'>
<button class="button" type="button" onclick="window.location='{% url config_general %}'"> <button class="button" type="button" onclick="window.location='{% url config_system %}'">
<span class="icon cancel">{%trans 'Cancel' %}</span> <span class="icon cancel">{%trans 'Cancel' %}</span>
</button> </button>
</a> </a>

View File

@ -14,5 +14,8 @@ from django.conf.urls.defaults import *
urlpatterns = patterns('system.views', urlpatterns = patterns('system.views',
url(r'^config/general$', 'get_general_config', name='config_general'), url(r'^config/general$', 'get_general_config', name='config_general'),
url(r'^config/agenda$', 'get_agenda_config', name='config_agenda'),
url(r'^config/application$', 'get_application_config', name='config_application'),
url(r'^config/assignment$', 'get_assignment_config', name='config_assignment'),
url(r'^config/system$', 'get_system_config', name='config_system'), url(r'^config/system$', 'get_system_config', name='config_system'),
) )

View File

@ -20,6 +20,100 @@ from utils.utils import template, permission_required
from system.forms import SystemConfigForm, EventConfigForm, AgendaConfigForm, ApplicationConfigForm, AssignmentConfigForm from system.forms import SystemConfigForm, EventConfigForm, AgendaConfigForm, ApplicationConfigForm, AssignmentConfigForm
from system.api import config_get, config_set from system.api import config_get, config_set
@permission_required('system.can_manage_system')
@template('system/general.html')
def get_general_config(request):
if request.method == 'POST':
form_event = EventConfigForm(request.POST, prefix='event')
if form_event.is_valid():
# event form
config_set('event_name', form_event.cleaned_data['event_name'])
config_set('event_description', form_event.cleaned_data['event_description'])
config_set('event_date', form_event.cleaned_data['event_date'])
config_set('event_location', form_event.cleaned_data['event_location'])
config_set('event_organizer', form_event.cleaned_data['event_organizer'])
messages.success(request, _('General settings successfully saved.'))
else:
messages.error(request, _('Please check the form for errors.'))
else:
form_event = EventConfigForm(initial={
'event_name': config_get('event_name'),
}, prefix='event')
return {
'form_event': form_event,
}
@permission_required('system.can_manage_system')
@template('system/agenda.html')
def get_agenda_config(request):
if request.method == 'POST':
form_agenda = AgendaConfigForm(request.POST, prefix='agenda')
if form_agenda.is_valid():
config_set('agenda_countdown_time', form_agenda.cleaned_data['agenda_countdown_time'])
messages.success(request, _('Agenda settings successfully saved.'))
else:
messages.error(request, _('Please check the form for errors.'))
else:
form_agenda = AgendaConfigForm(initial={
'agenda_countdown_time': config_get('agenda_countdown_time'),
}, prefix='agenda')
return {
'form_agenda': form_agenda,
}
@permission_required('system.can_manage_system')
@template('system/application.html')
def get_application_config(request):
if request.method == 'POST':
form_application = ApplicationConfigForm(request.POST, prefix='application')
form_assignment = AssignmentConfigForm(request.POST, prefix='assignment')
if form_application.is_valid():
config_set('application_min_supporters', form_application.cleaned_data['application_min_supporters'])
config_set('application_preamble', form_application.cleaned_data['application_preamble'])
config_set('application_pdf_ballot_papers_selection', form_application.cleaned_data['application_pdf_ballot_papers_selection'])
config_set('application_pdf_ballot_papers_number', form_application.cleaned_data['application_pdf_ballot_papers_number'])
config_set('application_pdf_title', form_application.cleaned_data['application_pdf_title'])
config_set('application_pdf_preamble', form_application.cleaned_data['application_pdf_preamble'])
messages.success(request, _('Application settings successfully saved.'))
else:
messages.error(request, _('Please check the form for errors.'))
else:
form_application = ApplicationConfigForm(initial={
'application_min_supporters': config_get('application_min_supporters'),
'application_preamble': config_get('application_preamble'),
'application_pdf_ballot_papers_selection': config_get('application_pdf_ballot_papers_selection'),
'application_pdf_ballot_papers_number': config_get('application_pdf_ballot_papers_number'),
'application_pdf_title': config_get('application_pdf_title'),
'application_pdf_preamble': config_get('application_pdf_preamble'),
}, prefix='application')
return {
'form_application': form_application,
}
@permission_required('system.can_manage_system')
@template('system/assignment.html')
def get_assignment_config(request):
if request.method == 'POST':
form_assignment = AssignmentConfigForm(request.POST, prefix='assignment')
if form_assignment.is_valid():
config_set('assignment_pdf_ballot_papers_selection', form_assignment.cleaned_data['assignment_pdf_ballot_papers_selection'])
config_set('assignment_pdf_ballot_papers_number', form_assignment.cleaned_data['assignment_pdf_ballot_papers_number'])
config_set('assignment_pdf_title', form_assignment.cleaned_data['assignment_pdf_title'])
config_set('assignment_pdf_preamble', form_assignment.cleaned_data['assignment_pdf_preamble'])
messages.success(request, _('Election settings successfully saved.'))
else:
messages.error(request, _('Please check the form for errors.'))
else:
form_assignment = AssignmentConfigForm(initial={
'assignment_pdf_ballot_papers_selection': config_get('assignment_pdf_ballot_papers_selection'),
'assignment_pdf_ballot_papers_number': config_get('assignment_pdf_ballot_papers_number'),
'assignment_pdf_title': config_get('assignment_pdf_title'),
'assignment_pdf_preamble': config_get('assignment_pdf_preamble'),
}, prefix='assignment')
return {
'form_assignment': form_assignment,
}
@permission_required('system.can_manage_system') @permission_required('system.can_manage_system')
@template('system/system.html') @template('system/system.html')
def get_system_config(request): def get_system_config(request):
@ -47,7 +141,6 @@ def get_system_config(request):
messages.success(request, _('System settings successfully saved.')) messages.success(request, _('System settings successfully saved.'))
else: else:
messages.error(request, _('Please check the form for errors.')) messages.error(request, _('Please check the form for errors.'))
else: else:
form = SystemConfigForm(initial={ form = SystemConfigForm(initial={
'system_url': config_get('system_url'), 'system_url': config_get('system_url'),
@ -57,68 +150,3 @@ def get_system_config(request):
return { return {
'form': form, 'form': form,
} }
@permission_required('system.can_manage_system')
@template('system/general.html')
def get_general_config(request):
if request.method == 'POST':
form_event = EventConfigForm(request.POST, prefix='event')
form_agenda = AgendaConfigForm(request.POST, prefix='agenda')
form_application = ApplicationConfigForm(request.POST, prefix='application')
form_assignment = AssignmentConfigForm(request.POST, prefix='assignment')
if form_event.is_valid() and form_agenda.is_valid() and form_application.is_valid() and form_assignment.is_valid():
# event form
config_set('event_name', form_event.cleaned_data['event_name'])
config_set('event_description', form_event.cleaned_data['event_description'])
config_set('event_date', form_event.cleaned_data['event_date'])
config_set('event_location', form_event.cleaned_data['event_location'])
config_set('event_organizer', form_event.cleaned_data['event_organizer'])
# agenda form
config_set('agenda_countdown_time', form_agenda.cleaned_data['agenda_countdown_time'])
# application form
config_set('application_min_supporters', form_application.cleaned_data['application_min_supporters'])
config_set('application_preamble', form_application.cleaned_data['application_preamble'])
config_set('application_pdf_ballot_papers_selection', form_application.cleaned_data['application_pdf_ballot_papers_selection'])
config_set('application_pdf_ballot_papers_number', form_application.cleaned_data['application_pdf_ballot_papers_number'])
config_set('application_pdf_title', form_application.cleaned_data['application_pdf_title'])
config_set('application_pdf_preamble', form_application.cleaned_data['application_pdf_preamble'])
# assignment form
config_set('assignment_pdf_ballot_papers_selection', form_assignment.cleaned_data['assignment_pdf_ballot_papers_selection'])
config_set('assignment_pdf_ballot_papers_number', form_assignment.cleaned_data['assignment_pdf_ballot_papers_number'])
config_set('assignment_pdf_title', form_assignment.cleaned_data['assignment_pdf_title'])
config_set('assignment_pdf_preamble', form_assignment.cleaned_data['assignment_pdf_preamble'])
messages.success(request, _('General settings successfully saved.'))
else:
messages.error(request, _('Please check the form for errors.'))
else:
form_event = EventConfigForm(initial={
'event_name': config_get('event_name'),
'event_description': config_get('event_description'),
'event_date': config_get('event_date'),
'event_location': config_get('event_location'),
'event_organizer': config_get('event_organizer'),
}, prefix='event')
form_agenda = AgendaConfigForm(initial={
'agenda_countdown_time': config_get('agenda_countdown_time'),
}, prefix='agenda')
form_application = ApplicationConfigForm(initial={
'application_min_supporters': config_get('application_min_supporters'),
'application_preamble': config_get('application_preamble'),
'application_pdf_ballot_papers_selection': config_get('application_pdf_ballot_papers_selection'),
'application_pdf_ballot_papers_number': config_get('application_pdf_ballot_papers_number'),
'application_pdf_title': config_get('application_pdf_title'),
'application_pdf_preamble': config_get('application_pdf_preamble'),
}, prefix='application')
form_assignment = AssignmentConfigForm(initial={
'assignment_pdf_ballot_papers_selection': config_get('assignment_pdf_ballot_papers_selection'),
'assignment_pdf_ballot_papers_number': config_get('assignment_pdf_ballot_papers_number'),
'assignment_pdf_title': config_get('assignment_pdf_title'),
'assignment_pdf_preamble': config_get('assignment_pdf_preamble'),
}, prefix='assignment')
return {
'form_event': form_event,
'form_agenda': form_agenda,
'form_application': form_application,
'form_assignment': form_assignment,
}