Automated merge with ssh://oshahn.de/openslides
This commit is contained in:
commit
90991f62e7
@ -176,9 +176,9 @@ class Item(InheritanceCastModel):
|
||||
|
||||
class Meta:
|
||||
permissions = (
|
||||
('can_view_agenda', "Can see the agenda"),
|
||||
('can_manage_agenda', "Can manage the agenda and its items"),
|
||||
('can_see_beamer', "Can see the Beamer"),
|
||||
('can_see_agenda', "Can see agenda"),
|
||||
('can_manage_agenda', "Can manage agenda"),
|
||||
('can_see_projector', "Can see projector"),
|
||||
)
|
||||
|
||||
|
||||
|
@ -8,9 +8,9 @@
|
||||
<ul>
|
||||
<li class="{% if request.path == url_itemoverview %}selected{% endif %}"><a href="{% url item_overview %}">{%trans "All items" %}</a></li>
|
||||
{% if perms.agenda.can_manage_agenda %}
|
||||
<li class="{% active request '/item/new/' %}"><a href="{% url item_new 'ItemText' %}">{%trans "New item" %}</a></li>
|
||||
<li class="{% active request '/agenda/new/' %}"><a href="{% url item_new 'ItemText' %}">{%trans "New item" %}</a></li>
|
||||
{% endif %}
|
||||
{% if perms.agenda.can_see_beamer %}
|
||||
{% if perms.agenda.can_see_projector %}
|
||||
<li><a href="{% url item_beamer %}"><img src="/static/images/icons/view-presentation.png"> {%trans 'Beamer view' %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
@ -10,13 +10,13 @@
|
||||
<p>{%trans "Choose item type:" %}</p>
|
||||
<p>
|
||||
<a href="{% url item_new 'ItemText' %}"
|
||||
{% ifequal request.path '/item/new/ItemText/' %}style='font-size:15px; font-weight:bold;'{% endifequal %}
|
||||
{% ifequal request.path '/agenda/new/ItemText/' %}style='font-size:15px; font-weight:bold;'{% endifequal %}
|
||||
>{%trans "Item of Text" %}</a> |
|
||||
<a href="{% url item_new 'ItemApplication' %}"
|
||||
{% ifequal request.path '/item/new/ItemApplication/' %}style='font-size:15px; font-weight:bold;'{% endifequal %}
|
||||
{% ifequal request.path '/agenda/new/ItemApplication/' %}style='font-size:15px; font-weight:bold;'{% endifequal %}
|
||||
>{%trans "Item of Application" %}</a> |
|
||||
<a href="{% url item_new 'ItemAssignment' %}"
|
||||
{% ifequal request.path '/item/new/ItemAssignment/' %}style='font-size:15px; font-weight:bold;'{% endifequal %}
|
||||
{% ifequal request.path '/agenda/new/ItemAssignment/' %}style='font-size:15px; font-weight:bold;'{% endifequal %}
|
||||
>{%trans "Item of Election" %}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
@ -37,7 +37,7 @@
|
||||
{% block content %}
|
||||
<h1>{% trans "Agenda" %}</h1>
|
||||
{% if items %}
|
||||
<form action="/item/" method="post">{% csrf_token %}
|
||||
<form action="/agenda/" method="post">{% csrf_token %}
|
||||
{% if perms.agenda.can_manage_agenda %}
|
||||
<div id="changed-order-message" style="display:none" class="notification warning">
|
||||
<em>{% trans "Do you want to save the changed order of agenda items?" %}<br>
|
||||
@ -45,9 +45,9 @@
|
||||
<input type="button" onclick="window.location.href='{% url item_overview %}';" value="{%trans 'No' %}">
|
||||
</em>
|
||||
</div>
|
||||
<a class="beamer_edit" href="{% url beamer_bigger %}"><img src="/static/images/icons/zoom-in.png"></a> <a class="beamer_edit" href="{% url beamer_smaller %}"><img src="/static/images/icons/zoom-out.png"></a>
|
||||
<a class="beamer_edit" href="{% url beamer_up %}"><img src="/static/images/icons/go-up.png"></a> <a class="beamer_edit" href="{% url beamer_down %}"><img src="/static/images/icons/go-down.png"></a> <br>
|
||||
{% endif %}
|
||||
<a class="beamer_edit" href="{% url beamer_bigger %}">+</a> <a class="beamer_edit" href="{% url beamer_smaller %}">-</a> <br>
|
||||
<a class="beamer_edit" href="{% url beamer_up %}">+</a> <a class="beamer_edit" href="{% url beamer_down %}">-</a> <br>
|
||||
<table id="menu-overview" class="agendatable">
|
||||
<tr>
|
||||
<th style="width: 1px;">{% trans "Beamer" %}</th>
|
||||
@ -60,7 +60,7 @@
|
||||
<th class="tabledrag-hide">{% trans "Weight" %}</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
<tr id="item_row_0"{% if overview %} class="activeline"{% else %}{% if perms.agenda.can_manage_agenda %} class="inactiveline"{% endif %}{% endif %}>
|
||||
<tr id="item_row_0" class="topline {% if overview %} activeline {% else %}{% if perms.agenda.can_manage_agenda %} inactiveline {% endif %}{% endif %}">
|
||||
<td class="select">
|
||||
{% if perms.agenda.can_manage_agenda %}
|
||||
<a href="{% url item_activate 0 %}" class="activate_link">
|
||||
@ -68,7 +68,7 @@
|
||||
</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td><i>{% trans "Agenda" %} ({{ items|length }} {% trans "items" %}<span id="hiddencount"></span>)</i></td>
|
||||
<td><b>{% trans "Agenda" %} ({{ items|length }} {% trans "items" %}<span id="hiddencount"></span>)</b></td>
|
||||
{% if perms.agenda.can_manage_agenda %}
|
||||
<td></td>
|
||||
{% endif %}
|
||||
|
@ -119,7 +119,7 @@ class ViewTest(TestCase):
|
||||
response = c.get('/beamer/')
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
response = c.get('/item/%d/' % self.item1.id)
|
||||
response = c.get('/agenda/%d/' % self.item1.id)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.context['item'], self.item1.cast())
|
||||
self.assertEqual(response.templates[0].name, 'beamer/ItemText.html')
|
||||
@ -127,26 +127,26 @@ class ViewTest(TestCase):
|
||||
def testActivate(self):
|
||||
c = self.adminClient
|
||||
|
||||
response = c.get('/item/%d/activate/' % self.item1.id)
|
||||
response = c.get('/agenda/%d/activate/' % self.item1.id)
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertTrue(self.item1.active)
|
||||
self.assertFalse(self.item2.active)
|
||||
self.assertFalse(is_summary())
|
||||
|
||||
response = c.get('/item/%d/activate/summary/' % self.item2.id)
|
||||
response = c.get('/agenda/%d/activate/summary/' % self.item2.id)
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertTrue(self.item2.active)
|
||||
self.assertFalse(self.item1.active)
|
||||
self.assertTrue(is_summary())
|
||||
|
||||
response = c.get('/item/%d/activate/' % 0)
|
||||
response = c.get('/agenda/%d/activate/' % 0)
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertFalse(self.item2.active)
|
||||
self.assertFalse(self.item1.active)
|
||||
with self.assertRaises(Item.DoesNotExist):
|
||||
get_active_item()
|
||||
|
||||
response = c.get('/item/%d/activate/' % 10000)
|
||||
response = c.get('/agenda/%d/activate/' % 10000)
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertFalse(self.item2.active)
|
||||
self.assertFalse(self.item1.active)
|
||||
@ -154,40 +154,40 @@ class ViewTest(TestCase):
|
||||
def testClose(self):
|
||||
c = self.adminClient
|
||||
|
||||
response = c.get('/item/%d/close/' % self.item1.id)
|
||||
response = c.get('/agenda/%d/close/' % self.item1.id)
|
||||
self.refreshItems()
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertTrue(Item.objects.get(pk=self.item1.id).closed)
|
||||
|
||||
response = c.get('/item/%d/open/' % self.item1.id)
|
||||
response = c.get('/agenda/%d/open/' % self.item1.id)
|
||||
self.refreshItems()
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertFalse(self.item1.closed)
|
||||
|
||||
response = c.get('/item/%d/open/' % 1000)
|
||||
response = c.get('/agenda/%d/open/' % 1000)
|
||||
self.refreshItems()
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
def testEdit(self):
|
||||
c = self.adminClient
|
||||
|
||||
response = c.get('/item/%d/edit/' % self.item1.id)
|
||||
response = c.get('/agenda/%d/edit/' % self.item1.id)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.context['form'].instance, self.item1.cast())
|
||||
|
||||
response = c.get('/item/%d/edit/' % 1000)
|
||||
response = c.get('/agenda/%d/edit/' % 1000)
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
|
||||
data = {'title': 'newitem1', 'text': 'item1-text', 'weight':'0'}
|
||||
response = c.post('/item/%d/edit/' % self.item1.id, data)
|
||||
response = c.post('/agenda/%d/edit/' % self.item1.id, data)
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.refreshItems()
|
||||
self.assertEqual(self.item1.cast().title, 'newitem1')
|
||||
self.assertEqual(self.item1.cast().text, 'item1-text')
|
||||
|
||||
data = {'title': '', 'text': 'item1-text', 'weight': '0'}
|
||||
response = c.post('/item/%d/edit/' % self.item1.id, data)
|
||||
response = c.post('/agenda/%d/edit/' % self.item1.id, data)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.refreshItems()
|
||||
self.assertEqual(self.item1.cast().title, 'newitem1')
|
||||
|
@ -18,43 +18,43 @@ urlpatterns = patterns('agenda.views',
|
||||
|
||||
url(r'^$', 'overview'),
|
||||
|
||||
url(r'^item/$', 'overview',
|
||||
url(r'^agenda/$', 'overview',
|
||||
name='item_overview'),
|
||||
|
||||
url(r'^item/(?P<item_id>\d+)/$', 'view',
|
||||
url(r'^agenda/(?P<item_id>\d+)/$', 'view',
|
||||
name='item_view'),
|
||||
|
||||
url(r'^item/(?P<item_id>\d+)/activate/$', 'set_active',
|
||||
url(r'^agenda/(?P<item_id>\d+)/activate/$', 'set_active',
|
||||
name='item_activate'),
|
||||
|
||||
url(r'^item/(?P<item_id>\d+)/activate/summary/$', 'set_active',
|
||||
url(r'^agenda/(?P<item_id>\d+)/activate/summary/$', 'set_active',
|
||||
{'summary': True},\
|
||||
name='item_activate_summary'),
|
||||
|
||||
url(r'^item/(?P<item_id>\d+)/close/$', 'set_closed', {'closed': True},
|
||||
url(r'^agenda/(?P<item_id>\d+)/close/$', 'set_closed', {'closed': True},
|
||||
name='item_close'),
|
||||
|
||||
url(r'^item/(?P<item_id>\d+)/open/$', 'set_closed', {'closed': False},
|
||||
url(r'^agenda/(?P<item_id>\d+)/open/$', 'set_closed', {'closed': False},
|
||||
name='item_open'),
|
||||
|
||||
url(r'^item/(?P<item_id>\d+)/edit/$', 'edit',
|
||||
url(r'^agenda/(?P<item_id>\d+)/edit/$', 'edit',
|
||||
name='item_edit'),
|
||||
|
||||
url(r'^item/new/$', 'edit',
|
||||
url(r'^agenda/new/$', 'edit',
|
||||
name='item_new_default'),
|
||||
|
||||
url(r'^item/new/(?P<form>ItemText|ItemApplication|ItemPoll|'
|
||||
url(r'^agenda/new/(?P<form>ItemText|ItemApplication|ItemPoll|'
|
||||
r'ItemAssignment)/$', 'edit',
|
||||
name='item_new'),
|
||||
|
||||
url(r'^item/new/(?P<form>ItemText|ItemApplication|ItemPoll|'
|
||||
url(r'^agenda/new/(?P<form>ItemText|ItemApplication|ItemPoll|'
|
||||
r'ItemAssignment)/(?P<default>\d+)/$', 'edit',
|
||||
name='item_new_default'),
|
||||
|
||||
url(r'^item/(?P<item_id>\d+)/del/$', 'delete',
|
||||
url(r'^agenda/(?P<item_id>\d+)/del/$', 'delete',
|
||||
name='item_delete'),
|
||||
|
||||
url(r'^item/print/$', 'print_agenda',
|
||||
url(r'^agenda/print/$', 'print_agenda',
|
||||
name='print_agenda'),
|
||||
|
||||
url(r'^beamer/bigger$', 'beamer_edit', {'direction': 'bigger'}, name='beamer_bigger'),
|
||||
|
@ -47,7 +47,7 @@ def view(request, item_id):
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
@permission_required('agenda.can_see_beamer')
|
||||
@permission_required('agenda.can_see_projector')
|
||||
def beamer(request):
|
||||
"""
|
||||
Shows a active Slide.
|
||||
@ -126,11 +126,10 @@ def assignment_votes(item):
|
||||
else:
|
||||
tmplist.append("-")
|
||||
votes.append(tmplist)
|
||||
|
||||
return votes
|
||||
|
||||
|
||||
@permission_required('agenda.can_view_agenda')
|
||||
@permission_required('agenda.can_see_agenda')
|
||||
@template('agenda/overview.html')
|
||||
def overview(request):
|
||||
"""
|
||||
|
@ -396,10 +396,10 @@ class Application(models.Model):
|
||||
|
||||
class Meta:
|
||||
permissions = (
|
||||
('can_view_application', _("Can see applications")),
|
||||
('can_insert_application', _("Can insert new applications")),
|
||||
('can_support_application', _("Can support applications")),
|
||||
('can_manage_application', _("Can manage applications")),
|
||||
('can_see_application', "Can see application"),
|
||||
('can_create_application', "Can create application"),
|
||||
('can_support_application', "Can support application"),
|
||||
('can_manage_application', "Can manage application"),
|
||||
)
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
<h4>{%trans "Applications" %}</h4>
|
||||
<ul>
|
||||
<li class="{% if request.path == url_applicationoverview %}selected{% endif %}"><a href="{% url application_overview %}">{%trans "All applications" %}</a></li>
|
||||
{% if perms.application.can_insert_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>
|
||||
{% endif %}
|
||||
<li><a href="{% url print_applications %}"><img src="/static/images/icons/application-pdf.png"> {%trans 'Print all applications' %}</a></li>
|
||||
|
@ -29,7 +29,7 @@
|
||||
<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=aversion__title{% if 'aversion__title' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Application title" %}</a></th>
|
||||
{% 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 %}
|
||||
<th><a href="?sort=status{% if 'status' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Status" %}</a></th>
|
||||
<th><a href="?sort=submitter{% if 'submitter' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Submitter" %}</a></th>
|
||||
|
@ -211,7 +211,7 @@
|
||||
{% else %}
|
||||
<i>[no number]</i>
|
||||
{% endif %}</h1>
|
||||
{% trans "Revision" %} {{ application.aid }}
|
||||
{% trans "Version" %} {{ application.aid }}
|
||||
|
||||
<h2>{{ application.title }}</h2>
|
||||
|
||||
@ -227,11 +227,12 @@
|
||||
|
||||
|
||||
{% if application.versions|length > 1 %}
|
||||
<h2>{% trans "Revisions" %}:</h2>
|
||||
<h2>{% trans "Version History" %}:</h2>
|
||||
|
||||
<table class="table valigntop">
|
||||
<table class="table valigntop" style="width: auto;">
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th></th>
|
||||
<th>{% trans "Version" %}</th>
|
||||
<th>{% trans "Time" %}</th>
|
||||
<th>{% trans "Title" %}</th>
|
||||
<th>{% trans "Text" %}</th>
|
||||
@ -240,7 +241,7 @@
|
||||
</tr>
|
||||
{% for revision in application.versions %}
|
||||
<tr class="{% cycle 'odd' '' %}">
|
||||
<td>{{ revision.aid }}
|
||||
<td style="white-space:nowrap;">
|
||||
{% if application.status != "pub" %}
|
||||
{% if revision == application.permitted %}
|
||||
<img title="{%trans 'Version accepted' %}" src="/static/images/icons/task-accepted.png">
|
||||
@ -257,6 +258,7 @@
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{{ revision.aid }}</td>
|
||||
<td><i>{{ revision.time }}</i></td>
|
||||
<td>
|
||||
{% ifchanged %}
|
||||
|
@ -27,7 +27,7 @@ from openslides.utils.pdf import print_application, print_application_poll
|
||||
from openslides.system.api import config_get
|
||||
|
||||
|
||||
@permission_required('application.can_view_application')
|
||||
@permission_required('application.can_see_application')
|
||||
@template('application/overview.html')
|
||||
def overview(request):
|
||||
"""
|
||||
@ -61,7 +61,7 @@ def overview(request):
|
||||
}
|
||||
|
||||
|
||||
@permission_required('application.can_view_application')
|
||||
@permission_required('application.can_see_application')
|
||||
@template('application/view.html')
|
||||
def view(request, application_id):
|
||||
"""
|
||||
@ -91,8 +91,8 @@ def edit(request, application_id=None):
|
||||
is_manager = False
|
||||
|
||||
if not is_manager \
|
||||
and not request.user.has_perm('application.can_insert_application'):
|
||||
messages.error(request, _("You have not the necessary rights to edit or insert applications."))
|
||||
and not request.user.has_perm('application.can_create_application'):
|
||||
messages.error(request, _("You have not the necessary rights to create or edit applications."))
|
||||
return redirect(reverse('application_overview'))
|
||||
if application_id is not None:
|
||||
application = Application.objects.get(id=application_id)
|
||||
@ -163,7 +163,7 @@ def edit(request, application_id=None):
|
||||
'application': application,
|
||||
}
|
||||
|
||||
|
||||
@permission_required('application.can_manage_application')
|
||||
@template('application/view.html')
|
||||
def delete(request, application_id):
|
||||
"""
|
||||
@ -362,7 +362,6 @@ def view_poll(request, poll_id):
|
||||
def permit_version(request, aversion_id):
|
||||
aversion = AVersion.objects.get(pk=aversion_id)
|
||||
application = aversion.application
|
||||
|
||||
if request.method == 'POST':
|
||||
application.accept_version(aversion)
|
||||
messages.success(request, _("Version <b>%s</b> accepted.") % (aversion.aid))
|
||||
@ -374,10 +373,13 @@ def permit_version(request, aversion_id):
|
||||
@permission_required('application.can_manage_application')
|
||||
def reject_version(request, aversion_id):
|
||||
aversion = AVersion.objects.get(pk=aversion_id)
|
||||
application = aversion.application
|
||||
if application.reject_version(aversion):
|
||||
messages.success(request, _("Version rejected") )
|
||||
application = aversion.application
|
||||
if request.method == 'POST':
|
||||
if application.reject_version(aversion):
|
||||
messages.success(request, _("Version <b>%s</b> rejected.") % (aversion.aid))
|
||||
else:
|
||||
messages.error(request, _("ERROR by rejecting the version.") )
|
||||
else:
|
||||
messages.error(request, _("ERROR by rejecting the Version") )
|
||||
gen_confirm_form(request, _('Do you really want to reject version <b>%s</b>?') % aversion.aid, reverse('application_version_reject', args=[aversion.id]))
|
||||
return redirect(reverse('application_view', args=[application.id]))
|
||||
|
||||
|
@ -130,9 +130,8 @@ class Assignment(models.Model):
|
||||
|
||||
class Meta:
|
||||
permissions = (
|
||||
('can_view_assignment', "Can see the assignments"),
|
||||
('can_nominate_other', "Can nominate another person"
|
||||
" for a election"),
|
||||
('can_nominate_self', "Can nominate hisself for a election"),
|
||||
('can_manage_assignment', "Can manage assignments"),
|
||||
('can_see_assignment', "Can see assignment"),
|
||||
('can_nominate_other', "Can nominate another person"),
|
||||
('can_nominate_self', "Can nominate themselves"),
|
||||
('can_manage_assignment', "Can manage assignment"),
|
||||
)
|
||||
|
@ -91,7 +91,7 @@
|
||||
{% for field in form %}
|
||||
<label>{{ field.label }}:</label>
|
||||
<nobr>{{ field }}
|
||||
{% if perms.participant.can_view_participants and perms.participant.can_manage_participants %}
|
||||
{% if perms.participant.can_see_participant and perms.participant.can_manage_participant %}
|
||||
<a href="{% url user_new %}"><img src="/static/images/icons/list-add-user.png" title="{% trans 'Add new participant' %}"></a>
|
||||
{% endif %}
|
||||
</nobr>
|
||||
|
@ -25,7 +25,7 @@ from utils.pdf import print_assignment_poll
|
||||
from participant.models import Profile
|
||||
|
||||
|
||||
@permission_required('assignment.can_view_assignment')
|
||||
@permission_required('assignment.can_see_assignment')
|
||||
@template('assignment/overview.html')
|
||||
def get_overview(request):
|
||||
query = Assignment.objects
|
||||
@ -46,7 +46,7 @@ def get_overview(request):
|
||||
}
|
||||
|
||||
|
||||
@permission_required('assignment.can_view_assignment')
|
||||
@permission_required('assignment.can_see_assignment')
|
||||
@template('assignment/view.html')
|
||||
def view(request, assignment_id=None):
|
||||
form = None
|
||||
|
@ -19,7 +19,7 @@ TEMPLATE_DEBUG = DEBUG
|
||||
|
||||
AUTH_PROFILE_MODULE = 'participant.Profile'
|
||||
LOGIN_URL = '/login/'
|
||||
LOGIN_REDIRECT_URL = '/item/'
|
||||
LOGIN_REDIRECT_URL = '/agenda/'
|
||||
|
||||
ADMINS = (
|
||||
# ('Your Name', 'your_email@domain.com'),
|
||||
|
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-09-03 19:22+0200\n"
|
||||
"POT-Creation-Date: 2011-09-04 17:46+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -32,7 +32,7 @@ msgstr "Englisch"
|
||||
#: application/templates/application/view.html:73
|
||||
#: assignment/templates/assignment/poll_view.html:15
|
||||
#: assignment/templates/assignment/view.html:159 poll/forms.py:45
|
||||
#: utils/pdf.py:328 utils/pdf.py:368 utils/utils.py:35
|
||||
#: utils/pdf.py:382 utils/pdf.py:424 utils/utils.py:35
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
@ -47,11 +47,11 @@ msgstr "Ja, mit allen Kindelementen."
|
||||
#: application/templates/application/view.html:74
|
||||
#: assignment/templates/assignment/poll_view.html:16
|
||||
#: assignment/templates/assignment/view.html:160 poll/forms.py:46
|
||||
#: utils/pdf.py:329 utils/pdf.py:368 utils/utils.py:35
|
||||
#: utils/pdf.py:383 utils/pdf.py:424 utils/utils.py:35
|
||||
msgid "No"
|
||||
msgstr "Nein"
|
||||
|
||||
#: agenda/api.py:67 participant/views.py:129 participant/views.py:207
|
||||
#: agenda/api.py:67 participant/views.py:131 participant/views.py:209
|
||||
#: utils/utils.py:40
|
||||
#, python-format
|
||||
msgid "Do you really want to delete <b>%s</b>?"
|
||||
@ -62,7 +62,7 @@ msgid "Parent item"
|
||||
msgstr "Elternelement"
|
||||
|
||||
#: agenda/models.py:35 application/forms.py:23
|
||||
#: application/templates/application/view.html:235
|
||||
#: application/templates/application/view.html:237
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
@ -70,7 +70,7 @@ msgstr "Titel"
|
||||
msgid "Closed"
|
||||
msgstr "Abgeschlossen"
|
||||
|
||||
#: agenda/models.py:37 agenda/templates/agenda/overview.html:58
|
||||
#: agenda/models.py:37 agenda/templates/agenda/overview.html:60
|
||||
msgid "Weight"
|
||||
msgstr "Gewichtung"
|
||||
|
||||
@ -84,80 +84,79 @@ msgid "No Form for itemtype %s"
|
||||
msgstr "Kein Formular für Eintrag %s"
|
||||
|
||||
#: agenda/models.py:189 application/forms.py:24
|
||||
#: application/templates/application/view.html:236 poll/models.py:108
|
||||
#: application/templates/application/view.html:238 poll/models.py:108
|
||||
msgid "Text"
|
||||
msgstr "Text"
|
||||
|
||||
#: agenda/models.py:199 agenda/templates/agenda/overview.html:105
|
||||
#: agenda/models.py:199 agenda/templates/agenda/overview.html:109
|
||||
#: agenda/templates/beamer/ItemApplication.html:5
|
||||
#: application/templates/application/edit.html:2
|
||||
#: application/templates/application/poll_view.html:8
|
||||
#: application/templates/application/poll_view.html:16
|
||||
#: application/templates/application/view.html:2
|
||||
#: application/templates/application/view.html:208 poll/models.py:23
|
||||
#: poll/models.py:110 system/templates/system/general.html:13 utils/pdf.py:263
|
||||
#: utils/pdf.py:265 utils/pdf.py:297 utils/pdf.py:305 utils/pdf.py:315
|
||||
#: utils/pdf.py:323
|
||||
#: poll/models.py:110 system/templates/system/general.html:13 utils/pdf.py:314
|
||||
#: utils/pdf.py:316 utils/pdf.py:349 utils/pdf.py:357 utils/pdf.py:368
|
||||
#: utils/pdf.py:377
|
||||
msgid "Application"
|
||||
msgstr "Antrag"
|
||||
|
||||
#: agenda/models.py:206 agenda/templates/agenda/overview.html:118
|
||||
#: agenda/models.py:206 agenda/templates/agenda/overview.html:122
|
||||
#: agenda/templates/beamer/ItemAssignment.html:4
|
||||
#: assignment/templates/assignment/edit.html:2 poll/models.py:24
|
||||
#: utils/pdf.py:346 utils/pdf.py:354
|
||||
#: utils/pdf.py:401 utils/pdf.py:410
|
||||
msgid "Election"
|
||||
msgstr "Wahl"
|
||||
|
||||
#: agenda/models.py:213 agenda/templates/beamer/ItemApplication.html:20
|
||||
#: assignment/templates/assignment/poll_view.html:2 poll/models.py:111
|
||||
#: utils/pdf.py:315
|
||||
#: utils/pdf.py:368
|
||||
msgid "Poll"
|
||||
msgstr "Abstimmung"
|
||||
|
||||
#: agenda/views.py:74 agenda/templates/agenda/base_agenda.html:7
|
||||
#: agenda/templates/agenda/overview.html:3
|
||||
#: agenda/templates/agenda/overview.html:38
|
||||
#: agenda/templates/agenda/overview.html:67
|
||||
#: agenda/templates/agenda/overview.html:71
|
||||
#: agenda/templates/beamer/overview.html:3
|
||||
#: agenda/templates/beamer/overview.html:10 templates/403.html:8
|
||||
#: templates/404.html:8 templates/500.html:8 templates/base.html:48
|
||||
#: utils/pdf.py:201 utils/pdf.py:206
|
||||
#: agenda/templates/beamer/overview.html:10 templates/base.html:37
|
||||
#: utils/pdf.py:207 utils/pdf.py:212
|
||||
msgid "Agenda"
|
||||
msgstr "Tagesordnung"
|
||||
|
||||
#: agenda/views.py:158 agenda/views.py:174 agenda/views.py:197
|
||||
#: agenda/views.py:174 agenda/views.py:192 agenda/views.py:215
|
||||
#, python-format
|
||||
msgid "Item ID %d does not exist."
|
||||
msgstr "Eintrag %d existiert nicht."
|
||||
|
||||
#: agenda/views.py:211
|
||||
#: agenda/views.py:229
|
||||
msgid "New item was successfully created."
|
||||
msgstr "Neuer Eintrag erfolgreich angelegt."
|
||||
|
||||
#: agenda/views.py:213
|
||||
#: agenda/views.py:231
|
||||
msgid "Agenda item created"
|
||||
msgstr "Tagesordnungseintrag angelegt"
|
||||
|
||||
#: agenda/views.py:215
|
||||
#: agenda/views.py:233
|
||||
msgid "Item was successfully modified."
|
||||
msgstr "Eintrag wurde erfolgreich geändert."
|
||||
|
||||
#: agenda/views.py:217
|
||||
#: agenda/views.py:235
|
||||
msgid "Agenda item modified"
|
||||
msgstr "Tagesordnungseintrag geändert"
|
||||
|
||||
#: agenda/views.py:223 participant/views.py:108 participant/views.py:192
|
||||
#: participant/views.py:221 participant/views.py:269 system/views.py:31
|
||||
#: system/views.py:57
|
||||
#: agenda/views.py:241 participant/views.py:108 participant/views.py:194
|
||||
#: participant/views.py:223 participant/views.py:271 system/views.py:32
|
||||
#: system/views.py:59
|
||||
msgid "Please check the form for errors."
|
||||
msgstr "Bitte kontrollieren Sie das Formular nach Fehlern."
|
||||
|
||||
#: agenda/views.py:257
|
||||
#: agenda/views.py:275
|
||||
#, python-format
|
||||
msgid "Item <b>%s</b> and his children were successfully deleted."
|
||||
msgstr "Eintrag <b>%s</b> und seine Kindelemente wurde erfolgreich gelöscht."
|
||||
|
||||
#: agenda/views.py:263
|
||||
#: agenda/views.py:281
|
||||
#, python-format
|
||||
msgid "Item <b>%s</b> was successfully deleted."
|
||||
msgstr "Eintrag <b>%s</b> wurde erfolgreich gelöscht."
|
||||
@ -176,12 +175,12 @@ msgid "Beamer view"
|
||||
msgstr "Beameransicht"
|
||||
|
||||
#: agenda/templates/agenda/edit.html:2
|
||||
#: agenda/templates/agenda/overview.html:52
|
||||
#: agenda/templates/agenda/overview.html:54
|
||||
msgid "Item"
|
||||
msgstr "Eintrag"
|
||||
|
||||
#: agenda/templates/agenda/edit.html:6
|
||||
#: agenda/templates/agenda/overview.html:130
|
||||
#: agenda/templates/agenda/overview.html:134
|
||||
msgid "Edit item"
|
||||
msgstr "Eintrag bearbeiten"
|
||||
|
||||
@ -243,51 +242,51 @@ msgstr "Abbrechen"
|
||||
msgid "Do you want to save the changed order of agenda items?"
|
||||
msgstr "Möchten Sie die geänderte Reihenfolge der Einträge speichern?"
|
||||
|
||||
#: agenda/templates/agenda/overview.html:51
|
||||
#: agenda/templates/agenda/overview.html:53
|
||||
msgid "Beamer"
|
||||
msgstr "Beamer"
|
||||
|
||||
#: agenda/templates/agenda/overview.html:54
|
||||
#: agenda/templates/agenda/overview.html:56
|
||||
#: participant/templates/participant/overview.html:23
|
||||
#: participant/templates/participant/overview.html:45 utils/pdf.py:230
|
||||
#: participant/templates/participant/overview.html:46 utils/pdf.py:237
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
#: agenda/templates/agenda/overview.html:56
|
||||
#: agenda/templates/agenda/overview.html:58
|
||||
#: assignment/templates/assignment/overview.html:24
|
||||
#: participant/templates/participant/overview.html:51
|
||||
#: participant/templates/participant/overview.html:50
|
||||
msgid "Actions"
|
||||
msgstr "Aktionen"
|
||||
|
||||
#: agenda/templates/agenda/overview.html:67
|
||||
#: agenda/templates/agenda/overview.html:71
|
||||
msgid "items"
|
||||
msgstr "Einträge"
|
||||
|
||||
#: agenda/templates/agenda/overview.html:73
|
||||
#: agenda/templates/agenda/overview.html:77
|
||||
msgid "Print agenda"
|
||||
msgstr "Tagesordnung drucken"
|
||||
|
||||
#: agenda/templates/agenda/overview.html:110
|
||||
#: agenda/templates/agenda/overview.html:114
|
||||
msgid "Poll of Application"
|
||||
msgstr "Antragsabstimmung"
|
||||
|
||||
#: agenda/templates/agenda/overview.html:113
|
||||
#: agenda/templates/agenda/overview.html:117
|
||||
msgid "Poll of Election"
|
||||
msgstr "Wahlen"
|
||||
|
||||
#: agenda/templates/agenda/overview.html:127
|
||||
#: agenda/templates/agenda/overview.html:131
|
||||
msgid "Show beamer preview"
|
||||
msgstr "Beamer-Vorschau anzeigen"
|
||||
|
||||
#: agenda/templates/agenda/overview.html:131
|
||||
#: agenda/templates/agenda/overview.html:135
|
||||
msgid "Delete item"
|
||||
msgstr "Eintrag löschen"
|
||||
|
||||
#: agenda/templates/agenda/overview.html:138
|
||||
#: agenda/templates/agenda/overview.html:142
|
||||
msgid "Select item overview"
|
||||
msgstr "Wähle Eintragsübersicht"
|
||||
|
||||
#: agenda/templates/agenda/overview.html:158
|
||||
#: agenda/templates/agenda/overview.html:162
|
||||
msgid "No items available."
|
||||
msgstr "Keine Einträge vorhanden."
|
||||
|
||||
@ -298,8 +297,8 @@ msgstr "Keine Einträge vorhanden."
|
||||
#: application/templates/application/view.html:34
|
||||
#: assignment/templates/assignment/overview.html:10
|
||||
#: assignment/templates/assignment/overview.html:22
|
||||
#: assignment/templates/assignment/view.html:8 utils/pdf.py:280
|
||||
#: utils/pdf.py:282
|
||||
#: assignment/templates/assignment/view.html:8 utils/pdf.py:331
|
||||
#: utils/pdf.py:333
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
@ -312,7 +311,7 @@ msgstr "Abstimmungsergebnis"
|
||||
#: application/templates/application/view.html:75
|
||||
#: assignment/templates/assignment/poll_view.html:17
|
||||
#: assignment/templates/assignment/view.html:161 poll/forms.py:35
|
||||
#: poll/forms.py:47 utils/pdf.py:330 utils/pdf.py:368
|
||||
#: poll/forms.py:47 utils/pdf.py:384 utils/pdf.py:424
|
||||
msgid "Abstention"
|
||||
msgstr "Enthaltung"
|
||||
|
||||
@ -321,8 +320,8 @@ msgid "No poll results available."
|
||||
msgstr "Keine Abstimmungen vorhanden."
|
||||
|
||||
#: agenda/templates/beamer/ItemApplication.html:44 application/forms.py:25
|
||||
#: application/templates/application/view.html:219
|
||||
#: application/templates/application/view.html:238 utils/pdf.py:268
|
||||
#: application/templates/application/view.html:220
|
||||
#: application/templates/application/view.html:240 utils/pdf.py:319
|
||||
msgid "Reason"
|
||||
msgstr "Begründung"
|
||||
|
||||
@ -351,7 +350,7 @@ msgstr "Wahlergebnisse"
|
||||
|
||||
#: agenda/templates/beamer/ItemAssignment.html:42
|
||||
#: assignment/templates/assignment/poll_view.html:6
|
||||
#: assignment/templates/assignment/view.html:119 utils/pdf.py:357
|
||||
#: assignment/templates/assignment/view.html:119 utils/pdf.py:413
|
||||
msgid "ballot"
|
||||
msgstr "Wahlgang"
|
||||
|
||||
@ -405,7 +404,7 @@ msgid "Rejected (not permitted)"
|
||||
msgstr "Verworfen (nicht zulässig)"
|
||||
|
||||
#: application/models.py:44 application/templates/application/overview.html:35
|
||||
#: application/templates/application/view.html:9 utils/pdf.py:270
|
||||
#: application/templates/application/view.html:9 utils/pdf.py:321
|
||||
msgid "Submitter"
|
||||
msgstr "Antragsteller"
|
||||
|
||||
@ -413,85 +412,69 @@ msgstr "Antragsteller"
|
||||
msgid "Supporters"
|
||||
msgstr "Unterstützer"
|
||||
|
||||
#: application/models.py:106
|
||||
#: application/models.py:105
|
||||
msgid "Searching for supporters."
|
||||
msgstr "Auf Unterstützersuche."
|
||||
|
||||
#: application/models.py:108
|
||||
#: application/models.py:107
|
||||
msgid "Not yet permitted."
|
||||
msgstr "Noch nicht zugelassen."
|
||||
|
||||
#: application/models.py:110
|
||||
#: application/models.py:109
|
||||
msgid "Not yet permitted changes."
|
||||
msgstr "Noch nicht zugelassene Änderungen."
|
||||
|
||||
#: application/models.py:154
|
||||
#: application/models.py:155
|
||||
#, python-format
|
||||
msgid "Version %s created"
|
||||
msgstr "Version %s erstellt"
|
||||
|
||||
#: application/models.py:163
|
||||
#: application/models.py:164
|
||||
msgid "Supporters removed"
|
||||
msgstr "Unterstützer gelöscht"
|
||||
|
||||
#: application/models.py:172
|
||||
#: application/models.py:173
|
||||
#, python-format
|
||||
msgid "Status reseted to: %s"
|
||||
msgstr "Status zurückgesetzt auf: %s"
|
||||
|
||||
#: application/models.py:185
|
||||
#: application/models.py:186
|
||||
#, python-format
|
||||
msgid "Supporter: +%s"
|
||||
msgstr "Unterstützer: +%s"
|
||||
|
||||
#: application/models.py:195
|
||||
#: application/models.py:196
|
||||
#, python-format
|
||||
msgid "Supporter: -%s"
|
||||
msgstr "Unterstützer: -%s"
|
||||
|
||||
#: application/models.py:211
|
||||
#: application/models.py:212
|
||||
#, python-format
|
||||
msgid "Number set: %s"
|
||||
msgstr "Nummer gesetzt: %s"
|
||||
|
||||
#: application/models.py:224
|
||||
#: application/models.py:225
|
||||
#, python-format
|
||||
msgid "Version %s permitted"
|
||||
msgstr "Version %s zugelassen"
|
||||
|
||||
#: application/models.py:238
|
||||
#: application/models.py:239
|
||||
#, python-format
|
||||
msgid "Version %s not permitted"
|
||||
msgstr "Version %s nicht zugelassen"
|
||||
|
||||
#: application/models.py:264
|
||||
#: application/models.py:265
|
||||
msgid "Status modified"
|
||||
msgstr "Status geändert"
|
||||
|
||||
#: application/models.py:375
|
||||
#: application/models.py:381
|
||||
msgid "Poll created"
|
||||
msgstr "Abstimmung erstellt"
|
||||
|
||||
#: application/models.py:393
|
||||
msgid "Can see applications"
|
||||
msgstr "Anträge anzeigen"
|
||||
|
||||
#: application/models.py:394
|
||||
msgid "Can insert new applications"
|
||||
msgstr "Anträge anlegen"
|
||||
|
||||
#: application/models.py:395
|
||||
msgid "Can support applications"
|
||||
msgstr "Anträge unterstützen"
|
||||
|
||||
#: application/models.py:396
|
||||
msgid "Can manage applications"
|
||||
msgstr "Anträge verwalten"
|
||||
|
||||
#: application/views.py:95
|
||||
msgid "You have not the necessary rights to edit or insert applications."
|
||||
msgid "You have not the necessary rights to create or edit applications."
|
||||
msgstr ""
|
||||
"Sie haben nicht die nötigen Rechte um Anträge einzureichen oder zu "
|
||||
"Sie haben nicht die nötigen Rechte, um Anträge zu erstellen oder zu "
|
||||
"bearbeiten."
|
||||
|
||||
#: application/views.py:100
|
||||
@ -581,27 +564,33 @@ msgstr "die %s. Abstimmung"
|
||||
msgid "Votes are successfully saved."
|
||||
msgstr "Stimmen erfolgreich gespeichert."
|
||||
|
||||
#: application/views.py:366
|
||||
msgid "Version accepted"
|
||||
msgstr "Version akzeptiert"
|
||||
#: application/views.py:367
|
||||
#, python-format
|
||||
msgid "Version <b>%s</b> accepted."
|
||||
msgstr "Version <b>%s</b> akzeptiert."
|
||||
|
||||
#: application/views.py:368
|
||||
msgid "ERROR by accepting the Version"
|
||||
msgstr "FEHLER beim Akzeptieren der Version"
|
||||
|
||||
#: application/views.py:377
|
||||
msgid "Version rejected"
|
||||
msgstr "Version zurückgewiesen"
|
||||
#: application/views.py:369
|
||||
#, python-format
|
||||
msgid "Do you really want to permit version <b>%s</b>?"
|
||||
msgstr "Soll Version <b>%s</b> wirklich zugelassen werden?"
|
||||
|
||||
#: application/views.py:379
|
||||
msgid "ERROR by rejecting the Version"
|
||||
msgid "Version <b>%s</b> rejected."
|
||||
msgstr "Version <b>%s</b> zurückgewiesen."
|
||||
|
||||
#: application/views.py:381
|
||||
#, fuzzy
|
||||
msgid "ERROR by rejecting the version."
|
||||
msgstr "FEHLER beim Zurückweisen der Version"
|
||||
|
||||
#: application/views.py:383
|
||||
msgid "Do you really want to reject version <b>%s</b>?"
|
||||
msgstr "Soll Version <b>%s</b> wirklich zurückgewiesen werden?"
|
||||
|
||||
#: application/templates/application/base_application.html:6
|
||||
#: application/templates/application/overview.html:2
|
||||
#: application/templates/application/overview.html:6 templates/403.html:12
|
||||
#: templates/404.html:12 templates/500.html:12 templates/base.html:52
|
||||
#: utils/pdf.py:287 utils/pdf.py:294
|
||||
#: application/templates/application/overview.html:6 templates/base.html:41
|
||||
#: utils/pdf.py:339 utils/pdf.py:346
|
||||
msgid "Applications"
|
||||
msgstr "Anträge"
|
||||
|
||||
@ -675,7 +664,7 @@ msgstr "Abstimmung drucken"
|
||||
|
||||
#: application/templates/application/poll_view.html:16
|
||||
#: application/templates/application/poll_view.html:19
|
||||
#: application/templates/application/view.html:65 utils/pdf.py:326
|
||||
#: application/templates/application/view.html:65 utils/pdf.py:380
|
||||
msgid "Vote"
|
||||
msgstr "Abstimmung"
|
||||
|
||||
@ -812,21 +801,42 @@ msgstr "Nur zur Administration:"
|
||||
msgid "Reset"
|
||||
msgstr "Zurücksetzen"
|
||||
|
||||
#: application/templates/application/view.html:229
|
||||
msgid "Revisions"
|
||||
msgstr "Überarbeitungen"
|
||||
#: application/templates/application/view.html:214
|
||||
#: application/templates/application/view.html:235
|
||||
msgid "Version"
|
||||
msgstr "Version"
|
||||
|
||||
#: application/templates/application/view.html:234
|
||||
#: application/templates/application/view.html:230
|
||||
msgid "Version History"
|
||||
msgstr "Versionshistorie"
|
||||
|
||||
#: application/templates/application/view.html:236
|
||||
msgid "Time"
|
||||
msgstr "Zeit"
|
||||
|
||||
#: application/templates/application/view.html:259
|
||||
#: application/templates/application/view.html:266
|
||||
#: application/templates/application/view.html:273
|
||||
#: application/templates/application/view.html:247
|
||||
msgid "Version accepted"
|
||||
msgstr "Version akzeptiert"
|
||||
|
||||
#: application/templates/application/view.html:250
|
||||
msgid "Accept Version"
|
||||
msgstr "Zugelassene Version"
|
||||
|
||||
#: application/templates/application/view.html:253
|
||||
msgid "Reject Version"
|
||||
msgstr "Verion zurückweisen"
|
||||
|
||||
#: application/templates/application/view.html:257
|
||||
msgid "Version rejected"
|
||||
msgstr "Version zurückgewiesen"
|
||||
|
||||
#: application/templates/application/view.html:267
|
||||
#: application/templates/application/view.html:274
|
||||
#: application/templates/application/view.html:281
|
||||
msgid "unchanged"
|
||||
msgstr "unverändert"
|
||||
|
||||
#: application/templates/application/view.html:282
|
||||
#: application/templates/application/view.html:290
|
||||
msgid "Log"
|
||||
msgstr "Log"
|
||||
|
||||
@ -951,8 +961,7 @@ msgstr "gewählt"
|
||||
#: assignment/templates/assignment/base_assignment.html:11
|
||||
#: assignment/templates/assignment/overview.html:2
|
||||
#: assignment/templates/assignment/overview.html:5
|
||||
#: assignment/templates/assignment/overview.html:20 templates/403.html:16
|
||||
#: templates/404.html:16 templates/500.html:16 templates/base.html:56
|
||||
#: assignment/templates/assignment/overview.html:20 templates/base.html:45
|
||||
msgid "Elections"
|
||||
msgstr "Wahlen"
|
||||
|
||||
@ -981,7 +990,7 @@ msgstr "Wahl löschen"
|
||||
msgid "No assignments available."
|
||||
msgstr "Keine Wahlen vorhanden."
|
||||
|
||||
#: assignment/templates/assignment/poll_view.html:7 utils/pdf.py:357
|
||||
#: assignment/templates/assignment/poll_view.html:7 utils/pdf.py:413
|
||||
msgid "candidate"
|
||||
msgid_plural "candidates"
|
||||
msgstr[0] "Kandidat"
|
||||
@ -1036,15 +1045,15 @@ msgstr "Abstimmung löschen"
|
||||
msgid "New ballot"
|
||||
msgstr "Neuer Wahlgang"
|
||||
|
||||
#: participant/forms.py:23
|
||||
#: participant/forms.py:23 participant/forms.py:34
|
||||
msgid "First name"
|
||||
msgstr "Vorname"
|
||||
|
||||
#: participant/forms.py:24
|
||||
#: participant/forms.py:24 participant/forms.py:35
|
||||
msgid "Last name"
|
||||
msgstr "Nachname"
|
||||
|
||||
#: participant/forms.py:64
|
||||
#: participant/forms.py:72
|
||||
msgid "CSV File"
|
||||
msgstr "CSV-Datei"
|
||||
|
||||
@ -1053,12 +1062,10 @@ msgid "Not specified"
|
||||
msgstr "Nicht angegeben"
|
||||
|
||||
#: participant/models.py:22 participant/templates/participant/overview.html:11
|
||||
#: participant/templates/participant/overview.html:60
|
||||
msgid "Male"
|
||||
msgstr "Männlich"
|
||||
|
||||
#: participant/models.py:23 participant/templates/participant/overview.html:12
|
||||
#: participant/templates/participant/overview.html:62
|
||||
msgid "Female"
|
||||
msgstr "Weiblich"
|
||||
|
||||
@ -1079,12 +1086,11 @@ msgid "Staff"
|
||||
msgstr "Mitarbeiter"
|
||||
|
||||
#: participant/models.py:33 participant/templates/participant/overview.html:10
|
||||
#: participant/templates/participant/overview.html:43
|
||||
msgid "Gender"
|
||||
msgstr "Geschlecht"
|
||||
|
||||
#: participant/models.py:34 participant/templates/participant/overview.html:16
|
||||
#: participant/templates/participant/overview.html:44 utils/pdf.py:230
|
||||
#: participant/templates/participant/overview.html:43 utils/pdf.py:237
|
||||
msgid "Group"
|
||||
msgstr "Gruppe"
|
||||
|
||||
@ -1093,7 +1099,7 @@ msgid "Typ"
|
||||
msgstr "Typ"
|
||||
|
||||
#: participant/models.py:36 participant/templates/participant/overview.html:30
|
||||
#: participant/templates/participant/overview.html:46 utils/pdf.py:230
|
||||
#: participant/templates/participant/overview.html:44 utils/pdf.py:237
|
||||
msgid "Committee"
|
||||
msgstr "Amt"
|
||||
|
||||
@ -1109,54 +1115,54 @@ msgstr "Neuer Teilnehmer wurde erfolgreich angelegt."
|
||||
msgid "Participant was successfully modified."
|
||||
msgstr "Teilnehmer wurde erfolgreich geändert."
|
||||
|
||||
#: participant/views.py:127
|
||||
#: participant/views.py:129
|
||||
#, python-format
|
||||
msgid "Participant <b>%s</b> was successfully deleted."
|
||||
msgstr "Teilnehmer <b>%s</b> wurde erfolgreich gelöscht."
|
||||
|
||||
#: participant/views.py:139
|
||||
#: participant/views.py:141
|
||||
#, python-format
|
||||
msgid "Participant <b>%s</b> is now a normal user."
|
||||
msgstr "Teilnehmer <b>%s</b> ist jetzt ein normaler Nutzer."
|
||||
|
||||
#: participant/views.py:143
|
||||
#: participant/views.py:145
|
||||
#, python-format
|
||||
msgid "Participant <b>%s</b> is now administrator."
|
||||
msgstr "Teilnehmer <b>%s</b> ist jetzt ein Administrator."
|
||||
|
||||
#: participant/views.py:153
|
||||
#: participant/views.py:155
|
||||
#, python-format
|
||||
msgid "Participant <b>%s</b> was successfully deactivated."
|
||||
msgstr "Teilnehmer <b>%s</b> wurde erfolgreich deaktiviert."
|
||||
|
||||
#: participant/views.py:157
|
||||
#: participant/views.py:159
|
||||
#, python-format
|
||||
msgid "Participant <b>%s</b> was successfully activated."
|
||||
msgstr "Teilnehmer <b>%s</b> wurde erfolgreich aktiviert."
|
||||
|
||||
#: participant/views.py:184
|
||||
#: participant/views.py:186
|
||||
msgid "New group was successfully created."
|
||||
msgstr "Neue Gruppe wurde erfolgreich angelegt."
|
||||
|
||||
#: participant/views.py:186
|
||||
#: participant/views.py:188
|
||||
msgid "Group was successfully modified."
|
||||
msgstr "Gruppe wurde erfolgreich geändert."
|
||||
|
||||
#: participant/views.py:205
|
||||
#: participant/views.py:207
|
||||
#, python-format
|
||||
msgid "Group <b>%s</b> was successfully deleted."
|
||||
msgstr "Gruppe <b>%s</b> wurde erfolgreich gelöscht."
|
||||
|
||||
#: participant/views.py:219
|
||||
#: participant/views.py:221
|
||||
msgid "User settings successfully saved."
|
||||
msgstr "Nutzereinstellungen wurden erfolgreich gespeichert."
|
||||
|
||||
#: participant/views.py:267
|
||||
#: participant/views.py:269
|
||||
#, python-format
|
||||
msgid "%d new participants were successfully imported."
|
||||
msgstr "%d neue Teilnehmer wurden erfolgreich importiert."
|
||||
|
||||
#: participant/views.py:271
|
||||
#: participant/views.py:273
|
||||
msgid ""
|
||||
"Attention: All existing participants will be removed if you import new "
|
||||
"participants."
|
||||
@ -1164,20 +1170,19 @@ msgstr ""
|
||||
"Achtung: Alle existierenden Teilnehmer werden gelöscht, wenn Sie neue "
|
||||
"Teilnehmer importieren."
|
||||
|
||||
#: participant/views.py:290
|
||||
#: participant/views.py:292
|
||||
#, python-format
|
||||
msgid "The Password for <b>%s</b> was successfully reset."
|
||||
msgstr "Das Passwort für <b>%s</b> wurde erfolgreich zurückgesetzt."
|
||||
|
||||
#: participant/views.py:292
|
||||
#: participant/views.py:294
|
||||
#, python-format
|
||||
msgid "Do you really want to reset the password for <b>%s</b>?"
|
||||
msgstr "Soll das Passwort für <b>%s</b> wirklich zurückgesetzt werden?"
|
||||
|
||||
#: participant/templates/participant/base_participant.html:6
|
||||
#: participant/templates/participant/overview.html:2
|
||||
#: participant/templates/participant/overview.html:5 templates/403.html:20
|
||||
#: templates/404.html:20 templates/500.html:20 templates/base.html:60
|
||||
#: participant/templates/participant/overview.html:5 templates/base.html:49
|
||||
msgid "Participants"
|
||||
msgstr "Teilnehmer"
|
||||
|
||||
@ -1204,20 +1209,23 @@ msgid "Print participant list"
|
||||
msgstr "Teilnehmerliste drucken"
|
||||
|
||||
#: participant/templates/participant/base_participant.html:16
|
||||
#: participant/templates/participant/import.html:12
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
msgid "Import participant"
|
||||
msgstr "Teilnehmer importieren"
|
||||
|
||||
#: participant/templates/participant/base_participant.html:17
|
||||
msgid "Generate first passwords"
|
||||
msgstr "Erste Passwörter generieren"
|
||||
|
||||
#: participant/templates/participant/base_participant.html:18
|
||||
msgid "Print password list"
|
||||
msgstr "Passwortliste drucken"
|
||||
|
||||
#: participant/templates/participant/edit.html:2 poll/models.py:109
|
||||
msgid "Participant"
|
||||
msgstr "Teilnehmer"
|
||||
|
||||
#: participant/templates/participant/edit.html:6
|
||||
#: participant/templates/participant/overview.html:74
|
||||
#: participant/templates/participant/overview.html:66
|
||||
msgid "Edit participant"
|
||||
msgstr "Teilnehmer bearbeiten"
|
||||
|
||||
@ -1255,7 +1263,7 @@ msgid "Delete group"
|
||||
msgstr "Benutzergruppe löschen"
|
||||
|
||||
#: participant/templates/participant/group_overview.html:20
|
||||
#: participant/templates/participant/overview.html:91
|
||||
#: participant/templates/participant/overview.html:83
|
||||
msgid "No participants available."
|
||||
msgstr "Keine Teilnehmer vorhanden."
|
||||
|
||||
@ -1275,13 +1283,17 @@ msgstr ""
|
||||
"(Erfordert kommaseparierte Werte: <code>Nachname, Vorname, E-Mail, "
|
||||
"Geschlecht, Gruppe, Typ, Amt</code>)"
|
||||
|
||||
#: participant/templates/participant/import.html:12
|
||||
msgid "Import"
|
||||
msgstr "Importiern"
|
||||
|
||||
#: participant/templates/participant/login.html:5
|
||||
#: participant/templates/participant/login.html:13
|
||||
#: participant/templates/participant/login.html:43 templates/base.html:26
|
||||
msgid "Login"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: participant/templates/participant/login.html:18 templates/base.html:77
|
||||
#: participant/templates/participant/login.html:18 templates/base.html:66
|
||||
msgid "Close this notification"
|
||||
msgstr "Meldung ausblenden"
|
||||
|
||||
@ -1298,15 +1310,15 @@ msgstr "Mitarbeiter"
|
||||
msgid "guest"
|
||||
msgstr "Gast"
|
||||
|
||||
#: participant/templates/participant/overview.html:41 utils/pdf.py:230
|
||||
#: participant/templates/participant/overview.html:41 utils/pdf.py:237
|
||||
msgid "First Name"
|
||||
msgstr "Vorname"
|
||||
|
||||
#: participant/templates/participant/overview.html:42 utils/pdf.py:230
|
||||
#: participant/templates/participant/overview.html:42 utils/pdf.py:237
|
||||
msgid "Last Name"
|
||||
msgstr "Nachname"
|
||||
|
||||
#: participant/templates/participant/overview.html:47
|
||||
#: participant/templates/participant/overview.html:47 utils/pdf.py:287
|
||||
msgid "Username"
|
||||
msgstr "Nutzername"
|
||||
|
||||
@ -1318,23 +1330,23 @@ msgstr "E-Mail"
|
||||
msgid "Last Login"
|
||||
msgstr "Letzer Login"
|
||||
|
||||
#: participant/templates/participant/overview.html:75
|
||||
#: participant/templates/participant/overview.html:67
|
||||
msgid "Delete participant"
|
||||
msgstr "Teilnehmer löschen"
|
||||
|
||||
#: participant/templates/participant/overview.html:77
|
||||
#: participant/templates/participant/overview.html:69
|
||||
msgid "Participiant is activated. Click to deactivate!"
|
||||
msgstr "Teilnehmer ist aktiviert. Zum Deaktivieren klicken!"
|
||||
|
||||
#: participant/templates/participant/overview.html:79
|
||||
#: participant/templates/participant/overview.html:71
|
||||
msgid "Participiant is deactivated. Click to activate!"
|
||||
msgstr "Teilnehmer ist deaktiviert, Zum Aktivieren klicken!"
|
||||
|
||||
#: participant/templates/participant/overview.html:82
|
||||
#: participant/templates/participant/overview.html:74
|
||||
msgid "Administrator. Click to get normal user!"
|
||||
msgstr "Administrator. Klicken, um normaler Nutzer zu werden!"
|
||||
|
||||
#: participant/templates/participant/overview.html:84
|
||||
#: participant/templates/participant/overview.html:76
|
||||
msgid "Normal user. Click to get administrator!"
|
||||
msgstr "Normaler Nutzer. Klicken, um Administrator zu werden!"
|
||||
|
||||
@ -1366,50 +1378,53 @@ msgstr "Mehrheit"
|
||||
msgid "No options"
|
||||
msgstr "Keine Wahlmöglichkeiten"
|
||||
|
||||
#: system/forms.py:21
|
||||
msgid "User registration"
|
||||
msgstr "Benutzerregistrierung"
|
||||
#: system/forms.py:22
|
||||
msgid "System URL"
|
||||
msgstr "System URL"
|
||||
|
||||
#: system/forms.py:27
|
||||
#: system/forms.py:23
|
||||
msgid "Welcome text (for password PDF)"
|
||||
msgstr "Willkommenstext (für Passwort-PDF-Liste)"
|
||||
|
||||
#: system/forms.py:30
|
||||
msgid "Event name"
|
||||
msgstr "Veranstaltungsname"
|
||||
|
||||
#: system/forms.py:28
|
||||
#: system/forms.py:31
|
||||
msgid "Short description of event"
|
||||
msgstr "Kurzbeschreibung der Veranstaltung"
|
||||
|
||||
#: system/forms.py:29
|
||||
#: system/forms.py:32
|
||||
msgid "Event date"
|
||||
msgstr "Veranstaltungszeitraum"
|
||||
|
||||
#: system/forms.py:30
|
||||
#: system/forms.py:33
|
||||
msgid "Event location"
|
||||
msgstr "Veranstaltungsort"
|
||||
|
||||
#: system/forms.py:31
|
||||
#: system/forms.py:34
|
||||
msgid "Event organizer"
|
||||
msgstr "Veranstalter"
|
||||
|
||||
#: system/forms.py:37
|
||||
#: system/forms.py:40
|
||||
msgid "Number of (minimum) required supporters for a application"
|
||||
msgstr "Mindestanzahl erforderlicher Unterstützer für einen Antrag"
|
||||
|
||||
#: system/forms.py:38
|
||||
#: system/forms.py:41
|
||||
msgid "Application preamble"
|
||||
msgstr "Antragseinleitung"
|
||||
|
||||
#: system/views.py:29
|
||||
#: system/views.py:30
|
||||
msgid "System settings successfully saved."
|
||||
msgstr "Systemeinstellungen erfolgreich gespeichert."
|
||||
|
||||
#: system/views.py:55
|
||||
#: system/views.py:57
|
||||
msgid "General settings successfully saved."
|
||||
msgstr "Allgemeine Einstellungen erfolgreich gespeichert."
|
||||
|
||||
#: system/templates/system/base_system.html:7
|
||||
#: system/templates/system/general.html:2
|
||||
#: system/templates/system/system.html:2 templates/403.html:24
|
||||
#: templates/404.html:24 templates/500.html:24 templates/base.html:64
|
||||
#: system/templates/system/system.html:2 templates/base.html:53
|
||||
msgid "Configuration"
|
||||
msgstr "Konfiguration"
|
||||
|
||||
@ -1418,19 +1433,20 @@ msgstr "Konfiguration"
|
||||
msgid "General"
|
||||
msgstr "Allgemein"
|
||||
|
||||
#: system/templates/system/general.html:8
|
||||
msgid "Event"
|
||||
msgstr "Veranstaltung"
|
||||
|
||||
#: system/templates/system/base_system.html:10
|
||||
#: system/templates/system/system.html:5
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: templates/404.html:33
|
||||
#: system/templates/system/general.html:8
|
||||
msgid "Event"
|
||||
msgstr "Veranstaltung"
|
||||
|
||||
#: templates/404.html:10
|
||||
msgid "Page not found."
|
||||
msgstr "Seite nicht gefunden."
|
||||
|
||||
#: templates/500.html:33
|
||||
#: templates/500.html:9
|
||||
msgid "Server Error"
|
||||
msgstr "Serverfehler"
|
||||
|
||||
@ -1450,42 +1466,64 @@ msgstr "Einstellungen"
|
||||
msgid "Welcome"
|
||||
msgstr "Willkommen"
|
||||
|
||||
#: templates/base.html:31
|
||||
msgid "Language"
|
||||
msgstr "Sprache"
|
||||
|
||||
#: utils/pdf.py:165 utils/pdf.py:271
|
||||
#: utils/pdf.py:170 utils/pdf.py:322
|
||||
msgid "%Y-%m-%d %H:%Mh"
|
||||
msgstr "%d.%m.%Y %H:%Mh"
|
||||
|
||||
#: utils/pdf.py:178
|
||||
#: utils/pdf.py:183
|
||||
msgid "Printed"
|
||||
msgstr "Gedruckt am"
|
||||
|
||||
#: utils/pdf.py:188 utils/pdf.py:196
|
||||
#: utils/pdf.py:193 utils/pdf.py:201
|
||||
msgid "Page"
|
||||
msgstr "Seite"
|
||||
|
||||
#: utils/pdf.py:223
|
||||
#: utils/pdf.py:230
|
||||
msgid "Participant-list"
|
||||
msgstr "Teilnehmerliste"
|
||||
|
||||
#: utils/pdf.py:228
|
||||
#: utils/pdf.py:235
|
||||
msgid "List of Participants"
|
||||
msgstr "Teilnehmerliste"
|
||||
|
||||
#: utils/pdf.py:271
|
||||
msgid "passwords"
|
||||
msgstr "Passwörter"
|
||||
|
||||
#: utils/pdf.py:284
|
||||
msgid "Your Account for OpenSlides"
|
||||
msgstr "Ihr Zugang für OpenSlides"
|
||||
|
||||
#: utils/pdf.py:285
|
||||
msgid "for"
|
||||
msgstr "für"
|
||||
|
||||
#: utils/pdf.py:288
|
||||
msgid "Password"
|
||||
msgstr "Passwort"
|
||||
|
||||
#: utils/pdf.py:290
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: utils/pdf.py:322
|
||||
msgid "Created"
|
||||
msgstr "Erstellt am"
|
||||
|
||||
#: utils/pdf.py:275
|
||||
#: utils/pdf.py:326
|
||||
msgid "Supporter"
|
||||
msgstr "Unterstützer"
|
||||
|
||||
#: utils/pdf.py:357
|
||||
#: utils/pdf.py:413
|
||||
msgid "available posts"
|
||||
msgstr "verfügbare Posten"
|
||||
|
||||
#: utils/utils.py:72
|
||||
msgid "Sorry, you have no rights to see this page."
|
||||
msgstr "Bedaure, Sie haben keine Berechtigung diese Seite zu sehen."
|
||||
|
||||
#~ msgid "Revision"
|
||||
#~ msgstr "Überarbeitungen"
|
||||
|
||||
#~ msgid "Revisions"
|
||||
#~ msgstr "Überarbeitungen"
|
||||
|
@ -50,8 +50,8 @@ class Profile(models.Model):
|
||||
|
||||
class Meta:
|
||||
permissions = (
|
||||
('can_view_participants', "Can see the list of participants"),
|
||||
('can_manage_participants', "Can manage the participant list"),
|
||||
('can_see_participant', "Can see participant"),
|
||||
('can_manage_participant', "Can manage participant"),
|
||||
)
|
||||
|
||||
def set_first_user_passwords():
|
||||
|
@ -5,17 +5,17 @@
|
||||
{% url user_overview as url_useroverview %}
|
||||
<h4 class="sectiontitle">{%trans "Participants" %}</h4>
|
||||
<ul>
|
||||
{% if perms.participant.can_view_participants %}
|
||||
{% if perms.participant.can_see_participant %}
|
||||
<li class="{% if request.path == url_useroverview %}selected{% endif %}"><a href="{% url user_overview %}">{%trans "All participants" %}</a></li>
|
||||
{% endif %}
|
||||
{% if perms.participant.can_manage_participants %}
|
||||
{% if perms.participant.can_manage_participant %}
|
||||
<li class="{% active request '/user/new' %}"><a href="{% url user_new %}">{%trans "New participant" %}</a></li>
|
||||
<li><a href="{% url user_group_overview %}">{%trans "All user groups" %}</a></li>
|
||||
<li><a href="{% url user_group_new %}">{%trans "New user group" %}</a></li>
|
||||
<li><a href="{% url user_print %}"><img src="/static/images/icons/application-pdf.png"> {%trans 'Print participant list' %}</a></li>
|
||||
<li><a href="{% url user_import %}"> {%trans 'Import' %}</a></li>
|
||||
<li><a href="{% url user_import %}"> {%trans 'Import participant' %}</a></li>
|
||||
<li><a href="{% url user_gen_passwords %}">{% trans 'Generate first passwords' %}</a></li>
|
||||
<li><a href="{% url print_passwords %}"><img src="/static/images/icons/application-pdf.png">{% trans 'Print password list' %}</a></li>
|
||||
<li><a href="{% url print_passwords %}"><img src="/static/images/icons/application-pdf.png"> {% trans 'Print password list' %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
|
@ -42,7 +42,7 @@
|
||||
<th><a href="?sort=last_name{% if 'last_name' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Last Name" %}</a></th>
|
||||
<th><a href="?sort=group{% if 'group' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Group" %}</a></th>
|
||||
<th><a href="?sort=committee{% if 'committee' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Committee" %}</a></th>
|
||||
{% if perms.participant.can_manage_participants %}
|
||||
{% if perms.participant.can_manage_participant %}
|
||||
<th><a href="?sort=type{% if 'type' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Type" %}</a></th>
|
||||
<th><a href="?sort=username{% if 'username' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Username" %}</a></th>
|
||||
<th><a href="?sort=email{% if 'email' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Email" %}</a></th>
|
||||
@ -56,7 +56,7 @@
|
||||
<td>{{ user.last_name }}</td>
|
||||
<td>{{ user.profile.group }}</td>
|
||||
<td>{{ user.profile.committee }}</td>
|
||||
{% if perms.participant.can_manage_participants %}
|
||||
{% if perms.participant.can_manage_participant %}
|
||||
<td>{{ user.profile.type }}</td>
|
||||
<td>{{ user.username }}</td>
|
||||
<td>{{ user.email }}</td>
|
||||
|
@ -30,7 +30,7 @@ from utils.pdf import print_userlist, print_passwords
|
||||
from django.db.models import Avg, Max, Min, Count
|
||||
|
||||
|
||||
@permission_required('participant.can_view_participants')
|
||||
@permission_required('participant.can_see_participant')
|
||||
@template('participant/overview.html')
|
||||
def get_overview(request):
|
||||
query = User.objects
|
||||
@ -69,7 +69,7 @@ def get_overview(request):
|
||||
'committees': committees,
|
||||
}
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
@template('participant/edit.html')
|
||||
def edit(request, user_id=None):
|
||||
"""
|
||||
@ -120,7 +120,7 @@ def edit(request, user_id=None):
|
||||
'edituser': user,
|
||||
}
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
@template('confirm.html')
|
||||
def user_delete(request, user_id):
|
||||
user = User.objects.get(pk=user_id)
|
||||
@ -131,7 +131,7 @@ def user_delete(request, user_id):
|
||||
gen_confirm_form(request, _('Do you really want to delete <b>%s</b>?') % user, reverse('user_delete', args=[user_id]))
|
||||
return redirect(reverse('user_overview'))
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
@template('confirm.html')
|
||||
def user_set_superuser(request, user_id):
|
||||
user = User.objects.get(pk=user_id)
|
||||
@ -145,7 +145,7 @@ def user_set_superuser(request, user_id):
|
||||
messages.success(request, _('Participant <b>%s</b> is now administrator.') % user)
|
||||
return redirect(reverse('user_overview'))
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
@template('confirm.html')
|
||||
def user_set_active(request, user_id):
|
||||
user = User.objects.get(pk=user_id)
|
||||
@ -159,7 +159,7 @@ def user_set_active(request, user_id):
|
||||
messages.success(request, _('Participant <b>%s</b> was successfully activated.') % user)
|
||||
return redirect(reverse('user_overview'))
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
@template('participant/group_overview.html')
|
||||
def get_group_overview(request):
|
||||
groups = Group.objects.all()
|
||||
@ -167,7 +167,7 @@ def get_group_overview(request):
|
||||
'groups': groups,
|
||||
}
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
@template('participant/group_edit.html')
|
||||
def group_edit(request, group_id=None):
|
||||
if group_id is not None:
|
||||
@ -199,7 +199,7 @@ def group_edit(request, group_id=None):
|
||||
'group': group,
|
||||
}
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
def group_delete(request, group_id):
|
||||
group = Group.objects.get(pk=group_id)
|
||||
if request.method == 'POST':
|
||||
@ -231,7 +231,7 @@ def user_settings(request):
|
||||
'edituser': request.user,
|
||||
}
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
@template('participant/import.html')
|
||||
def user_import(request):
|
||||
try:
|
||||
@ -277,13 +277,13 @@ def user_import(request):
|
||||
}
|
||||
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
def gen_passwords(request):
|
||||
set_first_user_passwords()
|
||||
return redirect(reverse('user_overview'))
|
||||
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
def reset_password(request, user_id):
|
||||
user = User.objects.get(pk=user_id)
|
||||
if request.method == 'POST':
|
||||
|
BIN
openslides/static/images/icons/go-down.png
Normal file
BIN
openslides/static/images/icons/go-down.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 562 B |
BIN
openslides/static/images/icons/go-up.png
Normal file
BIN
openslides/static/images/icons/go-up.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 532 B |
BIN
openslides/static/images/icons/zoom-in.png
Normal file
BIN
openslides/static/images/icons/zoom-in.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 867 B |
BIN
openslides/static/images/icons/zoom-out.png
Normal file
BIN
openslides/static/images/icons/zoom-out.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 884 B |
@ -42,7 +42,7 @@ function hideClosedSlides(hide) {
|
||||
hideLine($(this));
|
||||
});
|
||||
hidden = $('#menu-overview tr:hidden').size();
|
||||
$('#hiddencount').text(' ' + hidden + ' davon verborgen.');
|
||||
$('#hiddencount').text(', davon ' + hidden + ' verborgen.');
|
||||
} else {
|
||||
$('#menu-overview tr').show();
|
||||
$('#hidelink').attr('title','hide');
|
||||
|
@ -253,6 +253,10 @@ tr.total td {
|
||||
border-top: 1px solid #333333;
|
||||
background-color: #e3e3e3;
|
||||
}
|
||||
tr.topline td {
|
||||
border-bottom: 1px solid #333333;
|
||||
background-color: #e3e3e3;
|
||||
}
|
||||
|
||||
|
||||
/* Links and Images */
|
||||
|
@ -29,5 +29,5 @@ class Config(models.Model):
|
||||
|
||||
class Meta:
|
||||
permissions = (
|
||||
('can_manage_system', "Can manage the system"),
|
||||
('can_manage_system', "Can manage system configuration"),
|
||||
)
|
||||
|
@ -31,20 +31,20 @@
|
||||
<div id="mainmenu">
|
||||
{% block mainmenu %}
|
||||
<ul>
|
||||
{% if perms.agenda.can_view_agenda or perms.agenda.can_manage_agenda %}
|
||||
<li class="{% active request '/item' %}
|
||||
{% if perms.agenda.can_see_agenda or perms.agenda.can_manage_agenda %}
|
||||
<li class="{% active request '/agenda' %}
|
||||
{% if request.path == '/'%}selected{% endif %}">
|
||||
<a href="{% url item_overview %}" title="">{%trans "Agenda" %}</a></li>
|
||||
{% endif %}
|
||||
{% if perms.application.can_view_application or perms.application.can_insert_application or perms.application.can_support_application or perms.application.can_manage_application %}
|
||||
{% if perms.application.can_see_application or perms.application.can_create_application or perms.application.can_support_application or perms.application.can_manage_application %}
|
||||
<li class="{% active request '/application' %}">
|
||||
<a href="{% url application_overview %}" title="">{%trans "Applications" %}</a></li>
|
||||
{% endif %}
|
||||
{% if perms.assignment.can_view_assignment or perms.assignment.can_nominate_other or perms.assignment.can_nominate_self or perms.assignment.can_manage_assignment %}
|
||||
{% if perms.assignment.can_see_assignment or perms.assignment.can_nominate_other or perms.assignment.can_nominate_self or perms.assignment.can_manage_assignment %}
|
||||
<li class="{% active request '/assignment' %}">
|
||||
<a href="{% url assignment_overview %}" title="">{%trans "Elections" %}</a></li>
|
||||
{% endif %}
|
||||
{% if perms.participant.can_view_participants or perms.participant.can_manage_participants %}
|
||||
{% if perms.participant.can_see_participant or perms.participant.can_manage_participant %}
|
||||
<li class="{% active request '/participant' %}">
|
||||
<a href="{% url user_overview %}" title="">{%trans "Participants" %}</a></li>
|
||||
{% endif %}
|
||||
|
@ -201,7 +201,7 @@ def laterPages(canvas, doc):
|
||||
canvas.drawString(10*cm, 1*cm, _("Page")+" %s" % doc.page)
|
||||
canvas.restoreState()
|
||||
|
||||
@permission_required('agenda.can_view_agenda')
|
||||
@permission_required('agenda.can_see_agenda')
|
||||
def print_agenda(request):
|
||||
response = HttpResponse(mimetype='application/pdf')
|
||||
filename = u'filename=%s.pdf;' % _("Agenda")
|
||||
@ -210,21 +210,23 @@ def print_agenda(request):
|
||||
story = [Spacer(1,3*cm)]
|
||||
|
||||
doc.title = _("Agenda")
|
||||
|
||||
# print item list
|
||||
items = children_list(Item.objects.filter(parent=None).order_by('weight'))
|
||||
for item in items:
|
||||
if item.hidden is False:
|
||||
# print all items
|
||||
# print all items"
|
||||
if item.parents:
|
||||
story.append(Paragraph(item.title, stylesheet['Subitem']))
|
||||
space = ""
|
||||
for p in item.parents:
|
||||
space += " "
|
||||
story.append(Paragraph(space+item.title, stylesheet['Subitem']))
|
||||
else:
|
||||
story.append(Paragraph(item.title, stylesheet['Item']))
|
||||
|
||||
doc.build(story, onFirstPage=firstPage, onLaterPages=laterPages)
|
||||
return response
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
def print_userlist(request):
|
||||
response = HttpResponse(mimetype='application/pdf')
|
||||
filename = u'filename=%s.pdf;' % _("Participant-list")
|
||||
@ -265,7 +267,7 @@ def print_userlist(request):
|
||||
doc.build(story, onFirstPage=firstPage, onLaterPages=laterPages)
|
||||
return response
|
||||
|
||||
@permission_required('participant.can_manage_participants')
|
||||
@permission_required('participant.can_manage_participant')
|
||||
def print_passwords(request):
|
||||
response = HttpResponse(mimetype='application/pdf')
|
||||
filename = u'filename=%s.pdf;' % _("passwords")
|
||||
@ -281,7 +283,7 @@ def print_passwords(request):
|
||||
user.get_profile()
|
||||
cell = []
|
||||
cell.append(Spacer(0,0.8*cm))
|
||||
cell.append(Paragraph(_("Your Password for OpenSlides"), stylesheet['Ballot_title']))
|
||||
cell.append(Paragraph(_("Your Account for OpenSlides"), stylesheet['Ballot_title']))
|
||||
cell.append(Paragraph("%s %s %s" % (_("for"), user.first_name, user.last_name), stylesheet['Ballot_subtitle']))
|
||||
cell.append(Spacer(0,0.5*cm))
|
||||
cell.append(Paragraph("%s: %s" % (_("Username"), user.username), stylesheet['Ballot_option']))
|
||||
@ -308,7 +310,7 @@ def print_passwords(request):
|
||||
doc.build(story)
|
||||
return response
|
||||
|
||||
@permission_required('application.can_view_application')
|
||||
@permission_required('application.can_see_application')
|
||||
def get_application(application, story):
|
||||
if application.number is None:
|
||||
story.append(Paragraph(_("Application")+" #[-]", stylesheet['Heading1']))
|
||||
@ -333,7 +335,7 @@ def get_application(application, story):
|
||||
story.append(Paragraph(_("Status")+": %s" % (application.get_status_display()), stylesheet['Italic']))
|
||||
return story
|
||||
|
||||
@permission_required('application.can_view_application')
|
||||
@permission_required('application.can_see_application')
|
||||
def print_application(request, application_id=None):
|
||||
response = HttpResponse(mimetype='application/pdf')
|
||||
filename = u'filename=%s.pdf;' % _("Applications")
|
||||
|
Loading…
Reference in New Issue
Block a user