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