commit
5178363127
@ -54,7 +54,7 @@ class Overview(TemplateView):
|
|||||||
context = self.get_context_data(**kwargs)
|
context = self.get_context_data(**kwargs)
|
||||||
if not request.user.has_perm('agenda.can_manage_agenda'):
|
if not request.user.has_perm('agenda.can_manage_agenda'):
|
||||||
messages.error(request,
|
messages.error(request,
|
||||||
_('You are not permitted to manage the agenda.'))
|
_('You are not authorized to manage the agenda.'))
|
||||||
return self.render_to_response(context)
|
return self.render_to_response(context)
|
||||||
transaction.commit()
|
transaction.commit()
|
||||||
for item in Item.objects.all():
|
for item in Item.objects.all():
|
||||||
|
@ -76,16 +76,16 @@ class ApplicationImportForm(forms.Form, CssClassMixin):
|
|||||||
)
|
)
|
||||||
import_permitted = forms.BooleanField(
|
import_permitted = forms.BooleanField(
|
||||||
required=False,
|
required=False,
|
||||||
label=_("Import applications with status \"permitted\""),
|
label=_("Import motions with status \"authorized\""),
|
||||||
help_text=_('Set the initial status for each application to '
|
help_text=_('Set the initial status for each motion to '
|
||||||
'"permitted"'),
|
'"authorized"'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class ConfigForm(forms.Form, CssClassMixin):
|
class ConfigForm(forms.Form, CssClassMixin):
|
||||||
application_min_supporters = forms.IntegerField(
|
application_min_supporters = forms.IntegerField(
|
||||||
widget=forms.TextInput(attrs={'class':'small-input'}),
|
widget=forms.TextInput(attrs={'class':'small-input'}),
|
||||||
label=_("Number of (minimum) required supporters for a application"),
|
label=_("Number of (minimum) required supporters for a motion"),
|
||||||
initial=4,
|
initial=4,
|
||||||
min_value=0,
|
min_value=0,
|
||||||
max_value=8,
|
max_value=8,
|
||||||
@ -94,7 +94,7 @@ class ConfigForm(forms.Form, CssClassMixin):
|
|||||||
application_preamble = forms.CharField(
|
application_preamble = forms.CharField(
|
||||||
widget=forms.TextInput(),
|
widget=forms.TextInput(),
|
||||||
required=False,
|
required=False,
|
||||||
label=_("Application preamble")
|
label=_("Motion preamble")
|
||||||
)
|
)
|
||||||
application_pdf_ballot_papers_selection = forms.ChoiceField(
|
application_pdf_ballot_papers_selection = forms.ChoiceField(
|
||||||
widget=forms.Select(),
|
widget=forms.Select(),
|
||||||
@ -115,17 +115,17 @@ class ConfigForm(forms.Form, CssClassMixin):
|
|||||||
application_pdf_title = forms.CharField(
|
application_pdf_title = forms.CharField(
|
||||||
widget=forms.TextInput(),
|
widget=forms.TextInput(),
|
||||||
required=False,
|
required=False,
|
||||||
label=_("Title for PDF document (all applications)")
|
label=_("Title for PDF document (all motions)")
|
||||||
)
|
)
|
||||||
application_pdf_preamble = forms.CharField(
|
application_pdf_preamble = forms.CharField(
|
||||||
widget=forms.Textarea(),
|
widget=forms.Textarea(),
|
||||||
required=False,
|
required=False,
|
||||||
label=_("Preamble text for PDF document (all applications)")
|
label=_("Preamble text for PDF document (all motions)")
|
||||||
)
|
)
|
||||||
|
|
||||||
application_allow_trivial_change = forms.BooleanField(
|
application_allow_trivial_change = forms.BooleanField(
|
||||||
label=_("Allow trivial changes"),
|
label=_("Allow trivial changes"),
|
||||||
help_text=_('Warning: Trivial changes undermine the application ' \
|
help_text=_('Warning: Trivial changes undermine the motions '
|
||||||
'permission system.'),
|
'autorisation system.'),
|
||||||
required=False,
|
required=False,
|
||||||
)
|
)
|
||||||
|
@ -47,7 +47,7 @@ class Application(models.Model, SlideMixin):
|
|||||||
('adj', _('Adjourned')),
|
('adj', _('Adjourned')),
|
||||||
('noc', _('Not Concerned')),
|
('noc', _('Not Concerned')),
|
||||||
('com', _('Commited a bill')),
|
('com', _('Commited a bill')),
|
||||||
('nop', _('Rejected (not permitted)')),
|
('nop', _('Rejected (not authorized)')),
|
||||||
('rev', _('Needs Review')), # Where is this status used?
|
('rev', _('Needs Review')), # Where is this status used?
|
||||||
#additional actions:
|
#additional actions:
|
||||||
# edit
|
# edit
|
||||||
@ -99,14 +99,14 @@ class Application(models.Model, SlideMixin):
|
|||||||
self.save(nonewversion=True)
|
self.save(nonewversion=True)
|
||||||
version.rejected = False
|
version.rejected = False
|
||||||
version.save()
|
version.save()
|
||||||
self.writelog(_("Version %d permitted") % (version.aid, ),
|
self.writelog(_("Version %d authorized") % (version.aid, ),
|
||||||
user)
|
user)
|
||||||
|
|
||||||
def reject_version(self, version, user = None):
|
def reject_version(self, version, user = None):
|
||||||
if version.id > self.permitted.id:
|
if version.id > self.permitted.id:
|
||||||
version.rejected = True
|
version.rejected = True
|
||||||
version.save()
|
version.save()
|
||||||
self.writelog(pgettext("Rejected means not permitted", "Version %d rejected")
|
self.writelog(pgettext("Rejected means not authorized", "Version %d rejected")
|
||||||
% (version.aid, ), user)
|
% (version.aid, ), user)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
@ -137,9 +137,9 @@ class Application(models.Model, SlideMixin):
|
|||||||
if self.status == "pub" and not self.enough_supporters:
|
if self.status == "pub" and not self.enough_supporters:
|
||||||
note.append(_("Searching for supporters."))
|
note.append(_("Searching for supporters."))
|
||||||
if self.status == "pub" and self.permitted is None:
|
if self.status == "pub" and self.permitted is None:
|
||||||
note.append(_("Not yet permitted."))
|
note.append(_("Not yet authorized."))
|
||||||
elif self.unpermitted_changes and self.permitted:
|
elif self.unpermitted_changes and self.permitted:
|
||||||
note.append(_("Not yet permitted changes."))
|
note.append(_("Not yet authorized changes."))
|
||||||
return note
|
return note
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -286,7 +286,7 @@ class Application(models.Model, SlideMixin):
|
|||||||
self.set_number()
|
self.set_number()
|
||||||
self.permitted = aversion
|
self.permitted = aversion
|
||||||
self.save()
|
self.save()
|
||||||
self.writelog(_("Version %s permitted") % (aversion.aid), user)
|
self.writelog(_("Version %s authorized") % (aversion.aid), user)
|
||||||
return self.permitted
|
return self.permitted
|
||||||
|
|
||||||
def notpermit(self, user=None):
|
def notpermit(self, user=None):
|
||||||
@ -300,7 +300,7 @@ class Application(models.Model, SlideMixin):
|
|||||||
if self.number is None:
|
if self.number is None:
|
||||||
self.set_number()
|
self.set_number()
|
||||||
self.save()
|
self.save()
|
||||||
self.writelog(_("Version %s not permitted") % (self.last_version.aid), user)
|
self.writelog(_("Version %s not authorized") % (self.last_version.aid), user)
|
||||||
|
|
||||||
def set_status(self, user, status, force=False):
|
def set_status(self, user, status, force=False):
|
||||||
"""
|
"""
|
||||||
@ -312,19 +312,22 @@ class Application(models.Model, SlideMixin):
|
|||||||
error = False
|
error = False
|
||||||
break
|
break
|
||||||
if error:
|
if error:
|
||||||
|
#TODO: Use the Right Error
|
||||||
raise NameError(_('%s is not a valid status.') % status)
|
raise NameError(_('%s is not a valid status.') % status)
|
||||||
if self.status == status:
|
if self.status == status:
|
||||||
raise NameError(_('The application status is already \'%s.\'') \
|
#TODO: Use the Right Error
|
||||||
|
raise NameError(_('The motion status is already \'%s.\'') \
|
||||||
% self.status)
|
% self.status)
|
||||||
|
|
||||||
actions = []
|
actions = []
|
||||||
actions = self.get_allowed_actions(user)
|
actions = self.get_allowed_actions(user)
|
||||||
if status not in actions and not force:
|
if status not in actions and not force:
|
||||||
raise NameError(_('The application status is: \'%(currentstatus)s\'. '\
|
#TODO: Use the Right Error
|
||||||
'You can not set the status to \'%(newstatus)s\'.') % {
|
raise NameError(_(
|
||||||
'currentstatus': self.status,
|
'The motion status is: \'%(currentstatus)s\'. '
|
||||||
'newstatus': status
|
'You can not set the status to \'%(newstatus)s\'.') % {
|
||||||
})
|
'currentstatus': self.status,
|
||||||
|
'newstatus': status})
|
||||||
|
|
||||||
oldstatus = self.get_status_display()
|
oldstatus = self.get_status_display()
|
||||||
self.status = status
|
self.status = status
|
||||||
@ -444,7 +447,7 @@ class Application(models.Model, SlideMixin):
|
|||||||
|
|
||||||
def get_agenda_title_supplement(self):
|
def get_agenda_title_supplement(self):
|
||||||
number = self.number or '<i>[%s]</i>' % ugettext('no number')
|
number = self.number or '<i>[%s]</i>' % ugettext('no number')
|
||||||
return '(%s %s)' % (ugettext('Application'), number)
|
return '(%s %s)' % (ugettext('motion'), number)
|
||||||
|
|
||||||
def __getattr__(self, name):
|
def __getattr__(self, name):
|
||||||
"""
|
"""
|
||||||
@ -520,10 +523,10 @@ class Application(models.Model, SlideMixin):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
permissions = (
|
permissions = (
|
||||||
('can_see_application', ugettext_noop("Can see application")),
|
('can_see_application', ugettext_noop("Can see motions")),
|
||||||
('can_create_application', ugettext_noop("Can create application")),
|
('can_create_application', ugettext_noop("Can create motions")),
|
||||||
('can_support_application', ugettext_noop("Can support application")),
|
('can_support_application', ugettext_noop("Can support motions")),
|
||||||
('can_manage_application', ugettext_noop("Can manage application")),
|
('can_manage_application', ugettext_noop("Can manage motions")),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -592,7 +595,7 @@ def default_config(sender, key, **kwargs):
|
|||||||
'application_preamble': _('The Assembly may decide,'),
|
'application_preamble': _('The Assembly may decide,'),
|
||||||
'application_pdf_ballot_papers_selection': 'CUSTOM_NUMBER',
|
'application_pdf_ballot_papers_selection': 'CUSTOM_NUMBER',
|
||||||
'application_pdf_ballot_papers_number': '8',
|
'application_pdf_ballot_papers_number': '8',
|
||||||
'application_pdf_title': _('Applications'),
|
'application_pdf_title': _('Motions'),
|
||||||
'application_pdf_preamble': '',
|
'application_pdf_preamble': '',
|
||||||
'application_allow_trivial_change': False,
|
'application_allow_trivial_change': False,
|
||||||
}.get(key)
|
}.get(key)
|
||||||
|
@ -6,16 +6,16 @@
|
|||||||
|
|
||||||
{% block submenu %}
|
{% block submenu %}
|
||||||
{% url application_overview as url_applicationoverview %}
|
{% url application_overview as url_applicationoverview %}
|
||||||
<h4>{% trans "Applications" %}</h4>
|
<h4>{% trans "Motions" %}</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="{% if request.path == url_applicationoverview %}selected{% endif %}"><a href="{% url application_overview %}">{% trans "All applications" %}</a></li>
|
<li class="{% if request.path == url_applicationoverview %}selected{% endif %}"><a href="{% url application_overview %}">{% trans "All motions" %}</a></li>
|
||||||
{% if perms.application.can_create_application or perms.application.can_manage_application %}
|
{% if perms.application.can_create_application or perms.application.can_manage_application %}
|
||||||
<li class="{% active request '/application/new' %}"><a href="{% url application_new %}">{% trans "New application" %}</a></li>
|
<li class="{% active request '/application/new' %}"><a href="{% url application_new %}">{% trans "New motion" %}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.application.can_manage_application %}
|
{% if perms.application.can_manage_application %}
|
||||||
<li class="{% active request '/application/import' %}"><a href="{% url application_import %}">{% trans 'Import applications' %}</a></li>
|
<li class="{% active request '/application/import' %}"><a href="{% url application_import %}">{% trans 'Import motions' %}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li><a href="{% url print_applications %}"><img src="{% static 'images/icons/pdf.png' %}"> {% trans 'All applications as PDF' %}</a></li>
|
<li><a href="{% url print_applications %}"><img src="{% static 'images/icons/pdf.png' %}"> {% trans 'All motions as PDF' %}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{# second submenu #}
|
{# second submenu #}
|
||||||
@ -31,18 +31,18 @@
|
|||||||
<ul>
|
<ul>
|
||||||
{# view application #}
|
{# view application #}
|
||||||
{% url application_view application.id as url_applicationview %}
|
{% url application_view application.id as url_applicationview %}
|
||||||
<li class="{% if request.path == url_applicationview %}selected{% endif %}"><a href="{% url application_view application.id %}">{% trans 'View application' %}</a></li>
|
<li class="{% if request.path == url_applicationview %}selected{% endif %}"><a href="{% url application_view application.id %}">{% trans 'View motion' %}</a></li>
|
||||||
{# edit application #}
|
{# edit application #}
|
||||||
{% if "edit" in actions %}
|
{% if "edit" in actions %}
|
||||||
{% url application_edit application.id as url_applicationedit %}
|
{% url application_edit application.id as url_applicationedit %}
|
||||||
<li class="{% if request.path == url_applicationedit %}selected{% endif %}"><a href="{% url application_edit application.id %}"><img src="{% static 'images/icons/edit.png' %}"> {% trans 'Edit application' %}</a></li>
|
<li class="{% if request.path == url_applicationedit %}selected{% endif %}"><a href="{% url application_edit application.id %}"><img src="{% static 'images/icons/edit.png' %}"> {% trans 'Edit motion' %}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{# delete application #}
|
{# delete application #}
|
||||||
{% if "delete" in actions %}
|
{% if "delete" in actions %}
|
||||||
<li><a href="{% url application_delete application.id %}"><img src="{% static 'images/icons/delete.png' %}"> {% trans 'Delete application' %}</a></li>
|
<li><a href="{% url application_delete application.id %}"><img src="{% static 'images/icons/delete.png' %}"> {% trans 'Delete motion' %}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{# PDF #}
|
{# PDF #}
|
||||||
<li><a href="{% url print_application application.id %}"><img src="{% static 'images/icons/pdf.png' %}"> {% trans 'Application as PDF' %}</a></li>
|
<li><a href="{% url print_application application.id %}"><img src="{% static 'images/icons/pdf.png' %}"> {% trans 'Motion as PDF' %}</a></li>
|
||||||
{# activate and polls #}
|
{# activate and polls #}
|
||||||
{% if perms.projector.can_manage_projector %}
|
{% if perms.projector.can_manage_projector %}
|
||||||
<li>
|
<li>
|
||||||
|
@ -5,17 +5,17 @@
|
|||||||
{% block title %}
|
{% block title %}
|
||||||
{{ block.super }} –
|
{{ block.super }} –
|
||||||
{% if application %}
|
{% if application %}
|
||||||
{% trans "Edit application" %}
|
{% trans "Edit motion" %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% trans "New application" %}
|
{% trans "New motion" %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% if application %}
|
{% if application %}
|
||||||
<h1>{% trans "Edit application" %}</h1>
|
<h1>{% trans "Edit motion" %}</h1>
|
||||||
{% else %}
|
{% else %}
|
||||||
<h1>{% trans "New application" %}</h1>
|
<h1>{% trans "New motion" %}</h1>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<form action="" method="post">{% csrf_token %}
|
<form action="" method="post">{% csrf_token %}
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} – {% trans "Import applications" %} {% endblock %}
|
{% block title %}{{ block.super }} – {% trans "Import motions" %} {% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{% trans "Import applications" %}</h1>
|
<h1>{% trans "Import motions" %}</h1>
|
||||||
<p>{% trans 'Select a CSV file to import applications!' %}</p>
|
<p>{% trans 'Select a CSV file to import motions!' %}</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>{% 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)' %}
|
||||||
<br>
|
<br>
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load staticfiles %}
|
{% load staticfiles %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} – {% trans "Applications" %}{% endblock %}
|
{% block title %}{{ block.super }} – {% trans "Motions" %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{% trans "Applications" %}</h1>
|
<h1>{% trans "Motions" %}</h1>
|
||||||
<p><form action="{{request.url}}" name="filter" method="get">
|
<p><form action="{{ request.url }}" name="filter" method="get">
|
||||||
{% trans "Filter" %}:
|
{% trans "Filter" %}:
|
||||||
{% if min_supporters > 0 %}
|
{% if min_supporters > 0 %}
|
||||||
<input type="checkbox" name="needsup" onchange="document.forms['filter'].submit()"
|
<input type="checkbox" name="needsup" onchange="document.forms['filter'].submit()"
|
||||||
@ -19,21 +19,21 @@
|
|||||||
<input type="checkbox" name="status" onchange="document.forms['filter'].submit()"
|
<input type="checkbox" name="status" onchange="document.forms['filter'].submit()"
|
||||||
{% if 'on' in request.GET.status %}checked{% endif %}> {% trans "Status" %}:
|
{% if 'on' in request.GET.status %}checked{% endif %}> {% trans "Status" %}:
|
||||||
<select class="default-input" name="statusvalue" onchange="{% if 'on' in request.GET.status %}document.forms['filter'].submit(){% endif %}">
|
<select class="default-input" name="statusvalue" onchange="{% if 'on' in request.GET.status %}document.forms['filter'].submit(){% endif %}">
|
||||||
<option value="pub" {% if 'pub' in request.GET.statusvalue %}selected{% endif %}>{% trans "Not yet permitted" %}</option>
|
<option value="pub" {% if 'pub' in request.GET.statusvalue %}selected{% endif %}>{% trans "Not yet authorized" %}</option>
|
||||||
<option value="per" {% if 'on' in request.GET.status and 'per' in request.GET.statusvalue %}selected{% endif %}>{% trans "Permitted" %}</option>
|
<option value="per" {% if 'on' in request.GET.status and 'per' in request.GET.statusvalue %}selected{% endif %}>{% trans "Authorized" %}</option>
|
||||||
<option value="acc" {% if 'on' in request.GET.status and 'acc' in request.GET.statusvalue %}selected{% endif %}>{% trans "Accepted" %}</option>
|
<option value="acc" {% if 'on' in request.GET.status and 'acc' in request.GET.statusvalue %}selected{% endif %}>{% trans "Accepted" %}</option>
|
||||||
<option value="rej" {% if 'on' in request.GET.status and 'rej' in request.GET.statusvalue %}selected{% endif %}>{% trans "Rejected" %}</option>
|
<option value="rej" {% if 'on' in request.GET.status and 'rej' in request.GET.statusvalue %}selected{% endif %}>{% trans "Rejected" %}</option>
|
||||||
<option value="wit" {% if 'on' in request.GET.status and 'wit' in request.GET.statusvalue %}selected{% endif %}>{% trans "Withdrawed (by submitter)" %}</option>
|
<option value="wit" {% if 'on' in request.GET.status and 'wit' in request.GET.statusvalue %}selected{% endif %}>{% trans "Withdrawen (by submitter)" %}</option>
|
||||||
<option value="rev" {% if 'rev' in request.GET.statusvalue %}selected{% endif %}>{% trans "Needs Review" %}</option>
|
<option value="rev" {% if 'rev' in request.GET.statusvalue %}selected{% endif %}>{% trans "Needs Review" %}</option>
|
||||||
</select>
|
</select>
|
||||||
</form>
|
</form>
|
||||||
</p>
|
</p>
|
||||||
{{ applications|length }}
|
{{ applications|length }}
|
||||||
{% blocktrans count counter=applications|length %}application{% plural %}applications{% endblocktrans %}
|
{% blocktrans count counter=applications|length %}motion{% plural %}motions{% endblocktrans %}
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th><a href="?sort=number{% if 'number' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Number" %}</a></th>
|
<th><a href="?sort=number{% if 'number' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Number" %}</a></th>
|
||||||
<th><a href="?sort=title{% if 'title' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Application title" %}</a></th>
|
<th><a href="?sort=title{% if 'title' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Motion title" %}</a></th>
|
||||||
{% if min_supporters > 0 %}
|
{% if min_supporters > 0 %}
|
||||||
<th><a href="?sort=supporter{% if 'supporter' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Number of supporters" %}</a></th>
|
<th><a href="?sort=supporter{% if 'supporter' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Number of supporters" %}</a></th>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -64,24 +64,24 @@
|
|||||||
<td>
|
<td>
|
||||||
<span style="width: 1px; white-space: nowrap;">
|
<span style="width: 1px; white-space: nowrap;">
|
||||||
{% if perms.projector.can_manage_projector %}
|
{% if perms.projector.can_manage_projector %}
|
||||||
<a class="activate_link {% if application.active %}active{% endif %}" href="{% url projector_activate_slide application.sid %}" title="{% trans 'Activate application' %}">
|
<a class="activate_link {% if application.active %}active{% endif %}" href="{% url projector_activate_slide application.sid %}" title="{% trans 'Activate motion' %}">
|
||||||
<span></span>
|
<span></span>
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.application.can_manage_application %}
|
{% if perms.application.can_manage_application %}
|
||||||
<a href="{% url application_edit application.id %}"><img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit application' %}"></a>
|
<a href="{% url application_edit application.id %}"><img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit motion' %}"></a>
|
||||||
{% if "delete" in useractions %}
|
{% if "delete" in useractions %}
|
||||||
<a href="{% url application_delete application.id %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete application' %}"></a>
|
<a href="{% url application_delete application.id %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete motion' %}"></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="{% url print_application application.id %}" title="{% trans 'Application as PDF' %}"><img src="{% static 'images/icons/pdf.png' %}"></a>
|
<a href="{% url print_application application.id %}" title="{% trans 'Motion as PDF' %}"><img src="{% static 'images/icons/pdf.png' %}"></a>
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
{% empty %}
|
{% empty %}
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="7"><i>{% trans "No applications available." %}</i></td>
|
<td colspan="7"><i>{% trans "No motions available." %}</i></td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
{% load staticfiles %}
|
{% load staticfiles %}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
{{ block.super }} – {% trans "Application" %} "{{ application.public_version.title }}"
|
{{ block.super }} – {% trans "Motion" %} "{{ application.public_version.title }}"
|
||||||
– {{ ballot }}. {% trans "Vote" %}
|
– {{ ballot }}. {% trans "Vote" %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{{ application.public_version.title }} ({% trans "Application" %}
|
<h1>{{ application.public_version.title }} ({% trans "Motion" %}
|
||||||
{{ application.number }}) – {{ ballot }}. {% trans "Vote" %}</h1>
|
{{ application.number }}) – {{ ballot }}. {% trans "Vote" %}</h1>
|
||||||
<i class="helptext">{% trans "Special values" %}: -1 = {% trans 'majority' %}; -2 = {% trans 'undocumented' %}</i>
|
<i class="helptext">{% trans "Special values" %}: -1 = {% trans 'majority' %}; -2 = {% trans 'undocumented' %}</i>
|
||||||
<form action="" method="post" class="small-form">{% csrf_token %}
|
<form action="" method="post" class="small-form">{% csrf_token %}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load staticfiles %}
|
{% load staticfiles %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} – {% trans "Application" %} "{{ version.title }}"{% endblock %}
|
{% block title %}{{ block.super }} – {% trans "Motion" %} "{{ version.title }}"{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
{% block submenu %}
|
{% block submenu %}
|
||||||
@ -143,7 +143,7 @@
|
|||||||
|
|
||||||
{% if perms.application.can_manage_application %}
|
{% if perms.application.can_manage_application %}
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<h4><b>{% trans "Manage application" %}</b></h4>
|
<h4><b>{% trans "Manage motion" %}</b></h4>
|
||||||
|
|
||||||
{% if "pub" in actions or "per" in actions or "nop" in actions or "setnumber" in actions %}
|
{% if "pub" in actions or "per" in actions or "nop" in actions or "setnumber" in actions %}
|
||||||
<h4>{% trans "Formal validation" %}:</h4>
|
<h4>{% trans "Formal validation" %}:</h4>
|
||||||
@ -206,7 +206,7 @@
|
|||||||
<div id="main">
|
<div id="main">
|
||||||
<h1>
|
<h1>
|
||||||
{{ version.title }}
|
{{ version.title }}
|
||||||
({% trans "Application" %}
|
({% trans "Motion" %}
|
||||||
{% if application.number != None %}
|
{% if application.number != None %}
|
||||||
{{ application.number }})
|
{{ application.number }})
|
||||||
{% else %}
|
{% else %}
|
||||||
@ -221,11 +221,11 @@
|
|||||||
{% if version == application.public_version %}
|
{% if version == application.public_version %}
|
||||||
{% trans "This is not the newest version." %} <a href="{% url application_view_newest application.id %}">{% trans "Go to version" %} {{ application.last_version.aid }}.</a>
|
{% trans "This is not the newest version." %} <a href="{% url application_view_newest application.id %}">{% trans "Go to version" %} {{ application.last_version.aid }}.</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
{% trans "This is not the permitted version." %} <a href="{% url application_view application.id %}">{% trans "Go to version" %} {{ application.public_version.aid }}.</a>
|
{% trans "This is not the authorized version." %} <a href="{% url application_view application.id %}">{% trans "Go to version" %} {{ application.public_version.aid }}.</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<h2>{% trans "Application" %}:</h2>
|
<h2>{% trans "Motion" %}:</h2>
|
||||||
|
|
||||||
{{ version.text|linebreaks }}
|
{{ version.text|linebreaks }}
|
||||||
|
|
||||||
@ -256,7 +256,7 @@
|
|||||||
<td style="white-space:nowrap;">
|
<td style="white-space:nowrap;">
|
||||||
{% if application.status != "pub" %}
|
{% if application.status != "pub" %}
|
||||||
{% if revision == application.permitted %}
|
{% if revision == application.permitted %}
|
||||||
<img title="{% trans 'Version permitted' %}" src="{% static 'images/icons/accept.png' %}">
|
<img title="{% trans 'Version authorized' %}" src="{% static 'images/icons/accept.png' %}">
|
||||||
{% else %}
|
{% else %}
|
||||||
{% if perms.application.can_manage_application %}
|
{% if perms.application.can_manage_application %}
|
||||||
<a href="{% url application_version_permit revision.id %}"><img title="{% trans 'Permit Version' %}" src="{% static 'images/icons/accept-grey.png' %}"></a>
|
<a href="{% url application_version_permit revision.id %}"><img title="{% trans 'Permit Version' %}" src="{% static 'images/icons/accept-grey.png' %}"></a>
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
<a href="{% model_url application 'view' %}">
|
<a href="{% model_url application 'view' %}">
|
||||||
{{ application.public_version.title }}
|
{{ application.public_version.title }}
|
||||||
</a>
|
</a>
|
||||||
({% trans 'Application' %}
|
({% trans "motion" %}
|
||||||
{% if application.number %}
|
{% if application.number %}
|
||||||
{{ application.number }})
|
{{ application.number }})
|
||||||
{% else %}
|
{% else %}
|
||||||
@ -28,7 +28,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</li>
|
</li>
|
||||||
{% empty %}
|
{% empty %}
|
||||||
<li>{% trans 'No applications available.' %}</li>
|
<li>{% trans 'No motion available.' %}</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load staticfiles %}
|
{% load staticfiles %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} - {% trans "Application" %} {{ application.number }}{% endblock %}
|
{% block title %}{{ block.super }} - {% trans "Motion" %} {{ application.number }}{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div id="sidebar">
|
<div id="sidebar">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
@ -60,9 +60,9 @@
|
|||||||
|
|
||||||
<h1>
|
<h1>
|
||||||
{% if application.number != None %}
|
{% if application.number != None %}
|
||||||
{% trans "Application No." %} {{ application.number }}
|
{% trans "Motion No." %} {{ application.number }}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% trans "Application" %} <i>[{% trans "no number" %}]</i>
|
{% trans "Motion" %} <i>[{% trans "no number" %}]</i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</h1>
|
</h1>
|
||||||
<b>{{ application.public_version.title }}</b>
|
<b>{{ application.public_version.title }}</b>
|
||||||
|
@ -176,12 +176,12 @@ def edit(request, application_id=None):
|
|||||||
|
|
||||||
if not is_manager \
|
if not is_manager \
|
||||||
and not request.user.has_perm('application.can_create_application'):
|
and not request.user.has_perm('application.can_create_application'):
|
||||||
messages.error(request, _("You have not the necessary rights to create or edit applications."))
|
messages.error(request, _("You have not the necessary rights to create or edit motions."))
|
||||||
return redirect(reverse('application_overview'))
|
return redirect(reverse('application_overview'))
|
||||||
if application_id is not None:
|
if application_id is not None:
|
||||||
application = Application.objects.get(id=application_id)
|
application = Application.objects.get(id=application_id)
|
||||||
if not request.user == application.submitter and not is_manager:
|
if not request.user == application.submitter and not is_manager:
|
||||||
messages.error(request, _("You can not edit this application. You are not the submitter."))
|
messages.error(request, _("You can not edit this motion. You are not the submitter."))
|
||||||
return redirect(reverse('application_view', args=[application.id]))
|
return redirect(reverse('application_view', args=[application.id]))
|
||||||
actions = application.get_allowed_actions(user=request.user)
|
actions = application.get_allowed_actions(user=request.user)
|
||||||
else:
|
else:
|
||||||
@ -241,9 +241,9 @@ def edit(request, application_id=None):
|
|||||||
application.unsupport(supporter)
|
application.unsupport(supporter)
|
||||||
|
|
||||||
if application_id is None:
|
if application_id is None:
|
||||||
messages.success(request, _('New application was successfully created.'))
|
messages.success(request, _('New motion was successfully created.'))
|
||||||
else:
|
else:
|
||||||
messages.success(request, _('Application was successfully modified.'))
|
messages.success(request, _('Motion was successfully modified.'))
|
||||||
|
|
||||||
if not 'apply' in request.POST:
|
if not 'apply' in request.POST:
|
||||||
return redirect(reverse('application_view', args=[application.id]))
|
return redirect(reverse('application_view', args=[application.id]))
|
||||||
@ -257,9 +257,9 @@ def edit(request, application_id=None):
|
|||||||
else:
|
else:
|
||||||
if application.status == "pub" and application.supporter.exists():
|
if application.status == "pub" and application.supporter.exists():
|
||||||
if request.user.has_perm('application.can_manage_application'):
|
if request.user.has_perm('application.can_manage_application'):
|
||||||
messages.warning(request, _("Attention: Do you really want to edit this application? The supporters will <b>not</b> be removed automatically because you can manage applications. Please check if the supports are valid after your changing!"))
|
messages.warning(request, _("Attention: Do you really want to edit this motion? The supporters will <b>not</b> be removed automatically because you can manage motions. Please check if the supports are valid after your changing!"))
|
||||||
else:
|
else:
|
||||||
messages.warning(request, _("Attention: Do you really want to edit this application? All <b>%s</b> supporters will be removed! Try to convince the supporters again.") % application.supporter.count() )
|
messages.warning(request, _("Attention: Do you really want to edit this motion? All <b>%s</b> supporters will be removed! Try to convince the supporters again.") % application.supporter.count() )
|
||||||
initial = {'title': application.title,
|
initial = {'title': application.title,
|
||||||
'text': application.text,
|
'text': application.text,
|
||||||
'reason': application.reason}
|
'reason': application.reason}
|
||||||
@ -290,7 +290,7 @@ def set_number(request, application_id):
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
Application.objects.get(pk=application_id).set_number(user=request.user)
|
Application.objects.get(pk=application_id).set_number(user=request.user)
|
||||||
messages.success(request, _("Application number was successfully set."))
|
messages.success(request, _("Motion number was successfully set."))
|
||||||
except Application.DoesNotExist:
|
except Application.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
except NameError:
|
except NameError:
|
||||||
@ -306,7 +306,7 @@ def permit(request, application_id):
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
Application.objects.get(pk=application_id).permit(user=request.user)
|
Application.objects.get(pk=application_id).permit(user=request.user)
|
||||||
messages.success(request, _("Application was successfully permitted."))
|
messages.success(request, _("Motion was successfully authorized."))
|
||||||
except Application.DoesNotExist:
|
except Application.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
except NameError, e:
|
except NameError, e:
|
||||||
@ -321,7 +321,7 @@ def notpermit(request, application_id):
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
Application.objects.get(pk=application_id).notpermit(user=request.user)
|
Application.objects.get(pk=application_id).notpermit(user=request.user)
|
||||||
messages.success(request, _("Application was successfully rejected."))
|
messages.success(request, _("Motion was successfully rejected."))
|
||||||
except Application.DoesNotExist:
|
except Application.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
except NameError, e:
|
except NameError, e:
|
||||||
@ -337,7 +337,7 @@ def set_status(request, application_id=None, status=None):
|
|||||||
if status is not None:
|
if status is not None:
|
||||||
application = Application.objects.get(pk=application_id)
|
application = Application.objects.get(pk=application_id)
|
||||||
application.set_status(user=request.user, status=status)
|
application.set_status(user=request.user, status=status)
|
||||||
messages.success(request, _("Application status was set to: <b>%s</b>.") % application.get_status_display())
|
messages.success(request, _("Motion status was set to: <b>%s</b>.") % application.get_status_display())
|
||||||
except Application.DoesNotExist:
|
except Application.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
except NameError, e:
|
except NameError, e:
|
||||||
@ -353,7 +353,7 @@ def reset(request, application_id):
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
Application.objects.get(pk=application_id).reset(user=request.user)
|
Application.objects.get(pk=application_id).reset(user=request.user)
|
||||||
messages.success(request, _("Application status was reset.") )
|
messages.success(request, _("Motion status was reset.") )
|
||||||
except Application.DoesNotExist:
|
except Application.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
return redirect(reverse('application_view', args=[application_id]))
|
return redirect(reverse('application_view', args=[application_id]))
|
||||||
@ -367,7 +367,7 @@ def support(request, application_id):
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
Application.objects.get(pk=application_id).support(user=request.user)
|
Application.objects.get(pk=application_id).support(user=request.user)
|
||||||
messages.success(request, _("You have support the application successfully.") )
|
messages.success(request, _("You have support the motion successfully.") )
|
||||||
except Application.DoesNotExist:
|
except Application.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
return redirect(reverse('application_view', args=[application_id]))
|
return redirect(reverse('application_view', args=[application_id]))
|
||||||
@ -381,7 +381,7 @@ def unsupport(request, application_id):
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
Application.objects.get(pk=application_id).unsupport(user=request.user)
|
Application.objects.get(pk=application_id).unsupport(user=request.user)
|
||||||
messages.success(request, _("You have unsupport the application successfully.") )
|
messages.success(request, _("You have unsupport the motion successfully.") )
|
||||||
except Application.DoesNotExist:
|
except Application.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
return redirect(reverse('application_view', args=[application_id]))
|
return redirect(reverse('application_view', args=[application_id]))
|
||||||
@ -452,20 +452,20 @@ class ApplicationDelete(DeleteView):
|
|||||||
if len(self.applications):
|
if len(self.applications):
|
||||||
for application in self.applications:
|
for application in self.applications:
|
||||||
if not 'delete' in application.get_allowed_actions(user=request.user):
|
if not 'delete' in application.get_allowed_actions(user=request.user):
|
||||||
messages.error(request, _("You can not delete application <b>%s</b>.") % application)
|
messages.error(request, _("You can not delete motion <b>%s</b>.") % application)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
title = application.title
|
title = application.title
|
||||||
application.delete(force=True)
|
application.delete(force=True)
|
||||||
messages.success(request, _("Application <b>%s</b> was successfully deleted.") % title)
|
messages.success(request, _("Motion <b>%s</b> was successfully deleted.") % title)
|
||||||
|
|
||||||
elif self.object:
|
elif self.object:
|
||||||
if not 'delete' in self.object.get_allowed_actions(user=request.user):
|
if not 'delete' in self.object.get_allowed_actions(user=request.user):
|
||||||
messages.error(request, _("You can not delete application <b>%s</b>.") % self.object)
|
messages.error(request, _("You can not delete motion <b>%s</b>.") % self.object)
|
||||||
else:
|
else:
|
||||||
title = self.object.title
|
title = self.object.title
|
||||||
self.object.delete(force=True)
|
self.object.delete(force=True)
|
||||||
messages.success(request, _("Application <b>%s</b> was successfully deleted.") % title)
|
messages.success(request, _("Motion <b>%s</b> was successfully deleted.") % title)
|
||||||
else:
|
else:
|
||||||
messages.error(request, _("Invalid request"))
|
messages.error(request, _("Invalid request"))
|
||||||
|
|
||||||
@ -486,7 +486,7 @@ class ApplicationDelete(DeleteView):
|
|||||||
self.object = self.get_object()
|
self.object = self.get_object()
|
||||||
|
|
||||||
if len(self.applications):
|
if len(self.applications):
|
||||||
self.gen_confirm_form(request, _('Do you really want to delete multiple applications?') % self.object.get_absolute_url('delete'))
|
self.gen_confirm_form(request, _('Do you really want to delete multiple motions?') % self.object.get_absolute_url('delete'))
|
||||||
else:
|
else:
|
||||||
self.gen_confirm_form(request, _('Do you really want to delete <b>%s</b>?') % self.object, self.object.get_absolute_url('delete'))
|
self.gen_confirm_form(request, _('Do you really want to delete <b>%s</b>?') % self.object, self.object.get_absolute_url('delete'))
|
||||||
|
|
||||||
@ -531,7 +531,7 @@ def permit_version(request, aversion_id):
|
|||||||
application.accept_version(aversion, user = request.user)
|
application.accept_version(aversion, user = request.user)
|
||||||
messages.success(request, _("Version <b>%s</b> accepted.") % (aversion.aid))
|
messages.success(request, _("Version <b>%s</b> accepted.") % (aversion.aid))
|
||||||
else:
|
else:
|
||||||
gen_confirm_form(request, _('Do you really want to permit version <b>%s</b>?') % aversion.aid, reverse('application_version_permit', args=[aversion.id]))
|
gen_confirm_form(request, _('Do you really want to authorize version <b>%s</b>?') % aversion.aid, reverse('application_version_permit', args=[aversion.id]))
|
||||||
return redirect(reverse('application_view', args=[application.id]))
|
return redirect(reverse('application_view', args=[application.id]))
|
||||||
|
|
||||||
|
|
||||||
@ -644,11 +644,11 @@ def application_import(request):
|
|||||||
application.save(user, trivial_change=True)
|
application.save(user, trivial_change=True)
|
||||||
|
|
||||||
if applications_generated:
|
if applications_generated:
|
||||||
messages.success(request, ungettext('%d application was successfully imported.',
|
messages.success(request, ungettext('%d motion was successfully imported.',
|
||||||
'%d applications were successfully imported.', applications_generated) % applications_generated)
|
'%d motions were successfully imported.', applications_generated) % applications_generated)
|
||||||
if applications_modified:
|
if applications_modified:
|
||||||
messages.success(request, ungettext('%d application was successfully modified.',
|
messages.success(request, ungettext('%d motion was successfully modified.',
|
||||||
'%d applications were successfully modified.', applications_modified) % applications_modified)
|
'%d motions were successfully modified.', applications_modified) % applications_modified)
|
||||||
if users_generated:
|
if users_generated:
|
||||||
messages.success(request, ungettext('%d new user was added.', '%d new users were added.', users_generated) % users_generated)
|
messages.success(request, ungettext('%d new user was added.', '%d new users were added.', users_generated) % users_generated)
|
||||||
return redirect(reverse('application_overview'))
|
return redirect(reverse('application_overview'))
|
||||||
@ -660,8 +660,8 @@ def application_import(request):
|
|||||||
else:
|
else:
|
||||||
messages.error(request, _('Please check the form for errors.'))
|
messages.error(request, _('Please check the form for errors.'))
|
||||||
else:
|
else:
|
||||||
messages.warning(request, _("Attention: Existing applications will be modified if you import new applications with the same number."))
|
messages.warning(request, _("Attention: Existing motions will be modified if you import new motions with the same number."))
|
||||||
messages.warning(request, _("Attention: Importing an application without a number multiple times will create duplicates."))
|
messages.warning(request, _("Attention: Importing an motions without a number multiple times will create duplicates."))
|
||||||
form = ApplicationImportForm()
|
form = ApplicationImportForm()
|
||||||
return {
|
return {
|
||||||
'form': form,
|
'form': form,
|
||||||
@ -708,14 +708,14 @@ class ApplicationPDF(PDFView):
|
|||||||
story.append(Spacer(0,0.75*cm))
|
story.append(Spacer(0,0.75*cm))
|
||||||
applications = Application.objects.order_by('number')
|
applications = Application.objects.order_by('number')
|
||||||
if not applications: # No applications existing
|
if not applications: # No applications existing
|
||||||
story.append(Paragraph(_("No applications available."), stylesheet['Heading3']))
|
story.append(Paragraph(_("No motions available."), stylesheet['Heading3']))
|
||||||
else: # Print all Applications
|
else: # Print all Applications
|
||||||
# List of applications
|
# List of applications
|
||||||
for application in applications:
|
for application in applications:
|
||||||
if application.number:
|
if application.number:
|
||||||
story.append(Paragraph(_("Application No.")+" %s: %s" % (application.number, application.title), stylesheet['Heading3']))
|
story.append(Paragraph(_("Motion No.")+" %s: %s" % (application.number, application.title), stylesheet['Heading3']))
|
||||||
else:
|
else:
|
||||||
story.append(Paragraph(_("Application No.")+" : %s" % (application.title), stylesheet['Heading3']))
|
story.append(Paragraph(_("Motion No.")+" : %s" % (application.title), stylesheet['Heading3']))
|
||||||
# Applications details (each application on single page)
|
# Applications details (each application on single page)
|
||||||
for application in applications:
|
for application in applications:
|
||||||
story.append(PageBreak())
|
story.append(PageBreak())
|
||||||
@ -727,9 +727,9 @@ class ApplicationPDF(PDFView):
|
|||||||
def get_application(self, application, story):
|
def get_application(self, application, story):
|
||||||
# application number
|
# application number
|
||||||
if application.number:
|
if application.number:
|
||||||
story.append(Paragraph(_("Application No.")+" %s" % application.number, stylesheet['Heading1']))
|
story.append(Paragraph(_("Motion No.")+" %s" % application.number, stylesheet['Heading1']))
|
||||||
else:
|
else:
|
||||||
story.append(Paragraph(_("Application No."), stylesheet['Heading1']))
|
story.append(Paragraph(_("Motion No."), stylesheet['Heading1']))
|
||||||
|
|
||||||
# submitter
|
# submitter
|
||||||
cell1a = []
|
cell1a = []
|
||||||
@ -909,7 +909,7 @@ class Config(FormView):
|
|||||||
config['application_pdf_title'] = form.cleaned_data['application_pdf_title']
|
config['application_pdf_title'] = form.cleaned_data['application_pdf_title']
|
||||||
config['application_pdf_preamble'] = form.cleaned_data['application_pdf_preamble']
|
config['application_pdf_preamble'] = form.cleaned_data['application_pdf_preamble']
|
||||||
config['application_allow_trivial_change'] = form.cleaned_data['application_allow_trivial_change']
|
config['application_allow_trivial_change'] = form.cleaned_data['application_allow_trivial_change']
|
||||||
messages.success(self.request, _('Application settings successfully saved.'))
|
messages.success(self.request, _('Motion settings successfully saved.'))
|
||||||
return super(Config, self).form_valid(form)
|
return super(Config, self).form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ def default_config(sender, key, **kwargs):
|
|||||||
return {
|
return {
|
||||||
'event_name': 'OpenSlides',
|
'event_name': 'OpenSlides',
|
||||||
'event_description':
|
'event_description':
|
||||||
_('Presentation system for agenda, applications and elections'),
|
_('Presentation system for agenda, motions and elections'),
|
||||||
'event_date': '',
|
'event_date': '',
|
||||||
'event_location': '',
|
'event_location': '',
|
||||||
'event_organizer': '',
|
'event_organizer': '',
|
||||||
|
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: OpenSlides 1.x\n"
|
"Project-Id-Version: OpenSlides 1.x\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2012-07-28 11:02+0200\n"
|
"POT-Creation-Date: 2012-08-05 22:16+0200\n"
|
||||||
"PO-Revision-Date: 2012-07-28 11:07+0200\n"
|
"PO-Revision-Date: 2012-07-28 11:07+0200\n"
|
||||||
"Last-Translator: Oskar Hahn <mail@oshahn.de>\n"
|
"Last-Translator: Oskar Hahn <mail@oshahn.de>\n"
|
||||||
"Language-Team: Deutsch <mail@oshahn.de>\n"
|
"Language-Team: Deutsch <mail@oshahn.de>\n"
|
||||||
@ -29,13 +29,13 @@ msgstr "Englisch"
|
|||||||
msgid "Parent item"
|
msgid "Parent item"
|
||||||
msgstr "Elternelement"
|
msgstr "Elternelement"
|
||||||
|
|
||||||
#: agenda/models.py:42 application/forms.py:40 application/models.py:531
|
#: agenda/models.py:42 application/forms.py:40 application/models.py:534
|
||||||
#: application/templates/application/view.html:249 config/forms.py:61
|
#: application/templates/application/view.html:249 config/forms.py:61
|
||||||
#: projector/models.py:32
|
#: projector/models.py:32
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titel"
|
msgstr "Titel"
|
||||||
|
|
||||||
#: agenda/models.py:43 application/forms.py:41 application/models.py:532
|
#: agenda/models.py:43 application/forms.py:41 application/models.py:535
|
||||||
#: application/templates/application/view.html:250 projector/models.py:33
|
#: application/templates/application/view.html:250 projector/models.py:33
|
||||||
msgid "Text"
|
msgid "Text"
|
||||||
msgstr "Text"
|
msgstr "Text"
|
||||||
@ -54,15 +54,15 @@ msgstr "Abgeschlossen"
|
|||||||
msgid "Weight"
|
msgid "Weight"
|
||||||
msgstr "Gewichtung"
|
msgstr "Gewichtung"
|
||||||
|
|
||||||
#: agenda/models.py:173
|
#: agenda/models.py:180
|
||||||
msgid "Can see agenda"
|
msgid "Can see agenda"
|
||||||
msgstr "Darf die Tagesordnung sehen"
|
msgstr "Darf die Tagesordnung sehen"
|
||||||
|
|
||||||
#: agenda/models.py:174
|
#: agenda/models.py:181
|
||||||
msgid "Can manage agenda"
|
msgid "Can manage agenda"
|
||||||
msgstr "Darf die Tagesordung verwalten"
|
msgstr "Darf die Tagesordung verwalten"
|
||||||
|
|
||||||
#: agenda/models.py:182 agenda/slides.py:20 agenda/views.py:239
|
#: agenda/models.py:189 agenda/slides.py:20 agenda/views.py:239
|
||||||
#: agenda/views.py:240 agenda/views.py:259
|
#: agenda/views.py:240 agenda/views.py:259
|
||||||
#: agenda/templates/agenda/base_agenda.html:10
|
#: agenda/templates/agenda/base_agenda.html:10
|
||||||
#: agenda/templates/agenda/overview.html:8
|
#: agenda/templates/agenda/overview.html:8
|
||||||
@ -74,7 +74,7 @@ msgid "Agenda"
|
|||||||
msgstr "Tagesordnung"
|
msgstr "Tagesordnung"
|
||||||
|
|
||||||
#: agenda/views.py:57
|
#: agenda/views.py:57
|
||||||
msgid "You are not permitted to manage the agenda."
|
msgid "You are not authorized to manage the agenda."
|
||||||
msgstr "Sie sind nicht berechtigt die Tagesordnung zu ändern."
|
msgstr "Sie sind nicht berechtigt die Tagesordnung zu ändern."
|
||||||
|
|
||||||
#: agenda/views.py:73
|
#: agenda/views.py:73
|
||||||
@ -102,8 +102,8 @@ msgid "Item %s was successfully deleted."
|
|||||||
msgstr "Eintrag %s wurde erfolgreich gelöscht."
|
msgstr "Eintrag %s wurde erfolgreich gelöscht."
|
||||||
|
|
||||||
#: agenda/views.py:196 agenda/views.py:211
|
#: agenda/views.py:196 agenda/views.py:211
|
||||||
#: agenda/templates/agenda/overview.html:46 application/models.py:565
|
#: agenda/templates/agenda/overview.html:46 application/models.py:568
|
||||||
#: application/views.py:493 application/views.py:818 application/views.py:869
|
#: application/views.py:481 application/views.py:806 application/views.py:857
|
||||||
#: application/templates/application/view.html:82
|
#: application/templates/application/view.html:82
|
||||||
#: application/templates/projector/Application.html:37
|
#: application/templates/projector/Application.html:37
|
||||||
#: assignment/models.py:240 assignment/views.py:557
|
#: assignment/models.py:240 assignment/views.py:557
|
||||||
@ -116,8 +116,8 @@ msgid "Yes"
|
|||||||
msgstr "Ja"
|
msgstr "Ja"
|
||||||
|
|
||||||
#: agenda/views.py:197 agenda/views.py:212
|
#: agenda/views.py:197 agenda/views.py:212
|
||||||
#: agenda/templates/agenda/overview.html:47 application/models.py:565
|
#: agenda/templates/agenda/overview.html:47 application/models.py:568
|
||||||
#: application/views.py:493 application/views.py:818 application/views.py:870
|
#: application/views.py:481 application/views.py:806 application/views.py:858
|
||||||
#: application/templates/application/view.html:83
|
#: application/templates/application/view.html:83
|
||||||
#: application/templates/projector/Application.html:38
|
#: application/templates/projector/Application.html:38
|
||||||
#: assignment/models.py:240 assignment/views.py:558
|
#: assignment/models.py:240 assignment/views.py:558
|
||||||
@ -324,7 +324,7 @@ msgstr "Löschen"
|
|||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Bearbeiten"
|
msgstr "Bearbeiten"
|
||||||
|
|
||||||
#: application/forms.py:43 application/models.py:533 application/views.py:837
|
#: application/forms.py:43 application/models.py:536 application/views.py:825
|
||||||
#: application/templates/application/view.html:232
|
#: application/templates/application/view.html:232
|
||||||
#: application/templates/application/view.html:252
|
#: application/templates/application/view.html:252
|
||||||
#: application/templates/projector/Application.html:77
|
#: application/templates/projector/Application.html:77
|
||||||
@ -339,14 +339,14 @@ msgstr "Triviale Änderung"
|
|||||||
msgid "Trivial changes don't create a new version."
|
msgid "Trivial changes don't create a new version."
|
||||||
msgstr "Triviale Änderungen erzeugen keine neue Version."
|
msgstr "Triviale Änderungen erzeugen keine neue Version."
|
||||||
|
|
||||||
#: application/forms.py:56 application/models.py:63 application/views.py:749
|
#: application/forms.py:56 application/models.py:63 application/views.py:737
|
||||||
#: application/templates/application/overview.html:41
|
#: application/templates/application/overview.html:41
|
||||||
#: application/templates/application/view.html:18
|
#: application/templates/application/view.html:18
|
||||||
#: application/templates/projector/Application.html:55
|
#: application/templates/projector/Application.html:55
|
||||||
msgid "Submitter"
|
msgid "Submitter"
|
||||||
msgstr "Antragsteller/in"
|
msgstr "Antragsteller/in"
|
||||||
|
|
||||||
#: application/forms.py:68 application/models.py:65 application/views.py:768
|
#: application/forms.py:68 application/models.py:65 application/views.py:756
|
||||||
#: application/templates/application/view.html:25
|
#: application/templates/application/view.html:25
|
||||||
msgid "Supporters"
|
msgid "Supporters"
|
||||||
msgstr "Unterstützer/innen"
|
msgstr "Unterstützer/innen"
|
||||||
@ -356,15 +356,15 @@ msgid "CSV File"
|
|||||||
msgstr "CSV-Datei"
|
msgstr "CSV-Datei"
|
||||||
|
|
||||||
#: application/forms.py:79
|
#: application/forms.py:79
|
||||||
msgid "Import applications with status \"permitted\""
|
msgid "Import motions with status \"authorized\""
|
||||||
msgstr "Anträge als \"Zugelassen\" importieren"
|
msgstr "Anträge als \"Zugelassen\" importieren"
|
||||||
|
|
||||||
#: application/forms.py:80
|
#: application/forms.py:80
|
||||||
msgid "Set the initial status for each application to \"permitted\""
|
msgid "Set the initial status for each motion to \"authorized\""
|
||||||
msgstr "Setzt den initialen Status für jeden Antrag auf \"zugelassen\""
|
msgstr "Setzt den initialen Status für jeden Antrag auf \"zugelassen\""
|
||||||
|
|
||||||
#: application/forms.py:88
|
#: application/forms.py:88
|
||||||
msgid "Number of (minimum) required supporters for a application"
|
msgid "Number of (minimum) required supporters for a motion"
|
||||||
msgstr "Mindestanzahl erforderlicher Unterstützer/innen für einen Antrag"
|
msgstr "Mindestanzahl erforderlicher Unterstützer/innen für einen Antrag"
|
||||||
|
|
||||||
#: application/forms.py:92
|
#: application/forms.py:92
|
||||||
@ -372,7 +372,7 @@ msgid "Choose 0 to disable the supporting system"
|
|||||||
msgstr "Wähle 0 um das Unterstützersystem zu deaktivieren"
|
msgstr "Wähle 0 um das Unterstützersystem zu deaktivieren"
|
||||||
|
|
||||||
#: application/forms.py:97
|
#: application/forms.py:97
|
||||||
msgid "Application preamble"
|
msgid "Motion preamble"
|
||||||
msgstr "Antragseinleitung"
|
msgstr "Antragseinleitung"
|
||||||
|
|
||||||
#: application/forms.py:102 assignment/forms.py:48
|
#: application/forms.py:102 assignment/forms.py:48
|
||||||
@ -396,19 +396,19 @@ msgid "Custom number of ballot papers"
|
|||||||
msgstr "Benutzerdefinierte Anzahl von Stimmzetteln"
|
msgstr "Benutzerdefinierte Anzahl von Stimmzetteln"
|
||||||
|
|
||||||
#: application/forms.py:118
|
#: application/forms.py:118
|
||||||
msgid "Title for PDF document (all applications)"
|
msgid "Title for PDF document (all motions)"
|
||||||
msgstr "Titel für PDF-Dokument (alle Anträge)"
|
msgstr "Titel für PDF-Dokument (alle Anträge)"
|
||||||
|
|
||||||
#: application/forms.py:123
|
#: application/forms.py:123
|
||||||
msgid "Preamble text for PDF document (all applications)"
|
msgid "Preamble text for PDF document (all motions)"
|
||||||
msgstr "Einleitungstext für PDF-Dokument (alle Anträge)"
|
msgstr "Einleitungstext für PDF-Dokument (alle Wahlen) "
|
||||||
|
|
||||||
#: application/forms.py:127
|
#: application/forms.py:127
|
||||||
msgid "Allow trivial changes"
|
msgid "Allow trivial changes"
|
||||||
msgstr "Triviale Änderungen erlauben"
|
msgstr "Triviale Änderungen erlauben"
|
||||||
|
|
||||||
#: application/forms.py:128
|
#: application/forms.py:128
|
||||||
msgid "Warning: Trivial changes undermine the application permission system."
|
msgid "Warning: Trivial changes undermine the motions autorisation system."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Warnung: Triviale Änderungen unterlaufen das Zulassungssystem von Anträgen."
|
"Warnung: Triviale Änderungen unterlaufen das Zulassungssystem von Anträgen."
|
||||||
|
|
||||||
@ -416,7 +416,7 @@ msgstr ""
|
|||||||
msgid "Published"
|
msgid "Published"
|
||||||
msgstr "Veröffentlicht"
|
msgstr "Veröffentlicht"
|
||||||
|
|
||||||
#: application/models.py:43 application/templates/application/overview.html:23
|
#: application/models.py:43
|
||||||
msgid "Permitted"
|
msgid "Permitted"
|
||||||
msgstr "Zugelassen"
|
msgstr "Zugelassen"
|
||||||
|
|
||||||
@ -449,7 +449,7 @@ msgid "Commited a bill"
|
|||||||
msgstr "Verwiesen (in Ausschuss)"
|
msgstr "Verwiesen (in Ausschuss)"
|
||||||
|
|
||||||
#: application/models.py:50
|
#: application/models.py:50
|
||||||
msgid "Rejected (not permitted)"
|
msgid "Rejected (not authorized)"
|
||||||
msgstr "Verworfen (nicht zulässig)"
|
msgstr "Verworfen (nicht zulässig)"
|
||||||
|
|
||||||
#: application/models.py:51 application/templates/application/overview.html:27
|
#: application/models.py:51 application/templates/application/overview.html:27
|
||||||
@ -457,13 +457,11 @@ msgid "Needs Review"
|
|||||||
msgstr "Benötigt Review"
|
msgstr "Benötigt Review"
|
||||||
|
|
||||||
#: application/models.py:102
|
#: application/models.py:102
|
||||||
#, python-format
|
msgid "Version %d authorized"
|
||||||
msgid "Version %d permitted"
|
|
||||||
msgstr "Version %d zugelassen"
|
msgstr "Version %d zugelassen"
|
||||||
|
|
||||||
#: application/models.py:109
|
#: application/models.py:109
|
||||||
#, python-format
|
msgctxt "Rejected means not authorized"
|
||||||
msgctxt "Rejected means not permitted"
|
|
||||||
msgid "Version %d rejected"
|
msgid "Version %d rejected"
|
||||||
msgstr "Version %d verworfen"
|
msgstr "Version %d verworfen"
|
||||||
|
|
||||||
@ -472,11 +470,11 @@ msgid "Searching for supporters."
|
|||||||
msgstr "Auf Unterstützersuche."
|
msgstr "Auf Unterstützersuche."
|
||||||
|
|
||||||
#: application/models.py:140
|
#: application/models.py:140
|
||||||
msgid "Not yet permitted."
|
msgid "Not yet authorized."
|
||||||
msgstr "Noch nicht zugelassen."
|
msgstr "Noch nicht zugelassen."
|
||||||
|
|
||||||
#: application/models.py:142
|
#: application/models.py:142
|
||||||
msgid "Not yet permitted changes."
|
msgid "Not yet authorized changes."
|
||||||
msgstr "Noch nicht zugelassene Änderungen."
|
msgstr "Noch nicht zugelassene Änderungen."
|
||||||
|
|
||||||
#: application/models.py:208
|
#: application/models.py:208
|
||||||
@ -501,12 +499,12 @@ msgstr "Unterstützer/innen gelöscht"
|
|||||||
msgid "Status reseted to: %s"
|
msgid "Status reseted to: %s"
|
||||||
msgstr "Status zurückgesetzt auf: %s"
|
msgstr "Status zurückgesetzt auf: %s"
|
||||||
|
|
||||||
#: application/models.py:250 application/views.py:242
|
#: application/models.py:250
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Supporter: +%s"
|
msgid "Supporter: +%s"
|
||||||
msgstr "Unterstützer/in: +%s"
|
msgstr "Unterstützer/in: +%s"
|
||||||
|
|
||||||
#: application/models.py:260 application/views.py:253
|
#: application/models.py:260
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Supporter: -%s"
|
msgid "Supporter: -%s"
|
||||||
msgstr "Unterstützer/in: -%s"
|
msgstr "Unterstützer/in: -%s"
|
||||||
@ -517,308 +515,297 @@ msgid "Number set: %s"
|
|||||||
msgstr "Nummer gesetzt: %s"
|
msgstr "Nummer gesetzt: %s"
|
||||||
|
|
||||||
#: application/models.py:289
|
#: application/models.py:289
|
||||||
#, python-format
|
msgid "Version %s authorized"
|
||||||
msgid "Version %s permitted"
|
|
||||||
msgstr "Version %s zugelassen"
|
msgstr "Version %s zugelassen"
|
||||||
|
|
||||||
#: application/models.py:303
|
#: application/models.py:303
|
||||||
#, python-format
|
msgid "Version %s not authorized"
|
||||||
msgid "Version %s not permitted"
|
|
||||||
msgstr "Version %s nicht zugelassen"
|
msgstr "Version %s nicht zugelassen"
|
||||||
|
|
||||||
#: application/models.py:315 assignment/models.py:59
|
#: application/models.py:316 assignment/models.py:59
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%s is not a valid status."
|
msgid "%s is not a valid status."
|
||||||
msgstr "%s ist kein gültiger Status."
|
msgstr "%s ist kein gültiger Status."
|
||||||
|
|
||||||
#: application/models.py:317
|
#: application/models.py:319
|
||||||
#, python-format
|
msgid "The motion status is already '%s.'"
|
||||||
msgid "The application status is already '%s.'"
|
|
||||||
msgstr "Der Antragsstatus ist bereits '%s'."
|
msgstr "Der Antragsstatus ist bereits '%s'."
|
||||||
|
|
||||||
#: application/models.py:323
|
#: application/models.py:327
|
||||||
#, python-format
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"The application status is: '%(currentstatus)s'. You can not set the status "
|
"The motion status is: '%(currentstatus)s'. You can not set the status to "
|
||||||
"to '%(newstatus)s'."
|
"'%(newstatus)s'."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Der Antragsstatus ist: '%(currentstatus)s'. Sie können den Status nicht auf "
|
"Der Antragsstatus ist: '%(currentstatus)s'. Sie können den Status nicht auf "
|
||||||
"'%(newstatus)s' setzen."
|
"'%(newstatus)s' setzen."
|
||||||
|
|
||||||
#: application/models.py:332
|
#: application/models.py:335
|
||||||
msgid "Status modified"
|
msgid "Status modified"
|
||||||
msgstr "Status geändert"
|
msgstr "Status geändert"
|
||||||
|
|
||||||
#: application/models.py:438
|
#: application/models.py:441
|
||||||
msgid "by"
|
msgid "by"
|
||||||
msgstr "von"
|
msgstr "von"
|
||||||
|
|
||||||
#: application/models.py:446 application/templates/application/view.html:213
|
#: application/models.py:449 application/templates/application/view.html:213
|
||||||
#: application/templates/application/widget.html:27
|
#: application/templates/application/widget.html:27
|
||||||
#: application/templates/projector/Application.html:65
|
#: application/templates/projector/Application.html:65
|
||||||
msgid "no number"
|
msgid "no number"
|
||||||
msgstr "ohne Nummer"
|
msgstr "ohne Nummer"
|
||||||
|
|
||||||
#: application/models.py:447 application/views.py:709 application/views.py:851
|
#: application/models.py:450
|
||||||
#: application/templates/application/poll_view.html:7
|
#: application/templates/application/overview.html:32
|
||||||
#: application/templates/application/poll_view.html:12
|
|
||||||
#: application/templates/application/view.html:7
|
|
||||||
#: application/templates/application/view.html:209
|
|
||||||
#: application/templates/application/view.html:228
|
|
||||||
#: application/templates/application/widget.html:23
|
#: application/templates/application/widget.html:23
|
||||||
#: application/templates/projector/Application.html:7
|
msgid "motion"
|
||||||
#: application/templates/projector/Application.html:65
|
msgstr "antrag"
|
||||||
msgid "Application"
|
|
||||||
msgstr "Antrag"
|
|
||||||
|
|
||||||
#: application/models.py:472
|
#: application/models.py:475
|
||||||
msgid "Poll created"
|
msgid "Poll created"
|
||||||
msgstr "Abstimmung erstellt"
|
msgstr "Abstimmung erstellt"
|
||||||
|
|
||||||
#: application/models.py:523
|
#: application/models.py:526
|
||||||
msgid "Can see application"
|
msgid "Can see motions"
|
||||||
msgstr "Darf Anträge sehen"
|
msgstr "Darf Anträge sehen"
|
||||||
|
|
||||||
#: application/models.py:524
|
#: application/models.py:527
|
||||||
msgid "Can create application"
|
msgid "Can create motions"
|
||||||
msgstr "Darf Anträge erstellen"
|
msgstr "Darf Anträge erstellen"
|
||||||
|
|
||||||
#: application/models.py:525
|
#: application/models.py:528
|
||||||
msgid "Can support application"
|
msgid "Can support motions"
|
||||||
msgstr "Darf Anträge unterstützen"
|
msgstr "Darf Anträge unterstützen"
|
||||||
|
|
||||||
#: application/models.py:526
|
#: application/models.py:529
|
||||||
msgid "Can manage application"
|
msgid "Can manage motions"
|
||||||
msgstr "Darf Anträge verwalten"
|
msgstr "Darf Anträge verwalten"
|
||||||
|
|
||||||
#: application/models.py:566 assignment/models.py:241
|
#: application/models.py:569 assignment/models.py:241
|
||||||
msgid "Abstain"
|
msgid "Abstain"
|
||||||
msgstr "Enthaltung"
|
msgstr "Enthaltung"
|
||||||
|
|
||||||
#: application/models.py:592
|
#: application/models.py:595
|
||||||
msgid "The Assembly may decide,"
|
msgid "The Assembly may decide,"
|
||||||
msgstr "Die Versammlung möge beschließen,"
|
msgstr "Die Versammlung möge beschließen,"
|
||||||
|
|
||||||
#: application/models.py:595 application/views.py:702 application/views.py:931
|
#: application/models.py:598
|
||||||
#: application/templates/application/base_application.html:9
|
#: application/templates/application/base_application.html:9
|
||||||
#: application/templates/application/overview.html:7
|
#: application/templates/application/overview.html:7
|
||||||
#: application/templates/application/overview.html:10
|
#: application/templates/application/overview.html:10
|
||||||
msgid "Applications"
|
msgid "Motions"
|
||||||
msgstr "Anträge"
|
msgstr "Anträge"
|
||||||
|
|
||||||
#: application/views.py:179
|
#: application/views.py:179
|
||||||
msgid "You have not the necessary rights to create or edit applications."
|
msgid "You have not the necessary rights to create or edit motions."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Sie haben nicht die nötigen Rechte, um Anträge zu erstellen oder zu "
|
"Sie haben nicht die nötigen Rechte, um Anträge zu erstellen oder zu "
|
||||||
"bearbeiten."
|
"bearbeiten."
|
||||||
|
|
||||||
#: application/views.py:184
|
#: application/views.py:184
|
||||||
msgid "You can not edit this application. You are not the submitter."
|
msgid "You can not edit this motion. You are not the submitter."
|
||||||
msgstr "Sie dürfen keine Anträge von anderen bearbeiten."
|
msgstr "Sie dürfen diesen Antrag nicht bearbeiten. Sie sind nicht der Antragsteller"
|
||||||
|
|
||||||
#: application/views.py:255
|
#: application/views.py:244
|
||||||
msgid "New application was successfully created."
|
msgid "New motion was successfully created."
|
||||||
msgstr "Neuer Antrag wurde erfolgreich angelegt."
|
msgstr "Neuer Antrag wurde erfolgreich angelegt."
|
||||||
|
|
||||||
#: application/views.py:257
|
#: application/views.py:246
|
||||||
msgid "Application was successfully modified."
|
msgid "Motion was successfully modified."
|
||||||
msgstr "Antrag wurde erfolgreich geändert."
|
msgstr "Antrag wurde erfolgreich geändert."
|
||||||
|
|
||||||
#: application/views.py:264 application/views.py:673 assignment/views.py:129
|
#: application/views.py:253 application/views.py:661 assignment/views.py:129
|
||||||
#: participant/views.py:185 participant/views.py:316 participant/views.py:354
|
#: participant/views.py:185 participant/views.py:316 participant/views.py:354
|
||||||
#: participant/views.py:377 participant/views.py:538 utils/views.py:166
|
#: participant/views.py:377 participant/views.py:538 utils/views.py:166
|
||||||
#: utils/views.py:184 utils/views.py:208
|
#: utils/views.py:184 utils/views.py:208
|
||||||
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."
|
||||||
|
|
||||||
#: application/views.py:271
|
#: application/views.py:260
|
||||||
msgid ""
|
msgid ""
|
||||||
"Attention: Do you really want to edit this application? The supporters will "
|
"Attention: Do you really want to edit this motion? The supporters will "
|
||||||
"<b>not</b> be removed automatically because you can manage applications. "
|
"<b>not</b> be removed automatically because you can manage motions. Please "
|
||||||
"Please check if the supports are valid after your changing!"
|
"check if the supports are valid after your changing!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Achtung: Wollen Sie den Antrag wirklich ändern? Die Unterstützer/innen "
|
"Achtung: Wollen Sie den Antrag wirklich ändern? Die Unterstützer/innen "
|
||||||
"werden <b>nicht</b> automatisch entfernt, da Sie Anträge verwalten dürfen. "
|
"werden <b>nicht</b> automatisch entfernt, da Sie Anträge verwalten dürfen. "
|
||||||
"Prüfen Sie, ob die Unterstützungen noch gültig sind."
|
"Prüfen Sie, ob die Unterstützungen noch gültig sind."
|
||||||
|
|
||||||
#: application/views.py:273
|
#: application/views.py:262
|
||||||
#, python-format
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Attention: Do you really want to edit this application? All <b>%s</b> "
|
"Attention: Do you really want to edit this motion? All <b>%s</b> supporters "
|
||||||
"supporters will be removed! Try to convince the supporters again."
|
"will be removed! Try to convince the supporters again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Wollen Sie den Antrag wirklich ändern? Alle <b>%s</b> Unterstützer/innen "
|
"Wollen Sie den Antrag wirklich ändern? Alle <b>%s</b> Unterstützer/innen "
|
||||||
"werden dann automatisch entfernt. Versuchen Sie diese erneut zu gewinnen."
|
"werden dann automatisch entfernt. Versuchen Sie diese erneut zu gewinnen."
|
||||||
|
|
||||||
#: application/views.py:305
|
#: application/views.py:293
|
||||||
msgid "Application number was successfully set."
|
msgid "Motion number was successfully set."
|
||||||
msgstr "Antragsnummer wurde erfolgreich gesetzt."
|
msgstr "Antragsnummer wurde erfolgreich gesetzt."
|
||||||
|
|
||||||
#: application/views.py:321
|
#: application/views.py:309
|
||||||
msgid "Application was successfully permitted."
|
msgid "Motion was successfully authorized."
|
||||||
msgstr "Antrag wurde erfolgreich zugelassen."
|
msgstr "Antrag wurde erfolgreich zugelassen."
|
||||||
|
|
||||||
#: application/views.py:336
|
#: application/views.py:324
|
||||||
msgid "Application was successfully rejected."
|
msgid "Motion was successfully rejected."
|
||||||
msgstr "Antrag wurde erfolgreich verworfen."
|
msgstr "Antrag wurde erfolgreich verworfen."
|
||||||
|
|
||||||
#: application/views.py:352
|
#: application/views.py:340
|
||||||
#, python-format
|
msgid "Motion status was set to: <b>%s</b>."
|
||||||
msgid "Application status was set to: <b>%s</b>."
|
msgstr "Antragsstatus wurde gesetzt auf: <b>%s</b>."
|
||||||
msgstr "Antragsstatus wurde gesetzt auf: <b>%s</b>"
|
|
||||||
|
|
||||||
#: application/views.py:368
|
#: application/views.py:356
|
||||||
msgid "Application status was reset."
|
msgid "Motion status was reset."
|
||||||
msgstr "Antragsstatus wurde zurückgesetzt."
|
msgstr "Antragsstatus wurde zurückgesetzt."
|
||||||
|
|
||||||
#: application/views.py:382
|
#: application/views.py:370
|
||||||
msgid "You have support the application successfully."
|
msgid "You have support the motion successfully."
|
||||||
msgstr "Sie haben den Antrag erfolgreich unterstützt."
|
msgstr "Sie haben den Antrag erfolgreich unterstützt."
|
||||||
|
|
||||||
#: application/views.py:396
|
#: application/views.py:384
|
||||||
msgid "You have unsupport the application successfully."
|
msgid "You have unsupport the motion successfully."
|
||||||
msgstr "Sie haben dem Antrag erfolgreich Ihre Unterstützung entzogen."
|
msgstr "Sie haben dem Antrag erfolgreich Ihre Unterstützung entzogen."
|
||||||
|
|
||||||
#: application/views.py:410
|
#: application/views.py:398
|
||||||
msgid "New vote was successfully created."
|
msgid "New vote was successfully created."
|
||||||
msgstr "Neue Abstimmung erfolgreich angelegt."
|
msgstr "Neue Abstimmung erfolgreich angelegt."
|
||||||
|
|
||||||
#: application/views.py:426
|
#: application/views.py:414
|
||||||
msgid "Poll deleted"
|
msgid "Poll deleted"
|
||||||
msgstr "Abstimmung gelöscht"
|
msgstr "Abstimmung gelöscht"
|
||||||
|
|
||||||
#: application/views.py:427
|
#: application/views.py:415
|
||||||
msgid "Poll was successfully deleted."
|
msgid "Poll was successfully deleted."
|
||||||
msgstr "Abstimmung wurde erfolgreich gelöscht."
|
msgstr "Abstimmung wurde erfolgreich gelöscht."
|
||||||
|
|
||||||
#: application/views.py:429
|
#: application/views.py:417
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "the %s. poll"
|
msgid "the %s. poll"
|
||||||
msgstr "die %s. Abstimmung"
|
msgstr "die %s. Abstimmung"
|
||||||
|
|
||||||
#: application/views.py:467 application/views.py:476
|
#: application/views.py:455 application/views.py:464
|
||||||
#, python-format
|
msgid "You can not delete motion <b>%s</b>."
|
||||||
msgid "You can not delete application <b>%s</b>."
|
|
||||||
msgstr "Sie können Antrag <b>%s</b> nicht löschen."
|
msgstr "Sie können Antrag <b>%s</b> nicht löschen."
|
||||||
|
|
||||||
#: application/views.py:472 application/views.py:480
|
#: application/views.py:460 application/views.py:468
|
||||||
#, python-format
|
msgid "Motion <b>%s</b> was successfully deleted."
|
||||||
msgid "Application <b>%s</b> was successfully deleted."
|
|
||||||
msgstr "Antrag <b>%s</b> wurde erfolgreich gelöscht."
|
msgstr "Antrag <b>%s</b> wurde erfolgreich gelöscht."
|
||||||
|
|
||||||
#: application/views.py:482
|
#: application/views.py:470
|
||||||
msgid "Invalid request"
|
msgid "Invalid request"
|
||||||
msgstr "Ungültige Anfrage"
|
msgstr "Ungültige Anfrage"
|
||||||
|
|
||||||
#: application/views.py:501
|
#: application/views.py:489
|
||||||
msgid "Do you really want to delete multiple applications?"
|
msgid "Do you really want to delete multiple motions?"
|
||||||
msgstr "Soll <b>%s</b> wirklich gelöscht werden?"
|
msgstr "Wollen Sie wirklich mehrere Anträge löschen?"
|
||||||
|
|
||||||
#: application/views.py:503 participant/views.py:214 participant/views.py:337
|
#: application/views.py:491 participant/views.py:214 participant/views.py:337
|
||||||
#, 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?"
|
||||||
|
|
||||||
#: application/views.py:527
|
#: application/views.py:515
|
||||||
msgid "Poll was updated"
|
msgid "Poll was updated"
|
||||||
msgstr "Abstimmung wurde aktualisiert"
|
msgstr "Abstimmung wurde aktualisiert"
|
||||||
|
|
||||||
#: application/views.py:544
|
#: application/views.py:532
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Version <b>%s</b> accepted."
|
msgid "Version <b>%s</b> accepted."
|
||||||
msgstr "Version <b>%s</b> akzeptiert."
|
msgstr "Version <b>%s</b> akzeptiert."
|
||||||
|
|
||||||
#: application/views.py:546
|
#: application/views.py:534
|
||||||
#, python-format
|
msgid "Do you really want to authorize version <b>%s</b>?"
|
||||||
msgid "Do you really want to permit version <b>%s</b>?"
|
|
||||||
msgstr "Soll Version <b>%s</b> wirklich zugelassen werden?"
|
msgstr "Soll Version <b>%s</b> wirklich zugelassen werden?"
|
||||||
|
|
||||||
#: application/views.py:556
|
#: application/views.py:544
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Version <b>%s</b> rejected."
|
msgid "Version <b>%s</b> rejected."
|
||||||
msgstr "Version <b>%s</b> zurückgewiesen."
|
msgstr "Version <b>%s</b> zurückgewiesen."
|
||||||
|
|
||||||
#: application/views.py:558
|
#: application/views.py:546
|
||||||
msgid "ERROR by rejecting the version."
|
msgid "ERROR by rejecting the version."
|
||||||
msgstr "FEHLER beim Zurückweisen der Version."
|
msgstr "FEHLER beim Zurückweisen der Version."
|
||||||
|
|
||||||
#: application/views.py:560
|
#: application/views.py:548
|
||||||
#, python-format
|
#, python-format
|
||||||
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:569 participant/views.py:395
|
#: application/views.py:557 participant/views.py:395
|
||||||
msgid ""
|
msgid ""
|
||||||
"The import function is available for the admin (without user profile) only."
|
"The import function is available for the admin (without user profile) only."
|
||||||
msgstr ""
|
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:600 application/views.py:604 application/views.py:610
|
#: application/views.py:588 application/views.py:592 application/views.py:598
|
||||||
#: application/views.py:613 participant/views.py:464
|
#: application/views.py:601 participant/views.py:464
|
||||||
#, 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."
|
||||||
|
|
||||||
#: application/views.py:659
|
#: application/views.py:647
|
||||||
#, python-format
|
msgid "%d motion was successfully imported."
|
||||||
msgid "%d application was successfully imported."
|
msgid_plural "%d motions were successfully imported."
|
||||||
msgid_plural "%d applications were successfully imported."
|
|
||||||
msgstr[0] "%d Antrag wurde erfolgreich importiert."
|
msgstr[0] "%d Antrag wurde erfolgreich importiert."
|
||||||
msgstr[1] "%d Anträge wurden erfolgreich importiert."
|
msgstr[1] "%d Anträge wurden erfolgreich importiert."
|
||||||
|
|
||||||
#: application/views.py:662
|
#: application/views.py:650
|
||||||
#, python-format
|
msgid "%d motion was successfully modified."
|
||||||
msgid "%d application was successfully modified."
|
msgid_plural "%d motions were successfully modified."
|
||||||
msgid_plural "%d applications were successfully modified."
|
|
||||||
msgstr[0] "%d Antrag wurde erfolgreich geändert."
|
msgstr[0] "%d Antrag wurde erfolgreich geändert."
|
||||||
msgstr[1] "%d Anträge wurden erfolgreich geändert."
|
msgstr[1] "%d Anträge wurden erfolgreich geändert."
|
||||||
|
|
||||||
#: application/views.py:665
|
#: application/views.py:653
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%d new user was added."
|
msgid "%d new user was added."
|
||||||
msgid_plural "%d new users were added."
|
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:669 participant/views.py:534
|
#: application/views.py:657 participant/views.py:534
|
||||||
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:671 participant/views.py:536
|
#: application/views.py:659 participant/views.py:536
|
||||||
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 "
|
||||||
"wird unterstützt!"
|
"wird unterstützt!"
|
||||||
|
|
||||||
#: application/views.py:675
|
#: application/views.py:663
|
||||||
msgid ""
|
msgid ""
|
||||||
"Attention: Existing applications will be modified if you import new "
|
"Attention: Existing motions will be modified if you import new motions with "
|
||||||
"applications with the same number."
|
"the same number."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Achtung: Existierende Anträge werden geändert wenn Sie neue Anträge mit "
|
"Achtung: Existierende Anträge werden geändert wenn Sie neue Anträge mit "
|
||||||
"identischer Nummer importieren."
|
"identischer Nummer importieren."
|
||||||
|
|
||||||
#: application/views.py:676
|
#: application/views.py:664
|
||||||
msgid ""
|
msgid ""
|
||||||
"Attention: Importing an application without a number multiple times will "
|
"Attention: Importing an motions without a number multiple times will create "
|
||||||
"create duplicates."
|
"duplicates."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Achtung: Bei mehrfachem Import eines Antrags ohne Nummer können Duplikate "
|
"Achtung: Bei mehrfachem Import eines Antrags ohne Nummer können Duplikate "
|
||||||
"entstehen."
|
"entstehen."
|
||||||
|
|
||||||
#: application/views.py:723 application/templates/application/overview.html:84
|
#: application/views.py:690 application/views.py:919
|
||||||
#: application/templates/application/widget.html:31
|
msgid "Applications"
|
||||||
msgid "No applications available."
|
msgstr "Anträge"
|
||||||
|
|
||||||
|
#: application/views.py:697 application/views.py:839
|
||||||
|
msgid "Application"
|
||||||
|
msgstr "Antrag"
|
||||||
|
|
||||||
|
#: application/views.py:711 application/templates/application/overview.html:84
|
||||||
|
msgid "No motions available."
|
||||||
msgstr "Keine Anträge vorhanden."
|
msgstr "Keine Anträge vorhanden."
|
||||||
|
|
||||||
#: application/views.py:728 application/views.py:730 application/views.py:742
|
#: application/views.py:716 application/views.py:718 application/views.py:730
|
||||||
#: application/views.py:744
|
#: application/views.py:732
|
||||||
#: application/templates/application/base_application.html:24
|
|
||||||
#: application/templates/projector/Application.html:63
|
#: application/templates/projector/Application.html:63
|
||||||
msgid "Application No."
|
msgid "Motion No."
|
||||||
msgstr "Antrag Nr."
|
msgstr "Antrag Nr."
|
||||||
|
|
||||||
#: application/views.py:782 application/templates/application/overview.html:20
|
#: application/views.py:770 application/templates/application/overview.html:20
|
||||||
#: application/templates/application/overview.html:40
|
#: application/templates/application/overview.html:40
|
||||||
#: application/templates/application/view.html:37
|
#: application/templates/application/view.html:37
|
||||||
#: application/templates/projector/Application.html:11
|
#: application/templates/projector/Application.html:11
|
||||||
@ -830,7 +817,7 @@ msgstr "Antrag Nr."
|
|||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
#: application/views.py:801 application/templates/application/view.html:217
|
#: application/views.py:789 application/templates/application/view.html:217
|
||||||
#: application/templates/application/view.html:247 config/models.py:131
|
#: application/templates/application/view.html:247 config/models.py:131
|
||||||
#: config/templates/config/version.html:5
|
#: config/templates/config/version.html:5
|
||||||
#: config/templates/config/version.html:8
|
#: config/templates/config/version.html:8
|
||||||
@ -838,12 +825,12 @@ msgstr "Status"
|
|||||||
msgid "Version"
|
msgid "Version"
|
||||||
msgstr "Version"
|
msgstr "Version"
|
||||||
|
|
||||||
#: application/views.py:811 application/templates/application/view.html:47
|
#: application/views.py:799 application/templates/application/view.html:47
|
||||||
#: assignment/views.py:391
|
#: assignment/views.py:391
|
||||||
msgid "Vote results"
|
msgid "Vote results"
|
||||||
msgstr "Abstimmungsergebnis"
|
msgstr "Abstimmungsergebnis"
|
||||||
|
|
||||||
#: application/views.py:817
|
#: application/views.py:805
|
||||||
#: application/templates/application/base_application.html:55
|
#: application/templates/application/base_application.html:55
|
||||||
#: application/templates/application/poll_view.html:8
|
#: application/templates/application/poll_view.html:8
|
||||||
#: application/templates/application/poll_view.html:13
|
#: application/templates/application/poll_view.html:13
|
||||||
@ -853,7 +840,7 @@ msgstr "Abstimmungsergebnis"
|
|||||||
msgid "Vote"
|
msgid "Vote"
|
||||||
msgstr "Abstimmung"
|
msgstr "Abstimmung"
|
||||||
|
|
||||||
#: application/views.py:818 application/views.py:871
|
#: application/views.py:806 application/views.py:859
|
||||||
#: application/templates/application/view.html:84
|
#: application/templates/application/view.html:84
|
||||||
#: application/templates/projector/Application.html:39 assignment/views.py:558
|
#: application/templates/projector/Application.html:39 assignment/views.py:558
|
||||||
#: assignment/templates/assignment/view.html:160
|
#: assignment/templates/assignment/view.html:160
|
||||||
@ -861,14 +848,14 @@ msgstr "Abstimmung"
|
|||||||
msgid "Abstention"
|
msgid "Abstention"
|
||||||
msgstr "Enthaltung"
|
msgstr "Enthaltung"
|
||||||
|
|
||||||
#: application/views.py:818 application/templates/application/view.html:85
|
#: application/views.py:806 application/templates/application/view.html:85
|
||||||
#: application/templates/projector/Application.html:40
|
#: application/templates/projector/Application.html:40
|
||||||
#: assignment/templates/assignment/view.html:182
|
#: assignment/templates/assignment/view.html:182
|
||||||
#: assignment/templates/projector/Assignment.html:101
|
#: assignment/templates/projector/Assignment.html:101
|
||||||
msgid "Invalid"
|
msgid "Invalid"
|
||||||
msgstr "Ungültig"
|
msgstr "Ungültig"
|
||||||
|
|
||||||
#: application/views.py:818
|
#: application/views.py:806
|
||||||
#: application/templates/application/poll_view.html:35
|
#: application/templates/application/poll_view.html:35
|
||||||
#: application/templates/application/view.html:87
|
#: application/templates/application/view.html:87
|
||||||
#: application/templates/projector/Application.html:42 assignment/views.py:442
|
#: application/templates/projector/Application.html:42 assignment/views.py:442
|
||||||
@ -880,63 +867,67 @@ msgstr "Ungültig"
|
|||||||
msgid "Votes cast"
|
msgid "Votes cast"
|
||||||
msgstr "Abgegebene Stimmen"
|
msgstr "Abgegebene Stimmen"
|
||||||
|
|
||||||
#: application/views.py:851
|
#: application/views.py:839
|
||||||
msgid "Poll"
|
msgid "Poll"
|
||||||
msgstr "Abstimmung"
|
msgstr "Abstimmung"
|
||||||
|
|
||||||
#: application/views.py:865
|
#: application/views.py:853
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Application No. %s"
|
msgid "Application No. %s"
|
||||||
msgstr "Antrag Nr. %s"
|
msgstr "Antrag Nr. %s"
|
||||||
|
|
||||||
#: application/views.py:867
|
#: application/views.py:855
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%d. Vote"
|
msgid "%d. Vote"
|
||||||
msgstr "%d. Abstimmung"
|
msgstr "%d. Abstimmung"
|
||||||
|
|
||||||
#: application/views.py:924
|
#: application/views.py:912
|
||||||
msgid "Application settings successfully saved."
|
msgid "Motion settings successfully saved."
|
||||||
msgstr "Antrags-Einstellungen erfolgreich gespeichert."
|
msgstr "Antrags-Einstellungen wurden erfolgreich gespeichert."
|
||||||
|
|
||||||
#: application/templates/application/base_application.html:11
|
#: application/templates/application/base_application.html:11
|
||||||
msgid "All applications"
|
msgid "All motions"
|
||||||
msgstr "Alle Anträge"
|
msgstr "Alle Anträge"
|
||||||
|
|
||||||
#: application/templates/application/base_application.html:13
|
#: application/templates/application/base_application.html:13
|
||||||
#: application/templates/application/edit.html:10
|
#: application/templates/application/edit.html:10
|
||||||
#: application/templates/application/edit.html:18
|
#: application/templates/application/edit.html:18
|
||||||
msgid "New application"
|
msgid "New motion"
|
||||||
msgstr "Neuer Antrag"
|
msgstr "Neuer Antrag"
|
||||||
|
|
||||||
#: application/templates/application/base_application.html:16
|
#: application/templates/application/base_application.html:16
|
||||||
#: application/templates/application/import.html:5
|
#: application/templates/application/import.html:5
|
||||||
#: application/templates/application/import.html:8
|
#: application/templates/application/import.html:8
|
||||||
msgid "Import applications"
|
msgid "Import motions"
|
||||||
msgstr "Anträge importieren"
|
msgstr "Anträge importieren"
|
||||||
|
|
||||||
#: application/templates/application/base_application.html:18
|
#: application/templates/application/base_application.html:18
|
||||||
msgid "All applications as PDF"
|
msgid "All motions as PDF"
|
||||||
msgstr "Alle Anträge als PDF"
|
msgstr "Alle Anträge als PDF"
|
||||||
|
|
||||||
|
#: application/templates/application/base_application.html:24
|
||||||
|
msgid "Application No."
|
||||||
|
msgstr "Antrag Nr."
|
||||||
|
|
||||||
#: application/templates/application/base_application.html:34
|
#: application/templates/application/base_application.html:34
|
||||||
msgid "View application"
|
msgid "View motion"
|
||||||
msgstr "Antrag anzeigen"
|
msgstr "Antrag anzeigen"
|
||||||
|
|
||||||
#: application/templates/application/base_application.html:38
|
#: application/templates/application/base_application.html:38
|
||||||
#: application/templates/application/edit.html:8
|
#: application/templates/application/edit.html:8
|
||||||
#: application/templates/application/edit.html:16
|
#: application/templates/application/edit.html:16
|
||||||
#: application/templates/application/overview.html:72
|
#: application/templates/application/overview.html:72
|
||||||
msgid "Edit application"
|
msgid "Edit motion"
|
||||||
msgstr "Antrag bearbeiten"
|
msgstr "Antrag bearbeiten"
|
||||||
|
|
||||||
#: application/templates/application/base_application.html:42
|
#: application/templates/application/base_application.html:42
|
||||||
#: application/templates/application/overview.html:74
|
#: application/templates/application/overview.html:74
|
||||||
msgid "Delete application"
|
msgid "Delete motion"
|
||||||
msgstr "Antrag löschen"
|
msgstr "Antrag löschen"
|
||||||
|
|
||||||
#: application/templates/application/base_application.html:45
|
#: application/templates/application/base_application.html:45
|
||||||
#: application/templates/application/overview.html:77
|
#: application/templates/application/overview.html:77
|
||||||
msgid "Application as PDF"
|
msgid "Motion as PDF"
|
||||||
msgstr "Antrag als PDF"
|
msgstr "Antrag als PDF"
|
||||||
|
|
||||||
#: application/templates/application/base_application.html:49
|
#: application/templates/application/base_application.html:49
|
||||||
@ -954,7 +945,7 @@ msgid "Application settings"
|
|||||||
msgstr "Antrags-Einstellungen"
|
msgstr "Antrags-Einstellungen"
|
||||||
|
|
||||||
#: application/templates/application/import.html:9
|
#: application/templates/application/import.html:9
|
||||||
msgid "Select a CSV file to import applications!"
|
msgid "Select a CSV file to import motions!"
|
||||||
msgstr "Wählen Sie eine CSV-Datei zum Importieren von Anträgen aus!"
|
msgstr "Wählen Sie eine CSV-Datei zum Importieren von Anträgen aus!"
|
||||||
|
|
||||||
#: application/templates/application/import.html:11
|
#: application/templates/application/import.html:11
|
||||||
@ -991,25 +982,23 @@ msgid "Without number"
|
|||||||
msgstr "Ohne Nummer"
|
msgstr "Ohne Nummer"
|
||||||
|
|
||||||
#: application/templates/application/overview.html:22
|
#: application/templates/application/overview.html:22
|
||||||
msgid "Not yet permitted"
|
msgid "Not yet authorized"
|
||||||
msgstr "Noch nicht zugelassen"
|
msgstr "Noch nicht zugelassen"
|
||||||
|
|
||||||
#: application/templates/application/overview.html:26
|
#: application/templates/application/overview.html:23
|
||||||
msgid "Withdrawed (by submitter)"
|
msgid "Authorized"
|
||||||
msgstr "Zurückgezogen (durch Antragsteller/in)"
|
msgstr "Zugelassen"
|
||||||
|
|
||||||
#: application/templates/application/overview.html:32
|
#: application/templates/application/overview.html:26
|
||||||
msgid "application"
|
msgid "Withdrawen (by submitter)"
|
||||||
msgid_plural "applications"
|
msgstr "Zurückgezogen (durch Antragsteller/in)"
|
||||||
msgstr[0] "Antrag"
|
|
||||||
msgstr[1] "Anträge"
|
|
||||||
|
|
||||||
#: application/templates/application/overview.html:35
|
#: application/templates/application/overview.html:35
|
||||||
msgid "Number"
|
msgid "Number"
|
||||||
msgstr "Nummer"
|
msgstr "Nummer"
|
||||||
|
|
||||||
#: application/templates/application/overview.html:36
|
#: application/templates/application/overview.html:36
|
||||||
msgid "Application title"
|
msgid "Motion title"
|
||||||
msgstr "Antragstitel"
|
msgstr "Antragstitel"
|
||||||
|
|
||||||
#: application/templates/application/overview.html:38
|
#: application/templates/application/overview.html:38
|
||||||
@ -1022,9 +1011,19 @@ msgid "Creation Time"
|
|||||||
msgstr "Erstellungszeit"
|
msgstr "Erstellungszeit"
|
||||||
|
|
||||||
#: application/templates/application/overview.html:67
|
#: application/templates/application/overview.html:67
|
||||||
msgid "Activate application"
|
msgid "Activate motion"
|
||||||
msgstr "Antrag projizieren"
|
msgstr "Antrag projizieren"
|
||||||
|
|
||||||
|
#: application/templates/application/poll_view.html:7
|
||||||
|
#: application/templates/application/poll_view.html:12
|
||||||
|
#: application/templates/application/view.html:7
|
||||||
|
#: application/templates/application/view.html:209
|
||||||
|
#: application/templates/application/view.html:228
|
||||||
|
#: application/templates/projector/Application.html:7
|
||||||
|
#: application/templates/projector/Application.html:65
|
||||||
|
msgid "Motion"
|
||||||
|
msgstr "Antrag"
|
||||||
|
|
||||||
#: application/templates/application/poll_view.html:14
|
#: application/templates/application/poll_view.html:14
|
||||||
#: assignment/templates/assignment/poll_view.html:12
|
#: assignment/templates/assignment/poll_view.html:12
|
||||||
msgid "Special values"
|
msgid "Special values"
|
||||||
@ -1099,8 +1098,8 @@ msgid "minimum required supporters"
|
|||||||
msgstr "minimal erforderliche Unterstützer/innen"
|
msgstr "minimal erforderliche Unterstützer/innen"
|
||||||
|
|
||||||
#: application/templates/application/view.html:146
|
#: application/templates/application/view.html:146
|
||||||
msgid "Manage application"
|
msgid "Manage motion"
|
||||||
msgstr "Antrag verwalten"
|
msgstr "Antrag Verwalten"
|
||||||
|
|
||||||
#: application/templates/application/view.html:149
|
#: application/templates/application/view.html:149
|
||||||
msgid "Formal validation"
|
msgid "Formal validation"
|
||||||
@ -1152,7 +1151,7 @@ msgid "Go to version"
|
|||||||
msgstr "Gehe zu Version"
|
msgstr "Gehe zu Version"
|
||||||
|
|
||||||
#: application/templates/application/view.html:224
|
#: application/templates/application/view.html:224
|
||||||
msgid "This is not the permitted version."
|
msgid "This is not the authorized version."
|
||||||
msgstr "Dies ist nicht die zugelassene Version."
|
msgstr "Dies ist nicht die zugelassene Version."
|
||||||
|
|
||||||
#: application/templates/application/view.html:242
|
#: application/templates/application/view.html:242
|
||||||
@ -1164,8 +1163,8 @@ msgid "Time"
|
|||||||
msgstr "Zeit"
|
msgstr "Zeit"
|
||||||
|
|
||||||
#: application/templates/application/view.html:259
|
#: application/templates/application/view.html:259
|
||||||
msgid "Version permitted"
|
msgid "Version authorized"
|
||||||
msgstr "Version zugelassen"
|
msgstr "Version %d zugelassen"
|
||||||
|
|
||||||
#: application/templates/application/view.html:262
|
#: application/templates/application/view.html:262
|
||||||
msgid "Permit Version"
|
msgid "Permit Version"
|
||||||
@ -1189,6 +1188,10 @@ msgstr "unverändert"
|
|||||||
msgid "Log"
|
msgid "Log"
|
||||||
msgstr "Log"
|
msgstr "Log"
|
||||||
|
|
||||||
|
#: application/templates/application/widget.html:31
|
||||||
|
msgid "No motion available."
|
||||||
|
msgstr "Keine Antrag vorhanden."
|
||||||
|
|
||||||
#: application/templates/projector/Application.html:29
|
#: application/templates/projector/Application.html:29
|
||||||
msgid "Poll result"
|
msgid "Poll result"
|
||||||
msgstr "Abstimmungsergebnis"
|
msgstr "Abstimmungsergebnis"
|
||||||
@ -1612,7 +1615,7 @@ msgid "Can manage configuration"
|
|||||||
msgstr "Darf die Konfiguration verwalten"
|
msgstr "Darf die Konfiguration verwalten"
|
||||||
|
|
||||||
#: config/models.py:84
|
#: config/models.py:84
|
||||||
msgid "Presentation system for agenda, applications and elections"
|
msgid "Presentation system for agenda, motions and elections"
|
||||||
msgstr "Präsentationssystem für Tagesordnung, Anträge und Wahlen"
|
msgstr "Präsentationssystem für Tagesordnung, Anträge und Wahlen"
|
||||||
|
|
||||||
#: config/models.py:89 templates/base.html:30
|
#: config/models.py:89 templates/base.html:30
|
||||||
@ -1670,15 +1673,15 @@ msgid "Participant"
|
|||||||
msgstr "Teilnehmer"
|
msgstr "Teilnehmer"
|
||||||
|
|
||||||
#: participant/forms.py:24
|
#: participant/forms.py:24
|
||||||
msgid "Keep applications, try to reassign submitter"
|
msgid "Keep motions, try to reassign submitter"
|
||||||
msgstr "Anträge beibehalten, versuchen Antragssteller erneut zuzuweisen"
|
msgstr "Anträge beibehalten, versuchen Antragssteller erneut zuzuweisen"
|
||||||
|
|
||||||
#: participant/forms.py:25
|
#: participant/forms.py:25
|
||||||
msgid "Keep applications, set status to \"needs review\""
|
msgid "Keep motions, set status to \"needs review\""
|
||||||
msgstr "Anträge beibehalten, Status auf \"Benötigt Review\" setzen"
|
msgstr "Anträge beibehalten, Status auf \"Benötigt Review\" setzen"
|
||||||
|
|
||||||
#: participant/forms.py:26
|
#: participant/forms.py:26
|
||||||
msgid "Discard applications"
|
msgid "Discard motions"
|
||||||
msgstr "Alle Anträge löschen"
|
msgstr "Alle Anträge löschen"
|
||||||
|
|
||||||
#: participant/forms.py:31 participant/forms.py:45
|
#: participant/forms.py:31 participant/forms.py:45
|
||||||
@ -1705,7 +1708,7 @@ msgid "Persmissions"
|
|||||||
msgstr "Rechte"
|
msgstr "Rechte"
|
||||||
|
|
||||||
#: participant/forms.py:96
|
#: participant/forms.py:96
|
||||||
msgid "For existing applications"
|
msgid "For existing motions"
|
||||||
msgstr "Bei existierenden Anträgen"
|
msgstr "Bei existierenden Anträgen"
|
||||||
|
|
||||||
#: participant/forms.py:104
|
#: participant/forms.py:104
|
||||||
@ -1848,34 +1851,30 @@ msgid "Reassigned to \"%s\" after (re)importing users."
|
|||||||
msgstr "Nach Benutzerimport erneut \"%s\" zugeordnet."
|
msgstr "Nach Benutzerimport erneut \"%s\" zugeordnet."
|
||||||
|
|
||||||
#: participant/views.py:504 participant/views.py:518
|
#: participant/views.py:504 participant/views.py:518
|
||||||
#, python-format
|
msgid "Could not reassing motion %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 %d konnte nicht neu zugewiesen werden - Das Objekt wurde nicht "
|
||||||
"gefunden!"
|
"gefunden!"
|
||||||
|
|
||||||
#: participant/views.py:521
|
#: participant/views.py:521
|
||||||
#, python-format
|
msgid "%d motion could not be reassigned and needs a review!"
|
||||||
msgid "%d application could not be reassigned and needs a review!"
|
msgid_plural "%d motions could not be reassigned and need a review!"
|
||||||
msgid_plural "%d applications could not be reassigned and need a review!"
|
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
"%d Antrag konnte nicht neu zugewiesen werden and benötigt ein Review!"
|
"%d Antrag konnte nicht neu zugewiesen werden and benötigt ein Review!"
|
||||||
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:524
|
#: participant/views.py:524
|
||||||
#, python-format
|
msgid "%d motion was successfully reassigned."
|
||||||
msgid "%d application was successfully reassigned."
|
msgid_plural "%d motions 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:527
|
#: participant/views.py:527
|
||||||
#, python-format
|
msgid "%d motion was discarded."
|
||||||
msgid "%d application was discarded."
|
msgid_plural "%d motions were discarded."
|
||||||
msgid_plural "%d applications were discarded."
|
msgstr[0] "%d Antrag wurde verworfen."
|
||||||
msgstr[0] "%d Antrag wurde gelöscht."
|
msgstr[1] "%d Anträge wurden verworfen."
|
||||||
msgstr[1] "%d Anträge wurden gelöscht."
|
|
||||||
|
|
||||||
#: participant/views.py:531
|
#: participant/views.py:531
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -1891,14 +1890,14 @@ msgstr ""
|
|||||||
"Teilnehmer/innen importieren."
|
"Teilnehmer/innen importieren."
|
||||||
|
|
||||||
#: participant/views.py:542
|
#: participant/views.py:542
|
||||||
msgid "Attention: Supporters from all existing applications will be removed."
|
msgid "Attention: Supporters from all existing motions 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:543
|
#: participant/views.py:543
|
||||||
msgid ""
|
msgid ""
|
||||||
"Attention: Applications which can't be mapped to new users will be set to "
|
"Attention: Motions which can't be mapped to new users will be set to 'Needs "
|
||||||
"'Needs Review'."
|
"Review'."
|
||||||
msgstr ""
|
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\"."
|
||||||
|
@ -59,6 +59,10 @@ USE_I18N = True
|
|||||||
# calendars according to the current locale
|
# calendars according to the current locale
|
||||||
USE_L10N = True
|
USE_L10N = True
|
||||||
|
|
||||||
|
LOCALE_PATHS = (
|
||||||
|
_fs2unicode(os.path.join(SITE_ROOT, 'locale'))
|
||||||
|
)
|
||||||
|
|
||||||
# Absolute path to the directory that holds media.
|
# Absolute path to the directory that holds media.
|
||||||
# Example: "/home/media/media.lawrence.com/"
|
# Example: "/home/media/media.lawrence.com/"
|
||||||
MEDIA_ROOT = _fs2unicode(os.path.join(SITE_ROOT, './static/'))
|
MEDIA_ROOT = _fs2unicode(os.path.join(SITE_ROOT, './static/'))
|
||||||
|
@ -21,9 +21,9 @@ from openslides.participant.models import Profile
|
|||||||
|
|
||||||
|
|
||||||
USER_APPLICATION_IMPORT_OPTIONS = [
|
USER_APPLICATION_IMPORT_OPTIONS = [
|
||||||
('REASSIGN', _('Keep applications, try to reassign submitter')),
|
('REASSIGN', _('Keep motions, try to reassign submitter')),
|
||||||
('INREVIEW', _('Keep applications, set status to "needs review"')),
|
('INREVIEW', _('Keep motions, set status to "needs review"')),
|
||||||
('DISCARD' , _('Discard applications'))
|
('DISCARD' , _('Discard motions'))
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ class UserImportForm(forms.Form, CssClassMixin):
|
|||||||
application_handling = forms.ChoiceField(
|
application_handling = forms.ChoiceField(
|
||||||
required=True,
|
required=True,
|
||||||
choices=USER_APPLICATION_IMPORT_OPTIONS,
|
choices=USER_APPLICATION_IMPORT_OPTIONS,
|
||||||
label=_("For existing applications"),
|
label=_("For existing motions"),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -501,7 +501,7 @@ def user_import(request):
|
|||||||
application.writelog(_('Reassigned to "%s" after (re)importing users.') % ("%s %s" % (user.first_name, user.last_name)), user=request.user)
|
application.writelog(_('Reassigned to "%s" after (re)importing users.') % ("%s %s" % (user.first_name, user.last_name)), user=request.user)
|
||||||
applications_mapped += 1
|
applications_mapped += 1
|
||||||
except Application.DoesNotExist:
|
except Application.DoesNotExist:
|
||||||
messages.error(request, _('Could not reassing application %d - object not found!') % appid)
|
messages.error(request, _('Could not reassing motion %d - object not found!') % appid)
|
||||||
del old_users[skey]
|
del old_users[skey]
|
||||||
|
|
||||||
if old_users:
|
if old_users:
|
||||||
@ -515,17 +515,17 @@ def user_import(request):
|
|||||||
application.set_status(user=request.user, status='rev', force=True)
|
application.set_status(user=request.user, status='rev', force=True)
|
||||||
applications_review += 1
|
applications_review += 1
|
||||||
except Application.DoesNotExist:
|
except Application.DoesNotExist:
|
||||||
messages.error(request, _('Could not reassing application %d - object not found!') % appid)
|
messages.error(request, _('Could not reassing motion %d - object not found!') % appid)
|
||||||
|
|
||||||
if applications_review:
|
if applications_review:
|
||||||
messages.warning(request, ungettext('%d application could not be reassigned and needs a review!',
|
messages.warning(request, ungettext('%d motion could not be reassigned and needs a review!',
|
||||||
'%d applications could not be reassigned and need a review!', applications_review) % applications_review)
|
'%d motions could not be reassigned and need a review!', applications_review) % applications_review)
|
||||||
if applications_mapped:
|
if applications_mapped:
|
||||||
messages.success(request, ungettext('%d application was successfully reassigned.',
|
messages.success(request, ungettext('%d motion was successfully reassigned.',
|
||||||
'%d applications were successfully reassigned.', applications_mapped) % applications_mapped)
|
'%d motions were successfully reassigned.', applications_mapped) % applications_mapped)
|
||||||
if applications_removed:
|
if applications_removed:
|
||||||
messages.warning(request, ungettext('%d application was discarded.',
|
messages.warning(request, ungettext('%d motion was discarded.',
|
||||||
'%d applications were discarded.', applications_removed) % applications_removed)
|
'%d motions were discarded.', applications_removed) % applications_removed)
|
||||||
|
|
||||||
if i > 0:
|
if i > 0:
|
||||||
messages.success(request, _('%d new participants were successfully imported.') % i)
|
messages.success(request, _('%d new participants were successfully imported.') % i)
|
||||||
@ -539,8 +539,8 @@ def user_import(request):
|
|||||||
else:
|
else:
|
||||||
messages.warning(request, _("Attention: All existing participants will be removed if you import new participants."))
|
messages.warning(request, _("Attention: All existing participants will be removed if you import new participants."))
|
||||||
if Application.objects.all():
|
if Application.objects.all():
|
||||||
messages.warning(request, _("Attention: Supporters from all existing applications will be removed."))
|
messages.warning(request, _("Attention: Supporters from all existing motions will be removed."))
|
||||||
messages.warning(request, _("Attention: Applications which can't be mapped to new users will be set to 'Needs Review'."))
|
messages.warning(request, _("Attention: Motions which can't be mapped to new users will be set to 'Needs Review'."))
|
||||||
form = UserImportForm()
|
form = UserImportForm()
|
||||||
return {
|
return {
|
||||||
'form': form,
|
'form': form,
|
||||||
|
Loading…
Reference in New Issue
Block a user