Added participant and version config page. Moved system settings to general. Some style work.
This commit is contained in:
parent
195ddddf7e
commit
95d5929449
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} - {% trans "Configuration" %}{% endblock %}
|
{% block title %}{{ block.super }} - {% trans "Agenda settings" %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{%trans "Agenda settings" %}</h1>
|
<h1>{%trans "Agenda settings" %}</h1>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} - {% trans "Configuration" %}{% endblock %}
|
{% block title %}{{ block.super }} - {% trans "Application settings" %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{%trans "Application settings" %}</h1>
|
<h1>{%trans "Application settings" %}</h1>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} - {% trans "Configuration" %}{% endblock %}
|
{% block title %}{{ block.super }} - {% trans "Election settings" %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{%trans "Election settings" %}</h1>
|
<h1>{%trans "Election settings" %}</h1>
|
||||||
|
@ -17,15 +17,10 @@ from utils.forms import CssClassMixin
|
|||||||
from models import config
|
from models import config
|
||||||
|
|
||||||
|
|
||||||
class SystemConfigForm(Form, CssClassMixin):
|
class GeneralConfigForm(Form, CssClassMixin):
|
||||||
system_url = CharField(widget=TextInput(), required=False, label=_("System URL"))
|
|
||||||
system_welcometext = CharField(widget=Textarea(), required=False, label=_("Welcome text (for password PDF)"))
|
|
||||||
system_enable_anonymous = BooleanField(required=False, label=_("Access for anonymous / guest users"), help_text=_("Allow access for guest users"))
|
|
||||||
|
|
||||||
|
|
||||||
class EventConfigForm(Form, CssClassMixin):
|
|
||||||
event_name = CharField(widget=TextInput(),label=_("Event name"), max_length=30)
|
event_name = CharField(widget=TextInput(),label=_("Event name"), max_length=30)
|
||||||
event_description = CharField(widget=TextInput(),label=_("Short description of event"), max_length=100, required=False)
|
event_description = CharField(widget=TextInput(),label=_("Short description of event"), max_length=100, required=False)
|
||||||
event_date = CharField(widget=TextInput(), required=False, label=_("Event date"))
|
event_date = CharField(widget=TextInput(), required=False, label=_("Event date"))
|
||||||
event_location = CharField(widget=TextInput(), required=False, label=_("Event location"))
|
event_location = CharField(widget=TextInput(), required=False, label=_("Event location"))
|
||||||
event_organizer = CharField(widget=TextInput(), required=False, label=_("Event organizer"))
|
event_organizer = CharField(widget=TextInput(), required=False, label=_("Event organizer"))
|
||||||
|
system_enable_anonymous = BooleanField(required=False, label=_("Allow access for anonymous guest users") )
|
||||||
|
@ -81,8 +81,6 @@ def default_config(sender, key, **kwargs):
|
|||||||
return {
|
return {
|
||||||
'event_name': 'OpenSlides',
|
'event_name': 'OpenSlides',
|
||||||
'event_description': 'Presentation and voting system',
|
'event_description': 'Presentation and voting system',
|
||||||
'system_url': 'http://127.0.0.1:8000',
|
|
||||||
'system_welcometext': 'Welcome to OpenSlides!',
|
|
||||||
}.get(key)
|
}.get(key)
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,12 +2,40 @@
|
|||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} - {% trans "Configuration" %}{% endblock %}
|
{% block title %}{{ block.super }} - {% trans "General settings" %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{%trans "General settings" %}</h1>
|
<h1>{%trans "General settings" %}</h1>
|
||||||
<form action="" method="post">{% csrf_token %}
|
<form action="" method="post">{% csrf_token %}
|
||||||
{{ form.as_p }}
|
<fieldset>
|
||||||
|
<legend>{%trans "Event" %}</legend>
|
||||||
|
{% for field in form %}
|
||||||
|
{% if "id_event" in field.label_tag %}
|
||||||
|
<p>
|
||||||
|
{{ field.errors }}
|
||||||
|
{{ field.required }}
|
||||||
|
{{ field.label_tag }}
|
||||||
|
{{ field }}
|
||||||
|
{{ field.help_text }}
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</fieldset>
|
||||||
|
<p></p>
|
||||||
|
<fieldset style="width: 410px;">
|
||||||
|
<legend>{%trans "System" %}</legend>
|
||||||
|
{% for field in form %}
|
||||||
|
{% if "id_system" in field.label_tag %}
|
||||||
|
<p>
|
||||||
|
{{ field.errors }}
|
||||||
|
{{ field.required }}
|
||||||
|
{{ field.label_tag }}
|
||||||
|
{{ field }}
|
||||||
|
{{ field.help_text }}
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</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>
|
||||||
|
@ -23,14 +23,15 @@ from utils.utils import template, permission_required
|
|||||||
from utils.views import FormView, TemplateView
|
from utils.views import FormView, TemplateView
|
||||||
from utils.template import Tab
|
from utils.template import Tab
|
||||||
|
|
||||||
from forms import SystemConfigForm, EventConfigForm
|
from forms import GeneralConfigForm
|
||||||
|
|
||||||
|
|
||||||
from models import config
|
from models import config
|
||||||
|
|
||||||
|
|
||||||
class GeneralConfig(FormView):
|
class GeneralConfig(FormView):
|
||||||
permission_required = 'config.can_manage_config'
|
permission_required = 'config.can_manage_config'
|
||||||
form_class = EventConfigForm
|
form_class = GeneralConfigForm
|
||||||
template_name = 'config/general.html'
|
template_name = 'config/general.html'
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
@ -40,6 +41,7 @@ class GeneralConfig(FormView):
|
|||||||
'event_date': config['event_date'],
|
'event_date': config['event_date'],
|
||||||
'event_location': config['event_location'],
|
'event_location': config['event_location'],
|
||||||
'event_organizer': config['event_organizer'],
|
'event_organizer': config['event_organizer'],
|
||||||
|
'system_enable_anonymous': config['system_enable_anonymous'],
|
||||||
}
|
}
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
@ -48,39 +50,6 @@ class GeneralConfig(FormView):
|
|||||||
config['event_date'] = form.cleaned_data['event_date']
|
config['event_date'] = form.cleaned_data['event_date']
|
||||||
config['event_location'] = form.cleaned_data['event_location']
|
config['event_location'] = form.cleaned_data['event_location']
|
||||||
config['event_organizer'] = form.cleaned_data['event_organizer']
|
config['event_organizer'] = form.cleaned_data['event_organizer']
|
||||||
messages.success(self.request, _('General settings successfully saved.'))
|
|
||||||
return super(GeneralConfig, self).form_valid(form)
|
|
||||||
|
|
||||||
def form_invalid(self, form):
|
|
||||||
messages.error(self.request, _('Please check the form for errors.'))
|
|
||||||
return super(Config, self).form_invalid(form)
|
|
||||||
|
|
||||||
|
|
||||||
class VersionConfig(TemplateView):
|
|
||||||
permission_required = 'config.can_manage_config'
|
|
||||||
template_name = 'config/version.html'
|
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
|
||||||
context = super(VersionConfig, self).get_context_data(**kwargs)
|
|
||||||
context['version'] = get_version()
|
|
||||||
return context
|
|
||||||
|
|
||||||
|
|
||||||
class Config(FormView):
|
|
||||||
permission_required = 'config.can_manage_config'
|
|
||||||
form_class = SystemConfigForm
|
|
||||||
template_name = 'config/config.html'
|
|
||||||
|
|
||||||
def get_initial(self):
|
|
||||||
return {
|
|
||||||
'system_url': config['system_url'],
|
|
||||||
'system_welcometext': config['system_welcometext'],
|
|
||||||
'system_enable_anonymous': config['system_enable_anonymous'],
|
|
||||||
}
|
|
||||||
|
|
||||||
def form_valid(self, form):
|
|
||||||
config['system_url'] = form.cleaned_data['system_url']
|
|
||||||
config['system_welcometext'] = form.cleaned_data['system_welcometext']
|
|
||||||
if form.cleaned_data['system_enable_anonymous']:
|
if form.cleaned_data['system_enable_anonymous']:
|
||||||
config['system_enable_anonymous'] = True
|
config['system_enable_anonymous'] = True
|
||||||
# check for Anonymous group and (re)create it as needed
|
# check for Anonymous group and (re)create it as needed
|
||||||
@ -96,8 +65,18 @@ class Config(FormView):
|
|||||||
messages.success(self.request, _('Anonymous access enabled. Please modify the "Anonymous" group to fit your required permissions.'))
|
messages.success(self.request, _('Anonymous access enabled. Please modify the "Anonymous" group to fit your required permissions.'))
|
||||||
else:
|
else:
|
||||||
config['system_enable_anonymous'] = False
|
config['system_enable_anonymous'] = False
|
||||||
messages.success(self.request, _('System settings successfully saved.'))
|
messages.success(self.request, _('General settings successfully saved.'))
|
||||||
return super(Config, self).form_valid(form)
|
return super(GeneralConfig, self).form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
|
class VersionConfig(TemplateView):
|
||||||
|
permission_required = 'config.can_manage_config'
|
||||||
|
template_name = 'config/version.html'
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
context = super(VersionConfig, self).get_context_data(**kwargs)
|
||||||
|
context['version'] = get_version()
|
||||||
|
return context
|
||||||
|
|
||||||
|
|
||||||
def register_tab(request):
|
def register_tab(request):
|
||||||
|
Binary file not shown.
@ -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: 2012-04-15 10:06+0200\n"
|
"POT-Creation-Date: 2012-04-15 12:24+0200\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"
|
||||||
@ -43,9 +43,10 @@ msgstr "Titel"
|
|||||||
msgid "Text"
|
msgid "Text"
|
||||||
msgstr "Text"
|
msgstr "Text"
|
||||||
|
|
||||||
#: agenda/models.py:41
|
#: agenda/models.py:41 participant/models.py:37
|
||||||
msgid "Transcript"
|
#: participant/templates/participant/overview.html:69
|
||||||
msgstr ""
|
msgid "Comment"
|
||||||
|
msgstr "Kommentar"
|
||||||
|
|
||||||
#: agenda/models.py:42
|
#: agenda/models.py:42
|
||||||
msgid "Closed"
|
msgid "Closed"
|
||||||
@ -68,8 +69,8 @@ msgstr "Darf die Tagesordung verwalten"
|
|||||||
msgid "Agenda Item"
|
msgid "Agenda Item"
|
||||||
msgstr "Tagesordnungseintrag"
|
msgstr "Tagesordnungseintrag"
|
||||||
|
|
||||||
#: agenda/models.py:142 agenda/slides.py:7 agenda/views.py:190
|
#: agenda/models.py:142 agenda/slides.py:7 agenda/views.py:185
|
||||||
#: agenda/views.py:191 agenda/views.py:220
|
#: agenda/views.py:186 agenda/views.py:215
|
||||||
#: agenda/templates/agenda/base_agenda.html:9
|
#: agenda/templates/agenda/base_agenda.html:9
|
||||||
#: agenda/templates/agenda/overview.html:8
|
#: agenda/templates/agenda/overview.html:8
|
||||||
#: agenda/templates/agenda/overview.html:42
|
#: agenda/templates/agenda/overview.html:42
|
||||||
@ -79,17 +80,17 @@ msgstr "Tagesordnungseintrag"
|
|||||||
msgid "Agenda"
|
msgid "Agenda"
|
||||||
msgstr "Tagesordnung"
|
msgstr "Tagesordnung"
|
||||||
|
|
||||||
#: agenda/views.py:165
|
#: agenda/views.py:160
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Item <b>%s</b> and his children were successfully deleted."
|
msgid "Item <b>%s</b> and his children were successfully deleted."
|
||||||
msgstr "Eintrag <b>%s</b> und seine Kindelemente wurde erfolgreich gelöscht."
|
msgstr "Eintrag <b>%s</b> und seine Kindelemente wurde erfolgreich gelöscht."
|
||||||
|
|
||||||
#: agenda/views.py:171 utils/views.py:191
|
#: agenda/views.py:166 utils/views.py:191
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Item <b>%s</b> was successfully deleted."
|
msgid "Item <b>%s</b> was successfully deleted."
|
||||||
msgstr "Eintrag <b>%s</b> wurde erfolgreich gelöscht."
|
msgstr "Eintrag <b>%s</b> wurde erfolgreich gelöscht."
|
||||||
|
|
||||||
#: agenda/views.py:175 agenda/views.py:177
|
#: agenda/views.py:170 agenda/views.py:172
|
||||||
#: agenda/templates/agenda/overview.html:48 application/views.py:706
|
#: agenda/templates/agenda/overview.html:48 application/views.py:706
|
||||||
#: application/views.py:750 application/templates/application/view.html:80
|
#: application/views.py:750 application/templates/application/view.html:80
|
||||||
#: application/templates/projector/Application.html:34
|
#: application/templates/projector/Application.html:34
|
||||||
@ -101,7 +102,7 @@ msgstr "Eintrag <b>%s</b> wurde erfolgreich gelöscht."
|
|||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr "Ja"
|
msgstr "Ja"
|
||||||
|
|
||||||
#: agenda/views.py:175 agenda/views.py:177
|
#: agenda/views.py:170 agenda/views.py:172
|
||||||
#: agenda/templates/agenda/overview.html:49 application/views.py:706
|
#: agenda/templates/agenda/overview.html:49 application/views.py:706
|
||||||
#: application/views.py:751 application/templates/application/view.html:81
|
#: application/views.py:751 application/templates/application/view.html:81
|
||||||
#: application/templates/projector/Application.html:35
|
#: application/templates/projector/Application.html:35
|
||||||
@ -111,17 +112,17 @@ msgstr "Ja"
|
|||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr "Nein"
|
msgstr "Nein"
|
||||||
|
|
||||||
#: agenda/views.py:177
|
#: agenda/views.py:172
|
||||||
msgid "Yes, with all child items."
|
msgid "Yes, with all child items."
|
||||||
msgstr "Ja, mit allen Kindelementen."
|
msgstr "Ja, mit allen Kindelementen."
|
||||||
|
|
||||||
#: agenda/views.py:183 agenda/views.py:185 participant/views.py:187
|
#: agenda/views.py:178 agenda/views.py:180 participant/views.py:188
|
||||||
#: participant/views.py:281 utils/utils.py:47 utils/views.py:200
|
#: participant/views.py:282 utils/utils.py:47 utils/views.py:200
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Do you really want to delete <b>%s</b>?"
|
msgid "Do you really want to delete <b>%s</b>?"
|
||||||
msgstr "Soll <b>%s</b> wirklich gelöscht werden?"
|
msgstr "Soll <b>%s</b> wirklich gelöscht werden?"
|
||||||
|
|
||||||
#: agenda/views.py:213
|
#: agenda/views.py:208
|
||||||
msgid "Agenda settings successfully saved."
|
msgid "Agenda settings successfully saved."
|
||||||
msgstr "Tagesordnungs-Einstellungen erfolgreich gespeichert."
|
msgstr "Tagesordnungs-Einstellungen erfolgreich gespeichert."
|
||||||
|
|
||||||
@ -133,16 +134,7 @@ msgstr "Alle Einträge"
|
|||||||
msgid "New item"
|
msgid "New item"
|
||||||
msgstr "Neuer Eintrag"
|
msgstr "Neuer Eintrag"
|
||||||
|
|
||||||
#: agenda/templates/agenda/config.html:5
|
#: agenda/templates/agenda/config.html:5 agenda/templates/agenda/config.html:8
|
||||||
#: application/templates/application/config.html:5
|
|
||||||
#: assignment/templates/assignment/config.html:5 config/views.py:94
|
|
||||||
#: config/templates/config/base_config.html:7
|
|
||||||
#: config/templates/config/config.html:5
|
|
||||||
#: config/templates/config/general.html:5
|
|
||||||
msgid "Configuration"
|
|
||||||
msgstr "Konfiguration"
|
|
||||||
|
|
||||||
#: agenda/templates/agenda/config.html:8
|
|
||||||
msgid "Agenda settings"
|
msgid "Agenda settings"
|
||||||
msgstr "Tagesordnungs-Einstellungen"
|
msgstr "Tagesordnungs-Einstellungen"
|
||||||
|
|
||||||
@ -153,8 +145,8 @@ msgstr "Tagesordnungs-Einstellungen"
|
|||||||
#: assignment/templates/assignment/config.html:13
|
#: assignment/templates/assignment/config.html:13
|
||||||
#: assignment/templates/assignment/edit.html:17
|
#: assignment/templates/assignment/edit.html:17
|
||||||
#: assignment/templates/assignment/poll_view.html:53
|
#: assignment/templates/assignment/poll_view.html:53
|
||||||
#: config/templates/config/config.html:14
|
#: config/templates/config/general.html:41
|
||||||
#: config/templates/config/general.html:13
|
#: participant/templates/participant/config.html:13
|
||||||
#: participant/templates/participant/edit.html:21
|
#: participant/templates/participant/edit.html:21
|
||||||
#: participant/templates/participant/group_edit.html:17
|
#: participant/templates/participant/group_edit.html:17
|
||||||
#: participant/templates/participant/settings.html:18
|
#: participant/templates/participant/settings.html:18
|
||||||
@ -170,8 +162,8 @@ msgstr "Speichern"
|
|||||||
#: assignment/templates/assignment/config.html:17
|
#: assignment/templates/assignment/config.html:17
|
||||||
#: assignment/templates/assignment/edit.html:24
|
#: assignment/templates/assignment/edit.html:24
|
||||||
#: assignment/templates/assignment/poll_view.html:60
|
#: assignment/templates/assignment/poll_view.html:60
|
||||||
#: config/templates/config/config.html:18
|
#: config/templates/config/general.html:45
|
||||||
#: config/templates/config/general.html:17
|
#: participant/templates/participant/config.html:17
|
||||||
#: participant/templates/participant/edit.html:28
|
#: participant/templates/participant/edit.html:28
|
||||||
#: participant/templates/participant/group_edit.html:24
|
#: participant/templates/participant/group_edit.html:24
|
||||||
#: participant/templates/participant/import.html:26
|
#: participant/templates/participant/import.html:26
|
||||||
@ -186,7 +178,7 @@ msgid "Item"
|
|||||||
msgstr "Eintrag"
|
msgstr "Eintrag"
|
||||||
|
|
||||||
#: agenda/templates/agenda/edit.html:8
|
#: agenda/templates/agenda/edit.html:8
|
||||||
#: agenda/templates/agenda/item_row.html:24
|
#: agenda/templates/agenda/item_row.html:23
|
||||||
msgid "Edit item"
|
msgid "Edit item"
|
||||||
msgstr "Eintrag bearbeiten"
|
msgstr "Eintrag bearbeiten"
|
||||||
|
|
||||||
@ -206,11 +198,7 @@ msgstr "Übernehmen"
|
|||||||
msgid "Item closed"
|
msgid "Item closed"
|
||||||
msgstr "Eintrag erledigt"
|
msgstr "Eintrag erledigt"
|
||||||
|
|
||||||
#: agenda/templates/agenda/item_row.html:22
|
#: agenda/templates/agenda/item_row.html:24
|
||||||
msgid "Show projector preview"
|
|
||||||
msgstr "Beamer-Vorschau anzeigen"
|
|
||||||
|
|
||||||
#: agenda/templates/agenda/item_row.html:25
|
|
||||||
msgid "Delete item"
|
msgid "Delete item"
|
||||||
msgstr "Eintrag löschen"
|
msgstr "Eintrag löschen"
|
||||||
|
|
||||||
@ -467,8 +455,8 @@ msgid "Application was successfully modified."
|
|||||||
msgstr "Antrag wurde erfolgreich geändert."
|
msgstr "Antrag wurde erfolgreich geändert."
|
||||||
|
|
||||||
#: application/views.py:198 application/views.py:597 assignment/views.py:129
|
#: application/views.py:198 application/views.py:597 assignment/views.py:129
|
||||||
#: config/views.py:53 participant/views.py:164 participant/views.py:266
|
#: participant/views.py:165 participant/views.py:267 participant/views.py:296
|
||||||
#: participant/views.py:295 participant/views.py:453 utils/views.py:153
|
#: participant/views.py:454 utils/views.py:153
|
||||||
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."
|
||||||
|
|
||||||
@ -571,7 +559,7 @@ msgstr "FEHLER beim Zurückweisen der Version."
|
|||||||
msgid "Do you really want to reject version <b>%s</b>?"
|
msgid "Do you really want to reject version <b>%s</b>?"
|
||||||
msgstr "Soll Version <b>%s</b> wirklich zurückgewiesen werden?"
|
msgstr "Soll Version <b>%s</b> wirklich zurückgewiesen werden?"
|
||||||
|
|
||||||
#: application/views.py:493 participant/views.py:311
|
#: application/views.py:493 participant/views.py:312
|
||||||
msgid ""
|
msgid ""
|
||||||
"The import function is available for the superuser (without user profile) "
|
"The import function is available for the superuser (without user profile) "
|
||||||
"only."
|
"only."
|
||||||
@ -579,7 +567,7 @@ msgstr ""
|
|||||||
"Die Importfunktion ist nur für den 'superuser' (ohne Nutzerprofil) verfügbar."
|
"Die Importfunktion ist nur für den 'superuser' (ohne Nutzerprofil) verfügbar."
|
||||||
|
|
||||||
#: application/views.py:524 application/views.py:528 application/views.py:534
|
#: application/views.py:524 application/views.py:528 application/views.py:534
|
||||||
#: application/views.py:537 participant/views.py:380
|
#: application/views.py:537 participant/views.py:381
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Ignoring malformed line %d in import file."
|
msgid "Ignoring malformed line %d in import file."
|
||||||
msgstr "Fehlerhafte Zeile %d der Quelldatei wurde ignoriert."
|
msgstr "Fehlerhafte Zeile %d der Quelldatei wurde ignoriert."
|
||||||
@ -605,11 +593,11 @@ msgid_plural "%d new users were added."
|
|||||||
msgstr[0] "%d neuer Nutzer wurde erstellt."
|
msgstr[0] "%d neuer Nutzer wurde erstellt."
|
||||||
msgstr[1] "%d neue Nutzer wurden erstellt."
|
msgstr[1] "%d neue Nutzer wurden erstellt."
|
||||||
|
|
||||||
#: application/views.py:593 participant/views.py:449
|
#: application/views.py:593 participant/views.py:450
|
||||||
msgid "Import aborted because of severe errors in the input file."
|
msgid "Import aborted because of severe errors in the input file."
|
||||||
msgstr "Import auf Grund von schweren Fehlern in der Quelldatei abgebrochen."
|
msgstr "Import auf Grund von schweren Fehlern in der Quelldatei abgebrochen."
|
||||||
|
|
||||||
#: application/views.py:595 participant/views.py:451
|
#: application/views.py:595 participant/views.py:452
|
||||||
msgid "Import file has wrong character encoding, only UTF-8 is supported!"
|
msgid "Import file has wrong character encoding, only UTF-8 is supported!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Die Quelldatei benutzt eine ungültige Zeichenkodierung, es wird nur UTF-8 "
|
"Die Quelldatei benutzt eine ungültige Zeichenkodierung, es wird nur UTF-8 "
|
||||||
@ -726,6 +714,7 @@ msgstr "Anträge importieren"
|
|||||||
msgid "Print all applications"
|
msgid "Print all applications"
|
||||||
msgstr "Alle Anträge drucken"
|
msgstr "Alle Anträge drucken"
|
||||||
|
|
||||||
|
#: application/templates/application/config.html:5
|
||||||
#: application/templates/application/config.html:8
|
#: application/templates/application/config.html:8
|
||||||
msgid "Application settings"
|
msgid "Application settings"
|
||||||
msgstr "Antrags-Einstellungen"
|
msgstr "Antrags-Einstellungen"
|
||||||
@ -942,7 +931,9 @@ msgid "Reset"
|
|||||||
msgstr "Zurücksetzen"
|
msgstr "Zurücksetzen"
|
||||||
|
|
||||||
#: application/templates/application/view.html:220
|
#: application/templates/application/view.html:220
|
||||||
#: application/templates/application/view.html:248
|
#: application/templates/application/view.html:248 config/models.py:120
|
||||||
|
#: config/templates/config/version.html:5
|
||||||
|
#: config/templates/config/version.html:8
|
||||||
msgid "Version"
|
msgid "Version"
|
||||||
msgstr "Version"
|
msgstr "Version"
|
||||||
|
|
||||||
@ -972,7 +963,7 @@ msgstr "Zugelassene Version"
|
|||||||
|
|
||||||
#: application/templates/application/view.html:266
|
#: application/templates/application/view.html:266
|
||||||
msgid "Reject Version"
|
msgid "Reject Version"
|
||||||
msgstr "Verion zurückweisen"
|
msgstr "Version zurückweisen"
|
||||||
|
|
||||||
#: application/templates/application/view.html:270
|
#: application/templates/application/view.html:270
|
||||||
msgid "Version rejected"
|
msgid "Version rejected"
|
||||||
@ -1211,6 +1202,7 @@ msgstr "Neue Wahl"
|
|||||||
msgid "Print all elections"
|
msgid "Print all elections"
|
||||||
msgstr "Alle Wahlen drucken"
|
msgstr "Alle Wahlen drucken"
|
||||||
|
|
||||||
|
#: assignment/templates/assignment/config.html:5
|
||||||
#: assignment/templates/assignment/config.html:8
|
#: assignment/templates/assignment/config.html:8
|
||||||
msgid "Election settings"
|
msgid "Election settings"
|
||||||
msgstr "Wahl-Einstellungen"
|
msgstr "Wahl-Einstellungen"
|
||||||
@ -1332,73 +1324,70 @@ msgid "No ballots available."
|
|||||||
msgstr "Keine Wahlgänge vorhanden."
|
msgstr "Keine Wahlgänge vorhanden."
|
||||||
|
|
||||||
#: config/forms.py:21
|
#: config/forms.py:21
|
||||||
msgid "System URL"
|
|
||||||
msgstr "System URL"
|
|
||||||
|
|
||||||
#: config/forms.py:22
|
|
||||||
msgid "Welcome text (for password PDF)"
|
|
||||||
msgstr "Willkommenstext (für Passwort-PDF-Liste)"
|
|
||||||
|
|
||||||
#: config/forms.py:23
|
|
||||||
msgid "Access for anonymous / guest users"
|
|
||||||
msgstr "Zugriff für anonyme oder Gast-Nutzer"
|
|
||||||
|
|
||||||
#: config/forms.py:23
|
|
||||||
msgid "Allow access for guest users"
|
|
||||||
msgstr "Zugriff für Gast-Nutzer aktivieren"
|
|
||||||
|
|
||||||
#: config/forms.py:27
|
|
||||||
msgid "Event name"
|
msgid "Event name"
|
||||||
msgstr "Veranstaltungsname"
|
msgstr "Veranstaltungsname"
|
||||||
|
|
||||||
#: config/forms.py:28
|
#: config/forms.py:22
|
||||||
msgid "Short description of event"
|
msgid "Short description of event"
|
||||||
msgstr "Kurzbeschreibung der Veranstaltung"
|
msgstr "Kurzbeschreibung der Veranstaltung"
|
||||||
|
|
||||||
#: config/forms.py:29
|
#: config/forms.py:23
|
||||||
msgid "Event date"
|
msgid "Event date"
|
||||||
msgstr "Veranstaltungszeitraum"
|
msgstr "Veranstaltungszeitraum"
|
||||||
|
|
||||||
#: config/forms.py:30
|
#: config/forms.py:24
|
||||||
msgid "Event location"
|
msgid "Event location"
|
||||||
msgstr "Veranstaltungsort"
|
msgstr "Veranstaltungsort"
|
||||||
|
|
||||||
#: config/forms.py:31
|
#: config/forms.py:25
|
||||||
msgid "Event organizer"
|
msgid "Event organizer"
|
||||||
msgstr "Veranstalter"
|
msgstr "Veranstalter"
|
||||||
|
|
||||||
|
#: config/forms.py:26
|
||||||
|
msgid "Allow access for anonymous guest users"
|
||||||
|
msgstr "Erlaube Zugriff für anonyme Gast-Nutzer"
|
||||||
|
|
||||||
#: config/models.py:33
|
#: config/models.py:33
|
||||||
msgid "Can manage configuration"
|
msgid "Can manage configuration"
|
||||||
msgstr "Darf die Konfiguration verwalten"
|
msgstr "Darf die Konfiguration verwalten"
|
||||||
|
|
||||||
#: config/models.py:106
|
#: config/models.py:103
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Allgemein"
|
msgstr "Allgemein"
|
||||||
|
|
||||||
#: config/views.py:49
|
#: config/views.py:65
|
||||||
msgid "General settings successfully saved."
|
|
||||||
msgstr "Allgemeine Einstellungen erfolgreich gespeichert."
|
|
||||||
|
|
||||||
#: config/views.py:84
|
|
||||||
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."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Anonymer Zugriff aktiviert. Bitte setzen Sie die Rechte der Gruppe "
|
"Anonymer Zugriff aktiviert. Bitte setzen Sie die Rechte der Benutzerrolle "
|
||||||
"\"Anonymous\" passend zum gewünschten Zugriffslevel."
|
"\"Anonymous\" passend zum gewünschten Zugriffslevel."
|
||||||
|
|
||||||
#: config/views.py:87
|
#: config/views.py:68
|
||||||
msgid "System settings successfully saved."
|
msgid "General settings successfully saved."
|
||||||
msgstr "Systemeinstellungen erfolgreich gespeichert."
|
msgstr "Allgemeine Einstellungen erfolgreich gespeichert."
|
||||||
|
|
||||||
#: config/templates/config/config.html:8
|
#: config/views.py:85 config/templates/config/base_config.html:7
|
||||||
msgid "System settings"
|
msgid "Configuration"
|
||||||
msgstr "System-Einstellungen"
|
msgstr "Konfiguration"
|
||||||
|
|
||||||
|
#: config/templates/config/general.html:5
|
||||||
#: config/templates/config/general.html:8
|
#: config/templates/config/general.html:8
|
||||||
msgid "General settings"
|
msgid "General settings"
|
||||||
msgstr "Allgemeine Einstellungen"
|
msgstr "Allgemeine Einstellungen"
|
||||||
|
|
||||||
|
#: config/templates/config/general.html:11
|
||||||
|
msgid "Event"
|
||||||
|
msgstr "Veranstaltung"
|
||||||
|
|
||||||
|
#: config/templates/config/general.html:26 templates/base.html:28
|
||||||
|
msgid "Welcome"
|
||||||
|
msgstr "Willkommen"
|
||||||
|
|
||||||
|
#: config/templates/config/version.html:10
|
||||||
|
msgid "OpenSlides Version"
|
||||||
|
msgstr "OpenSlides Version"
|
||||||
|
|
||||||
#: participant/forms.py:27
|
#: participant/forms.py:27
|
||||||
msgid "Keep applications, try to reassign submitter"
|
msgid "Keep applications, try to reassign submitter"
|
||||||
msgstr "Anträge beibehalten, versuchen Antragssteller erneut zuzuweisen"
|
msgstr "Anträge beibehalten, versuchen Antragssteller erneut zuzuweisen"
|
||||||
@ -1423,6 +1412,15 @@ msgstr "Nachname"
|
|||||||
msgid "For existing applications"
|
msgid "For existing applications"
|
||||||
msgstr "Bei existierenden Anträgen"
|
msgstr "Bei existierenden Anträgen"
|
||||||
|
|
||||||
|
#: participant/forms.py:89
|
||||||
|
msgid "System URL"
|
||||||
|
msgstr "System URL"
|
||||||
|
|
||||||
|
#: participant/forms.py:95
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Welcome text"
|
||||||
|
msgstr "Willkommen"
|
||||||
|
|
||||||
#: participant/models.py:22 participant/templates/participant/overview.html:23
|
#: participant/models.py:22 participant/templates/participant/overview.html:23
|
||||||
msgid "Male"
|
msgid "Male"
|
||||||
msgstr "Männlich"
|
msgstr "Männlich"
|
||||||
@ -1465,10 +1463,6 @@ msgstr "Typ"
|
|||||||
msgid "Committee"
|
msgid "Committee"
|
||||||
msgstr "Amt"
|
msgstr "Amt"
|
||||||
|
|
||||||
#: participant/models.py:37 participant/templates/participant/overview.html:69
|
|
||||||
msgid "Comment"
|
|
||||||
msgstr "Kommentar"
|
|
||||||
|
|
||||||
#: participant/models.py:38
|
#: participant/models.py:38
|
||||||
msgid "First Password"
|
msgid "First Password"
|
||||||
msgstr "Erst-Passwort"
|
msgstr "Erst-Passwort"
|
||||||
@ -1481,63 +1475,63 @@ msgstr "Darf die Teilnehmer/inen sehen"
|
|||||||
msgid "Can manage participant"
|
msgid "Can manage participant"
|
||||||
msgstr "Darf die Teilnehmer/inen verwalten"
|
msgstr "Darf die Teilnehmer/inen verwalten"
|
||||||
|
|
||||||
#: participant/views.py:156
|
#: participant/views.py:157
|
||||||
msgid "New participant was successfully created."
|
msgid "New participant was successfully created."
|
||||||
msgstr "Neue/r Teilnehmer/in wurde erfolgreich angelegt."
|
msgstr "Neue/r Teilnehmer/in wurde erfolgreich angelegt."
|
||||||
|
|
||||||
#: participant/views.py:158
|
#: participant/views.py:159
|
||||||
msgid "Participant was successfully modified."
|
msgid "Participant was successfully modified."
|
||||||
msgstr "Teilnehmer/in wurde erfolgreich geändert."
|
msgstr "Teilnehmer/in wurde erfolgreich geändert."
|
||||||
|
|
||||||
#: participant/views.py:185
|
#: participant/views.py:186
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Participant <b>%s</b> was successfully deleted."
|
msgid "Participant <b>%s</b> was successfully deleted."
|
||||||
msgstr "Teilnehmer/in <b>%s</b> wurde erfolgreich gelöscht."
|
msgstr "Teilnehmer/in <b>%s</b> wurde erfolgreich gelöscht."
|
||||||
|
|
||||||
#: participant/views.py:198
|
#: participant/views.py:199
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Participant %d does not exist."
|
msgid "Participant %d does not exist."
|
||||||
msgstr "Teilnehmer/in %d existiert nicht."
|
msgstr "Teilnehmer/in %d existiert nicht."
|
||||||
|
|
||||||
#: participant/views.py:244
|
#: participant/views.py:245
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Group name \"%s\" is reserved for internal use."
|
msgid "Group name \"%s\" is reserved for internal use."
|
||||||
msgstr "Der Gruppenname \"%s\" ist für interne Verwendung reserviert."
|
msgstr "Der Gruppenname \"%s\" ist für interne Verwendung reserviert."
|
||||||
|
|
||||||
#: participant/views.py:258
|
#: participant/views.py:259
|
||||||
msgid "New group was successfully created."
|
msgid "New group was successfully created."
|
||||||
msgstr "Neue Gruppe wurde erfolgreich angelegt."
|
msgstr "Neue Gruppe wurde erfolgreich angelegt."
|
||||||
|
|
||||||
#: participant/views.py:260
|
#: participant/views.py:261
|
||||||
msgid "Group was successfully modified."
|
msgid "Group was successfully modified."
|
||||||
msgstr "Gruppe wurde erfolgreich geändert."
|
msgstr "Gruppe wurde erfolgreich geändert."
|
||||||
|
|
||||||
#: participant/views.py:279
|
#: participant/views.py:280
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Group <b>%s</b> was successfully deleted."
|
msgid "Group <b>%s</b> was successfully deleted."
|
||||||
msgstr "Gruppe <b>%s</b> wurde erfolgreich gelöscht."
|
msgstr "Gruppe <b>%s</b> wurde erfolgreich gelöscht."
|
||||||
|
|
||||||
#: participant/views.py:293
|
#: participant/views.py:294
|
||||||
msgid "User settings successfully saved."
|
msgid "User settings successfully saved."
|
||||||
msgstr "Nutzereinstellungen wurden erfolgreich gespeichert."
|
msgstr "Nutzereinstellungen wurden erfolgreich gespeichert."
|
||||||
|
|
||||||
#: participant/views.py:363
|
#: participant/views.py:364
|
||||||
msgid "Supporters removed after user import."
|
msgid "Supporters removed after user import."
|
||||||
msgstr "Unterstützer/innen nach Benutzerimport zurückgesetzt."
|
msgstr "Unterstützer/innen nach Benutzerimport zurückgesetzt."
|
||||||
|
|
||||||
#: participant/views.py:416
|
#: participant/views.py:417
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Reassigned to \"%s\" after (re)importing users."
|
msgid "Reassigned to \"%s\" after (re)importing users."
|
||||||
msgstr "Nach Benutzerimport erneut \"%s\" zugeordnet."
|
msgstr "Nach Benutzerimport erneut \"%s\" zugeordnet."
|
||||||
|
|
||||||
#: participant/views.py:419 participant/views.py:433
|
#: participant/views.py:420 participant/views.py:434
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Could not reassing application %d - object not found!"
|
msgid "Could not reassing application %d - object not found!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Antrag Id#%d konnte nicht neu zugewiesen werden - Das Objekt wurde nicht "
|
"Antrag Id#%d konnte nicht neu zugewiesen werden - Das Objekt wurde nicht "
|
||||||
"gefunden!"
|
"gefunden!"
|
||||||
|
|
||||||
#: participant/views.py:436
|
#: participant/views.py:437
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%d application could not be reassigned and needs a review!"
|
msgid "%d application could not be reassigned and needs a review!"
|
||||||
msgid_plural "%d applications could not be reassigned and need a review!"
|
msgid_plural "%d applications could not be reassigned and need a review!"
|
||||||
@ -1546,26 +1540,26 @@ msgstr[0] ""
|
|||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
"%d Anträge konnten nicht neu zugewiesen werden und benötigen ein Review!"
|
"%d Anträge konnten nicht neu zugewiesen werden und benötigen ein Review!"
|
||||||
|
|
||||||
#: participant/views.py:439
|
#: participant/views.py:440
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%d application was successfully reassigned."
|
msgid "%d application was successfully reassigned."
|
||||||
msgid_plural "%d applications were successfully reassigned."
|
msgid_plural "%d applications were successfully reassigned."
|
||||||
msgstr[0] "%d Antrag wurde erfolgreich neu zugewiesen."
|
msgstr[0] "%d Antrag wurde erfolgreich neu zugewiesen."
|
||||||
msgstr[1] "%d Anträge wurden erfolgreich neu zugewiesen."
|
msgstr[1] "%d Anträge wurden erfolgreich neu zugewiesen."
|
||||||
|
|
||||||
#: participant/views.py:442
|
#: participant/views.py:443
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%d application was discarded."
|
msgid "%d application was discarded."
|
||||||
msgid_plural "%d applications were discarded."
|
msgid_plural "%d applications were discarded."
|
||||||
msgstr[0] "%d Antrag wurde gelöscht."
|
msgstr[0] "%d Antrag wurde gelöscht."
|
||||||
msgstr[1] "%d Anträge wurden gelöscht."
|
msgstr[1] "%d Anträge wurden gelöscht."
|
||||||
|
|
||||||
#: participant/views.py:446
|
#: participant/views.py:447
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%d new participants were successfully imported."
|
msgid "%d new participants were successfully imported."
|
||||||
msgstr "%d neue Teilnehmer/innen wurden erfolgreich importiert."
|
msgstr "%d neue Teilnehmer/innen wurden erfolgreich importiert."
|
||||||
|
|
||||||
#: participant/views.py:455
|
#: participant/views.py:456
|
||||||
msgid ""
|
msgid ""
|
||||||
"Attention: All existing participants will be removed if you import new "
|
"Attention: All existing participants will be removed if you import new "
|
||||||
"participants."
|
"participants."
|
||||||
@ -1573,12 +1567,12 @@ msgstr ""
|
|||||||
"Achtung: Alle existierenden Teilnehmer/innen werden gelöscht, wenn Sie neue "
|
"Achtung: Alle existierenden Teilnehmer/innen werden gelöscht, wenn Sie neue "
|
||||||
"Teilnehmer/innen importieren."
|
"Teilnehmer/innen importieren."
|
||||||
|
|
||||||
#: participant/views.py:457
|
#: participant/views.py:458
|
||||||
msgid "Attention: Supporters from all existing applications will be removed."
|
msgid "Attention: Supporters from all existing applications will be removed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Achtung: Alle Unterstützer/innen werden von existiernden Anträgen gelöscht."
|
"Achtung: Alle Unterstützer/innen werden von existiernden Anträgen gelöscht."
|
||||||
|
|
||||||
#: participant/views.py:458
|
#: participant/views.py:459
|
||||||
msgid ""
|
msgid ""
|
||||||
"Attention: Applications which can't be mapped to new users will be set to "
|
"Attention: Applications which can't be mapped to new users will be set to "
|
||||||
"'Needs Review'."
|
"'Needs Review'."
|
||||||
@ -1586,17 +1580,17 @@ msgstr ""
|
|||||||
"Achtung: Anträge welche keinem Nutzer zugeordnet werden können bekommen "
|
"Achtung: Anträge welche keinem Nutzer zugeordnet werden können bekommen "
|
||||||
"automatisch den Status \"Benötigt Review\"."
|
"automatisch den Status \"Benötigt Review\"."
|
||||||
|
|
||||||
#: participant/views.py:470
|
#: participant/views.py:471
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The Password for <b>%s</b> was successfully reset."
|
msgid "The Password for <b>%s</b> was successfully reset."
|
||||||
msgstr "Das Passwort für <b>%s</b> wurde erfolgreich zurückgesetzt."
|
msgstr "Das Passwort für <b>%s</b> wurde erfolgreich zurückgesetzt."
|
||||||
|
|
||||||
#: participant/views.py:472
|
#: participant/views.py:473
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Do you really want to reset the password for <b>%s</b>?"
|
msgid "Do you really want to reset the password for <b>%s</b>?"
|
||||||
msgstr "Soll das Passwort für <b>%s</b> wirklich zurückgesetzt werden?"
|
msgstr "Soll das Passwort für <b>%s</b> wirklich zurückgesetzt werden?"
|
||||||
|
|
||||||
#: participant/views.py:480
|
#: participant/views.py:481
|
||||||
#: participant/templates/participant/base_participant.html:12
|
#: participant/templates/participant/base_participant.html:12
|
||||||
#: participant/templates/participant/overview.html:6
|
#: participant/templates/participant/overview.html:6
|
||||||
#: participant/templates/participant/overview.html:16
|
#: participant/templates/participant/overview.html:16
|
||||||
@ -1605,6 +1599,11 @@ msgstr "Soll das Passwort für <b>%s</b> wirklich zurückgesetzt werden?"
|
|||||||
msgid "Participants"
|
msgid "Participants"
|
||||||
msgstr "Teilnehmer/innen"
|
msgstr "Teilnehmer/innen"
|
||||||
|
|
||||||
|
#: participant/views.py:502
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Participants settings successfully saved."
|
||||||
|
msgstr "Wahl-Einstellungen wurden erfolgreich gespeichert."
|
||||||
|
|
||||||
#: participant/templates/participant/base_participant.html:15
|
#: participant/templates/participant/base_participant.html:15
|
||||||
msgid "All participants"
|
msgid "All participants"
|
||||||
msgstr "Alle Teilnehmer/innen"
|
msgstr "Alle Teilnehmer/innen"
|
||||||
@ -1637,6 +1636,12 @@ msgstr "Teilnehmerliste drucken"
|
|||||||
msgid "Print first time passwords"
|
msgid "Print first time passwords"
|
||||||
msgstr "Erst-Passwörter drucken"
|
msgstr "Erst-Passwörter drucken"
|
||||||
|
|
||||||
|
#: participant/templates/participant/config.html:5
|
||||||
|
#: participant/templates/participant/config.html:8
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Participant settings"
|
||||||
|
msgstr "Teilnehmer/innen"
|
||||||
|
|
||||||
#: participant/templates/participant/edit.html:5
|
#: participant/templates/participant/edit.html:5
|
||||||
msgid "Participant"
|
msgid "Participant"
|
||||||
msgstr "Teilnehmer/in"
|
msgstr "Teilnehmer/in"
|
||||||
@ -1694,11 +1699,11 @@ msgstr ""
|
|||||||
|
|
||||||
#: participant/templates/participant/login.html:8
|
#: participant/templates/participant/login.html:8
|
||||||
#: participant/templates/participant/login.html:16
|
#: participant/templates/participant/login.html:16
|
||||||
#: participant/templates/participant/login.html:45 templates/base.html:29
|
#: participant/templates/participant/login.html:45 templates/base.html:30
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "Anmelden"
|
msgstr "Anmelden"
|
||||||
|
|
||||||
#: participant/templates/participant/login.html:21 templates/base.html:55
|
#: participant/templates/participant/login.html:21 templates/base.html:56
|
||||||
msgid "Close this notification"
|
msgid "Close this notification"
|
||||||
msgstr "Meldung ausblenden"
|
msgstr "Meldung ausblenden"
|
||||||
|
|
||||||
@ -1870,22 +1875,18 @@ msgstr "Seite nicht gefunden."
|
|||||||
msgid "Server Error"
|
msgid "Server Error"
|
||||||
msgstr "Serverfehler"
|
msgstr "Serverfehler"
|
||||||
|
|
||||||
#: templates/base.html:19
|
#: templates/base.html:20
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Startseite"
|
msgstr "Startseite"
|
||||||
|
|
||||||
#: templates/base.html:25
|
#: templates/base.html:26
|
||||||
msgid "Logout"
|
msgid "Logout"
|
||||||
msgstr "Abmelden"
|
msgstr "Abmelden"
|
||||||
|
|
||||||
#: templates/base.html:26
|
#: templates/base.html:27
|
||||||
msgid "User Settings"
|
msgid "User Settings"
|
||||||
msgstr "Benutzereinstellungen"
|
msgstr "Benutzereinstellungen"
|
||||||
|
|
||||||
#: templates/base.html:27
|
|
||||||
msgid "Welcome"
|
|
||||||
msgstr "Willkommen"
|
|
||||||
|
|
||||||
#: utils/pdf.py:189
|
#: utils/pdf.py:189
|
||||||
msgid "%Y-%m-%d %H:%Mh"
|
msgid "%Y-%m-%d %H:%Mh"
|
||||||
msgstr "%d.%m.%Y %H:%Mh"
|
msgstr "%d.%m.%Y %H:%Mh"
|
||||||
@ -1942,6 +1943,10 @@ msgstr "verfügbare Posten"
|
|||||||
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."
|
||||||
|
|
||||||
#: utils/views.py:207
|
#: utils/views.py:219
|
||||||
msgid "undefined-filename"
|
msgid "undefined-filename"
|
||||||
msgstr "undefinierter-dateiname"
|
msgstr "undefinierter-dateiname"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid "Access for guest users"
|
||||||
|
#~ msgstr "Zugriff für Gast-Nutzer aktivieren"
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
:license: GNU GPL, see LICENSE for more details.
|
:license: GNU GPL, see LICENSE for more details.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from django.forms import Form, ModelForm, CharField, EmailField, FileField, FileInput, MultipleChoiceField, ModelMultipleChoiceField, ChoiceField, BooleanField
|
from django.forms import Form, ModelForm, CharField, EmailField, FileField, FileInput, TextInput, Textarea, MultipleChoiceField, ModelMultipleChoiceField, ChoiceField, BooleanField
|
||||||
from django.contrib.auth.models import User, Group, Permission
|
from django.contrib.auth.models import User, Group, Permission
|
||||||
from django.contrib.auth.forms import AdminPasswordChangeForm
|
from django.contrib.auth.forms import AdminPasswordChangeForm
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
@ -80,3 +80,18 @@ class UsersettingsForm(UserEditForm, CssClassMixin):
|
|||||||
class UserImportForm(Form, CssClassMixin):
|
class UserImportForm(Form, CssClassMixin):
|
||||||
csvfile = FileField(widget=FileInput(attrs={'size':'50'}), label=_("CSV File"))
|
csvfile = FileField(widget=FileInput(attrs={'size':'50'}), label=_("CSV File"))
|
||||||
application_handling = ChoiceField(required=True, choices=USER_APPLICATION_IMPORT_OPTIONS, label=_("For existing applications"))
|
application_handling = ChoiceField(required=True, choices=USER_APPLICATION_IMPORT_OPTIONS, label=_("For existing applications"))
|
||||||
|
|
||||||
|
|
||||||
|
class ConfigForm(Form, CssClassMixin):
|
||||||
|
participant_pdf_system_url = CharField(
|
||||||
|
widget=TextInput(),
|
||||||
|
required=False,
|
||||||
|
label=_("System URL"),
|
||||||
|
help_text="Printed in PDF of first time passwords only.",
|
||||||
|
)
|
||||||
|
participant_pdf_welcometext = CharField(
|
||||||
|
widget=Textarea(),
|
||||||
|
required=False,
|
||||||
|
label=_("Welcome text"),
|
||||||
|
help_text="Printed in PDF of first time passwords only.",
|
||||||
|
)
|
||||||
|
@ -68,3 +68,15 @@ class Profile(models.Model):
|
|||||||
('can_see_participant', _("Can see participant", fixstr=True)),
|
('can_see_participant', _("Can see participant", fixstr=True)),
|
||||||
('can_manage_participant', _("Can manage participant", fixstr=True)),
|
('can_manage_participant', _("Can manage participant", fixstr=True)),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
from django.dispatch import receiver
|
||||||
|
from openslides.config.signals import default_config_value
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(default_config_value, dispatch_uid="participant_default_config")
|
||||||
|
def default_config(sender, key, **kwargs):
|
||||||
|
return {
|
||||||
|
'participant_pdf_system_url': 'http://example.com:8000',
|
||||||
|
'participant_pdf_welcometext': 'Welcome to OpenSlides!',
|
||||||
|
}.get(key)
|
||||||
|
@ -2,19 +2,18 @@
|
|||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} - {% trans "Configuration" %}{% endblock %}
|
{% block title %}{{ block.super }} - {% trans "Participant settings" %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{%trans "System settings" %}</h1>
|
<h1>{%trans "Participant settings" %}</h1>
|
||||||
<form action="" method="post">{% csrf_token %}
|
<form action="" method="post">{% csrf_token %}
|
||||||
{{ form.as_p }}
|
{{ form.as_p }}
|
||||||
|
|
||||||
<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>
|
||||||
</button>
|
</button>
|
||||||
<a href='{% url config_config %}'>
|
<a href='{% url config_application %}'>
|
||||||
<button class="button" type="button" onclick="window.location='{% url config_config %}'">
|
<button class="button" type="button" onclick="window.location='{% url config_application %}'">
|
||||||
<span class="icon cancel">{%trans 'Cancel' %}</span>
|
<span class="icon cancel">{%trans 'Cancel' %}</span>
|
||||||
</button>
|
</button>
|
||||||
</a>
|
</a>
|
@ -36,12 +36,13 @@ from participant.models import Profile
|
|||||||
from participant.api import gen_username, gen_password
|
from participant.api import gen_username, gen_password
|
||||||
from participant.forms import (UserNewForm, UserEditForm, ProfileForm,
|
from participant.forms import (UserNewForm, UserEditForm, ProfileForm,
|
||||||
UsersettingsForm, UserImportForm, GroupForm,
|
UsersettingsForm, UserImportForm, GroupForm,
|
||||||
AdminPasswordChangeForm)
|
AdminPasswordChangeForm, ConfigForm)
|
||||||
from application.models import Application
|
from application.models import Application
|
||||||
from utils.utils import (template, permission_required, gen_confirm_form,
|
from utils.utils import (template, permission_required, gen_confirm_form,
|
||||||
ajax_request, decodedict, encodedict)
|
ajax_request, decodedict, encodedict)
|
||||||
from utils.pdf import print_userlist, print_passwords
|
from utils.pdf import print_userlist, print_passwords
|
||||||
from utils.template import Tab
|
from utils.template import Tab
|
||||||
|
from utils.views import FormView
|
||||||
from config.models import config
|
from config.models import config
|
||||||
|
|
||||||
from django.db.models import Avg, Max, Min, Count
|
from django.db.models import Avg, Max, Min, Count
|
||||||
@ -482,3 +483,21 @@ def register_tab(request):
|
|||||||
permission=request.user.has_perm('participant.can_see_participant') or request.user.has_perm('participant.can_manage_participant'),
|
permission=request.user.has_perm('participant.can_see_participant') or request.user.has_perm('participant.can_manage_participant'),
|
||||||
selected=selected,
|
selected=selected,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Config(FormView):
|
||||||
|
permission_required = 'config.can_manage_config'
|
||||||
|
form_class = ConfigForm
|
||||||
|
template_name = 'participant/config.html'
|
||||||
|
|
||||||
|
def get_initial(self):
|
||||||
|
return {
|
||||||
|
'participant_pdf_system_url': config['participant_pdf_system_url'],
|
||||||
|
'participant_pdf_welcometext': config['participant_pdf_welcometext'],
|
||||||
|
}
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
config['participant_pdf_system_url'] = form.cleaned_data['participant_pdf_system_url']
|
||||||
|
config['participant_pdf_welcometext'] = form.cleaned_data['participant_pdf_welcometext']
|
||||||
|
messages.success(self.request, _('Participants settings successfully saved.'))
|
||||||
|
return super(Config, self).form_valid(form)
|
@ -456,6 +456,12 @@ form input:after {
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Fieldsets */
|
||||||
|
fieldset {
|
||||||
|
width: 0px;
|
||||||
|
padding: 0 60px 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
/* Lists */
|
/* Lists */
|
||||||
ul {
|
ul {
|
||||||
list-style:none outside none;
|
list-style:none outside none;
|
||||||
|
@ -261,8 +261,8 @@ def print_passwords(request):
|
|||||||
story = [Spacer(0,0*cm)]
|
story = [Spacer(0,0*cm)]
|
||||||
|
|
||||||
data= []
|
data= []
|
||||||
system_url = config["system_url"]
|
participant_pdf_system_url = config["participant_pdf_system_url"]
|
||||||
system_welcometext = config["system_welcometext"]
|
participant_pdf_welcometext = config["participant_pdf_welcometext"]
|
||||||
for user in User.objects.all().order_by('last_name'):
|
for user in User.objects.all().order_by('last_name'):
|
||||||
try:
|
try:
|
||||||
user.get_profile()
|
user.get_profile()
|
||||||
@ -274,12 +274,12 @@ def print_passwords(request):
|
|||||||
cell.append(Paragraph(_("User: %s") % (user.username), stylesheet['Ballot_option']))
|
cell.append(Paragraph(_("User: %s") % (user.username), stylesheet['Ballot_option']))
|
||||||
cell.append(Paragraph(_("Password: %s") % (user.profile.firstpassword), stylesheet['Ballot_option']))
|
cell.append(Paragraph(_("Password: %s") % (user.profile.firstpassword), stylesheet['Ballot_option']))
|
||||||
cell.append(Spacer(0,0.5*cm))
|
cell.append(Spacer(0,0.5*cm))
|
||||||
cell.append(Paragraph(_("URL: %s") % (system_url), stylesheet['Ballot_option']))
|
cell.append(Paragraph(_("URL: %s") % (participant_pdf_system_url), stylesheet['Ballot_option']))
|
||||||
cell.append(Spacer(0,0.5*cm))
|
cell.append(Spacer(0,0.5*cm))
|
||||||
cell2 = []
|
cell2 = []
|
||||||
cell2.append(Spacer(0,0.8*cm))
|
cell2.append(Spacer(0,0.8*cm))
|
||||||
if system_welcometext is not None:
|
if participant_pdf_welcometext is not None:
|
||||||
cell2.append(Paragraph(system_welcometext.replace('\r\n','<br/>'), stylesheet['Ballot_subtitle']))
|
cell2.append(Paragraph(participant_pdf_welcometext.replace('\r\n','<br/>'), stylesheet['Ballot_subtitle']))
|
||||||
|
|
||||||
data.append([cell,cell2])
|
data.append([cell,cell2])
|
||||||
except Profile.DoesNotExist:
|
except Profile.DoesNotExist:
|
||||||
|
Loading…
Reference in New Issue
Block a user