diff --git a/THANKS b/THANKS
index f7c44c3d4..26d1b4f3f 100644
--- a/THANKS
+++ b/THANKS
@@ -46,7 +46,7 @@ OpenSlides uses parts of the following projects:
License: MIT
and some addons:
- jQuery UI Nested Sortable
-
+
License: MIT
- jQuery UI Slider Access
diff --git a/openslides/agenda/templates/search/agenda-results.html b/openslides/agenda/templates/search/agenda-results.html
index 8397a60f1..2807e2445 100644
--- a/openslides/agenda/templates/search/agenda-results.html
+++ b/openslides/agenda/templates/search/agenda-results.html
@@ -1,10 +1,16 @@
{% load i18n %}
{% load highlight %}
-{% if perms.agenda.can_see_agenda %}
+{% if perms.agenda.can_see_agenda and result.object.type == result.object.AGENDA_ITEM %}
{{ result.object }}
{% trans "Agenda" %}
{% highlight result.text with request.GET.q %}
+{% elif perms.agenda.can_see_orga_items and result.object.type == result.object.ORGANIZATIONAL_ITEM %}
+
+ [{{ result.object }}]
+ {% trans "Agenda" %} ({% trans "Organizational item" %})
+ {% highlight result.text with request.GET.q %}
+
{% endif %}
diff --git a/openslides/agenda/views.py b/openslides/agenda/views.py
index dcdf847fa..c3c4d7811 100644
--- a/openslides/agenda/views.py
+++ b/openslides/agenda/views.py
@@ -144,19 +144,26 @@ class AgendaItemView(SingleObjectMixin, FormView):
Show an agenda item.
"""
# TODO: use 'SingleObjectTemplateResponseMixin' to choose the right template name
- permission_required = 'agenda.can_see_agenda'
template_name = 'agenda/view.html'
model = Item
context_object_name = 'item'
form_class = AppendSpeakerForm
+ def has_permission(self, request, *args, **kwargs):
+ """
+ Checks if the user has the required permission.
+ """
+ if self.get_object().type == Item.ORGANIZATIONAL_ITEM:
+ permission = request.user.has_perm('agenda.can_see_orga_items')
+ else:
+ permission = request.user.has_perm('agenda.can_see_agenda')
+ return permission
+
def get_context_data(self, **kwargs):
self.object = self.get_object()
list_of_speakers = self.object.get_list_of_speakers()
-
active_slide = get_active_slide()
active_type = active_slide.get('type', None)
-
kwargs.update({
'object': self.object,
'list_of_speakers': list_of_speakers,
@@ -594,10 +601,16 @@ class CurrentListOfSpeakersView(RedirectView):
messages.success(request, _('%s is now finished.') % current_speaker)
reverse_to_dashboard = True
- if reverse_to_dashboard or not self.request.user.has_perm('agenda.can_see_agenda'):
- return reverse('dashboard')
+ if item.type == Item.ORGANIZATIONAL_ITEM:
+ if reverse_to_dashboard or not self.request.user.has_perm('agenda.can_see_orga_items'):
+ return reverse('dashboard')
+ else:
+ return reverse('item_view', args=[item.pk])
else:
- return reverse('item_view', args=[item.pk])
+ if reverse_to_dashboard or not self.request.user.has_perm('agenda.can_see_agenda'):
+ return reverse('dashboard')
+ else:
+ return reverse('item_view', args=[item.pk])
def register_tab(request):
diff --git a/openslides/core/views.py b/openslides/core/views.py
index 0338c1424..776719346 100644
--- a/openslides/core/views.py
+++ b/openslides/core/views.py
@@ -16,6 +16,7 @@ from django.utils.importlib import import_module
from haystack.views import SearchView as _SearchView
from openslides import get_git_commit_id, get_version, RELEASE
+from openslides.config.api import config
from openslides.utils.signals import template_manipulation
from openslides.utils.views import TemplateView
@@ -76,7 +77,7 @@ class SearchView(_SearchView):
template = 'core/search.html'
def __call__(self, request):
- if not request.user.is_authenticated():
+ if not request.user.is_authenticated() and not config['system_enable_anonymous']:
raise PermissionDenied
return super(SearchView, self).__call__(request)
diff --git a/openslides/locale/en/LC_MESSAGES/django.po b/openslides/locale/en/LC_MESSAGES/django.po
index 236e6ede5..c1458bec8 100644
--- a/openslides/locale/en/LC_MESSAGES/django.po
+++ b/openslides/locale/en/LC_MESSAGES/django.po
@@ -5,28 +5,32 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-09-10 09:06+0200\n"
+"POT-Creation-Date: 2013-10-20 20:19+0200\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: global_settings.py:33
+#: global_settings.py:31
msgid "German"
msgstr ""
-#: global_settings.py:34
+#: global_settings.py:32
msgid "English"
msgstr ""
-#: global_settings.py:35
+#: global_settings.py:33
msgid "French"
msgstr ""
-#: global_settings.py:36
+#: global_settings.py:34
msgid "Czech"
msgstr ""
+#: global_settings.py:35
+msgid "Portuguese"
+msgstr ""
+
#: account/views.py:71
msgid "My items, motions and elections"
msgstr ""
@@ -54,229 +58,225 @@ msgstr ""
msgid "I am candidate for the following elections:"
msgstr ""
-#: agenda/forms.py:29
+#: agenda/forms.py:33
msgid "Parent item"
msgstr ""
-#: agenda/forms.py:33
+#: agenda/forms.py:37
msgid "Invalid format. Hours from 0 to 99 and minutes from 00 to 59"
msgstr ""
-#: agenda/forms.py:36 agenda/models.py:74
+#: agenda/forms.py:40 agenda/models.py:75
msgid "Duration (hh:mm)"
msgstr ""
-#: agenda/forms.py:70
+#: agenda/forms.py:74
msgid "Add participant"
msgstr ""
-#: agenda/forms.py:83
+#: agenda/forms.py:87
#, python-format
msgid "%s is already on the list of speakers."
msgstr ""
-#: agenda/models.py:42
+#: agenda/models.py:43
msgid "Agenda item"
msgstr ""
-#: agenda/models.py:43
+#: agenda/models.py:44
msgid "Organizational item"
msgstr ""
-#: agenda/models.py:45 core/signals.py:76 mediafile/models.py:32
-#: mediafile/templates/mediafile/mediafile_list.html:18 motion/forms.py:33
-#: motion/models.py:554 participant/models.py:40 participant/views.py:210
-#: participant/templates/participant/overview.html:48 projector/models.py:27
+#: agenda/models.py:46 core/signals.py:76 mediafile/models.py:32
+#: mediafile/templates/mediafile/mediafile_list.html:18 motion/forms.py:36
+#: motion/models.py:546 participant/models.py:43 participant/views.py:210
+#: participant/templates/participant/overview.html:48 projector/models.py:126
msgid "Title"
msgstr ""
-#: agenda/models.py:50 motion/forms.py:38 motion/models.py:557
-#: projector/models.py:28
+#: agenda/models.py:51 motion/forms.py:41 motion/models.py:549
+#: projector/models.py:127
msgid "Text"
msgstr ""
-#: agenda/models.py:55 agenda/templates/agenda/overview.html:77
-#: agenda/templates/agenda/view.html:55 participant/models.py:52
+#: agenda/models.py:56 agenda/templates/agenda/overview.html:77
+#: agenda/templates/agenda/view.html:55 participant/models.py:55
#: participant/templates/participant/overview.html:54
#: participant/templates/participant/user_detail.html:71
msgid "Comment"
msgstr ""
-#: agenda/models.py:60
+#: agenda/models.py:61
msgid "Closed"
msgstr ""
-#: agenda/models.py:66 mediafile/templates/mediafile/mediafile_list.html:19
+#: agenda/models.py:67 mediafile/templates/mediafile/mediafile_list.html:19
msgid "Type"
msgstr ""
-#: agenda/models.py:85 projector/models.py:29
+#: agenda/models.py:86 projector/models.py:128
msgid "Weight"
msgstr ""
-#: agenda/models.py:98
+#: agenda/models.py:108
msgid "List of speakers is closed"
msgstr ""
-#: agenda/models.py:105
+#: agenda/models.py:115
msgid "Can see agenda"
msgstr ""
-#: agenda/models.py:106
+#: agenda/models.py:116
msgid "Can manage agenda"
msgstr ""
-#: agenda/models.py:107
+#: agenda/models.py:117
msgid "Can see orga items and time scheduling of agenda"
msgstr ""
-#: agenda/models.py:135
-#, python-format
-msgid "< Item for deleted slide (%s) >"
-msgstr ""
-
-#: agenda/models.py:323
+#: agenda/models.py:285
#, python-format
msgid "%(person)s is already on the list of speakers of item %(id)s."
msgstr ""
-#: agenda/models.py:327
+#: agenda/models.py:289
msgid "An anonymous user can not be on lists of speakers."
msgstr ""
-#: agenda/models.py:367
+#: agenda/models.py:329
msgid "Can put oneself on the list of speakers"
msgstr ""
-#: agenda/signals.py:36
+#: agenda/signals.py:37
msgid "Invalid input."
msgstr ""
-#: agenda/signals.py:54
+#: agenda/signals.py:55
msgid "Begin of event"
msgstr ""
-#: agenda/signals.py:55
+#: agenda/signals.py:56
msgid "Input format: DD.MM.YYYY HH:MM"
msgstr ""
-#: agenda/signals.py:62
+#: agenda/signals.py:63
msgid "Number of last speakers to be shown on the projector"
msgstr ""
-#: agenda/signals.py:70 agenda/slides.py:23 agenda/slides.py:29
-#: agenda/views.py:254 agenda/views.py:255 agenda/views.py:548
-#: agenda/views.py:564 agenda/templates/agenda/overview.html:7
+#: agenda/signals.py:71 agenda/views.py:320 agenda/views.py:321
+#: agenda/views.py:623 agenda/views.py:647
+#: agenda/templates/agenda/item_slide_summary.html:3
+#: agenda/templates/agenda/overview.html:7
#: agenda/templates/agenda/overview.html:39
#: agenda/templates/agenda/overview.html:88
-#: agenda/templates/projector/AgendaSummary.html:6
-#: agenda/templates/projector/AgendaSummary.html:10
+#: agenda/templates/agenda/widget.html:14
+#: agenda/templates/search/agenda-results.html:7
msgid "Agenda"
msgstr ""
-#: agenda/views.py:101
+#: agenda/views.py:109
msgid "You are not authorized to manage the agenda."
msgstr ""
-#: agenda/views.py:117
+#: agenda/views.py:127
msgid "Errors when reordering of the agenda"
msgstr ""
-#: agenda/views.py:230
+#: agenda/views.py:268
msgid "Yes, with all child items."
msgstr ""
-#: agenda/views.py:239
+#: agenda/views.py:280
#, python-format
msgid "Item %s and his children were successfully deleted."
msgstr ""
-#: agenda/views.py:245
+#: agenda/views.py:286
#, python-format
msgid "Item %s was successfully deleted."
msgstr ""
-#: agenda/views.py:280 agenda/views.py:500
+#: agenda/views.py:346 agenda/views.py:569
msgid "The list of speakers is closed."
msgstr ""
-#: agenda/views.py:309
+#: agenda/views.py:375
msgid "You are not on the list of speakers."
msgstr ""
-#: agenda/views.py:332
+#: agenda/views.py:398
msgid "Do you really want to remove yourself from the list of speakers?"
msgstr ""
-#: agenda/views.py:353
+#: agenda/views.py:419
#, python-format
msgid "%(person)s is not on the list of %(item)s."
msgstr ""
-#: agenda/views.py:379
+#: agenda/views.py:445
#, python-format
msgid "There is no one speaking at the moment according to %(item)s."
msgstr ""
-#: agenda/views.py:444
+#: agenda/views.py:510
msgid "Could not change order. Invalid data."
msgstr ""
-#: agenda/views.py:494
+#: agenda/views.py:563
msgid ""
"There is no list of speakers for the current slide. Please choose the agenda "
"item manually from the agenda."
msgstr ""
-#: agenda/views.py:511
+#: agenda/views.py:580
msgid "You can not put yourself on the list of speakers."
msgstr ""
-#: agenda/views.py:520
+#: agenda/views.py:589
#, python-format
msgid "%s is now speaking."
msgstr ""
-#: agenda/views.py:522
+#: agenda/views.py:591
+#: agenda/templates/agenda/item_slide_list_of_speaker.html:37
#: agenda/templates/agenda/overlay_speaker_projector.html:46
-#: agenda/templates/projector/agenda_list_of_speaker.html:43
msgid "The list of speakers is empty."
msgstr ""
-#: agenda/views.py:530
+#: agenda/views.py:599
msgid "There is no one speaking at the moment."
msgstr ""
-#: agenda/views.py:533
+#: agenda/views.py:602
#, python-format
msgid "%s is now finished."
msgstr ""
-#: agenda/views.py:576
+#: agenda/views.py:660
+#: agenda/templates/agenda/item_slide_list_of_speaker.html:20
#: agenda/templates/agenda/overlay_speaker_projector.html:33
#: agenda/templates/agenda/overlay_speaker_widget.html:4
#: agenda/templates/agenda/view.html:61
-#: agenda/templates/projector/agenda_list_of_speaker.html:24
msgid "List of speakers"
msgstr ""
-#: agenda/templates/agenda/edit.html:8 agenda/templates/agenda/edit.html:18
+#: agenda/templates/agenda/edit.html:9 agenda/templates/agenda/edit.html:36
#: agenda/templates/agenda/view.html:38
msgid "Edit item"
msgstr ""
-#: agenda/templates/agenda/edit.html:10 agenda/templates/agenda/edit.html:20
+#: agenda/templates/agenda/edit.html:11 agenda/templates/agenda/edit.html:38
#: agenda/templates/agenda/overview.html:42
msgid "New item"
msgstr ""
-#: agenda/templates/agenda/edit.html:23 agenda/templates/agenda/view.html:23
-#: assignment/templates/assignment/edit.html:22
-#: assignment/templates/assignment/view.html:22
+#: agenda/templates/agenda/edit.html:41 agenda/templates/agenda/view.html:23
+#: assignment/templates/assignment/assignment_detail.html:22
+#: assignment/templates/assignment/assignment_form.html:26
#: mediafile/templates/mediafile/mediafile_form.html:22
#: motion/templates/motion/category_list.html:15
-#: motion/templates/motion/motion_detail.html:27
-#: motion/templates/motion/motion_form.html:50
+#: motion/templates/motion/motion_detail.html:26
+#: motion/templates/motion/motion_form.html:58
#: motion/templates/motion/motion_form_csv_import.html:11
#: participant/templates/participant/edit.html:42
#: participant/templates/participant/group_detail.html:12
@@ -288,18 +288,18 @@ msgstr ""
msgid "Back to overview"
msgstr ""
-#: agenda/templates/agenda/edit.html:29
+#: agenda/templates/agenda/edit.html:47
#, python-format
msgid "Edit %(type)s %(name)s"
msgstr ""
-#: agenda/templates/agenda/edit.html:38
-#: assignment/templates/assignment/edit.html:31
-#: assignment/templates/assignment/poll_view.html:87
+#: agenda/templates/agenda/edit.html:56
+#: assignment/templates/assignment/assignment_form.html:36
+#: assignment/templates/assignment/poll_view.html:90
#: config/templates/config/config_form.html:46
#: mediafile/templates/mediafile/mediafile_form.html:33
#: motion/templates/motion/category_form.html:27
-#: motion/templates/motion/motion_form.html:59
+#: motion/templates/motion/motion_form.html:67
#: motion/templates/motion/motion_form_csv_import.html:42
#: motion/templates/motion/poll_form.html:73
#: participant/templates/participant/edit.html:56
@@ -308,12 +308,12 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: agenda/templates/agenda/edit.html:41
-#: assignment/templates/assignment/edit.html:34
+#: agenda/templates/agenda/edit.html:59
+#: assignment/templates/assignment/assignment_form.html:39
#: config/templates/config/config_form.html:48
#: mediafile/templates/mediafile/mediafile_form.html:35
#: motion/templates/motion/category_form.html:30
-#: motion/templates/motion/motion_form.html:62
+#: motion/templates/motion/motion_form.html:70
#: motion/templates/motion/motion_form_csv_import.html:45
#: participant/templates/participant/edit.html:59
#: participant/templates/participant/group_edit.html:34
@@ -333,30 +333,30 @@ msgstr ""
#: agenda/templates/agenda/item_row.html:21
#: agenda/templates/agenda/widget.html:26
-#: assignment/templates/assignment/overview.html:64
-#: assignment/templates/assignment/view.html:172
+#: assignment/templates/assignment/assignment_detail.html:174
+#: assignment/templates/assignment/assignment_list.html:65
#: assignment/templates/assignment/widget.html:10
#: mediafile/templates/mediafile/mediafile_list.html:37
#: motion/templates/motion/category_list.html:30
-#: motion/templates/motion/motion_list.html:82
+#: motion/templates/motion/motion_list.html:83
#: motion/templates/motion/widget.html:10
-#: participant/templates/participant/group_overview.html:52
+#: participant/templates/participant/group_overview.html:54
#: participant/templates/participant/group_widget.html:10
#: participant/templates/participant/overview.html:116
-#: participant/templates/participant/user_widget.html:10
+#: participant/templates/participant/user_widget.html:9
#: projector/templates/projector/custom_slide_widget.html:26
msgid "Edit"
msgstr ""
#: agenda/templates/agenda/item_row.html:24
#: agenda/templates/agenda/view.html:131
-#: assignment/templates/assignment/overview.html:68
-#: assignment/templates/assignment/view.html:174
+#: assignment/templates/assignment/assignment_detail.html:176
+#: assignment/templates/assignment/assignment_list.html:69
#: mediafile/templates/mediafile/mediafile_list.html:38
#: motion/templates/motion/category_list.html:33
-#: motion/templates/motion/motion_detail.html:130
-#: motion/templates/motion/motion_list.html:85
-#: participant/templates/participant/group_overview.html:56
+#: motion/templates/motion/motion_detail.html:140
+#: motion/templates/motion/motion_list.html:86
+#: participant/templates/participant/group_overview.html:58
#: participant/templates/participant/overview.html:121
#: projector/templates/projector/custom_slide_widget.html:23
msgid "Delete"
@@ -387,9 +387,9 @@ msgstr ""
msgid "Item closed"
msgstr ""
+#: agenda/templates/agenda/item_slide_list_of_speaker.html:21
#: agenda/templates/agenda/overlay_speaker_projector.html:33
#: agenda/templates/agenda/view.html:61
-#: agenda/templates/projector/agenda_list_of_speaker.html:25
msgid "closed"
msgstr ""
@@ -402,31 +402,34 @@ msgid "Do you want to save the changed order of agenda items?"
msgstr ""
#: agenda/templates/agenda/overview.html:33
-#: agenda/templates/agenda/view.html:86 assignment/models.py:285
-#: assignment/views.py:580 assignment/templates/assignment/view.html:208
-#: assignment/templates/assignment/view.html:212
-#: assignment/templates/projector/Assignment.html:77
-#: assignment/templates/projector/Assignment.html:81 motion/models.py:717
+#: agenda/templates/agenda/view.html:86 assignment/models.py:298
+#: assignment/views.py:575
+#: assignment/templates/assignment/assignment_detail.html:210
+#: assignment/templates/assignment/assignment_detail.html:214
+#: assignment/templates/assignment/assignment_poll_slide.html:32
+#: assignment/templates/assignment/assignment_poll_slide.html:36
+#: assignment/templates/assignment/slide.html:67
+#: assignment/templates/assignment/slide.html:71 motion/models.py:712
#: motion/pdf.py:134 motion/pdf.py:276
-#: motion/templates/motion/motion_detail.html:205
-#: motion/templates/projector/Motion.html:26 utils/utils.py:46
-#: utils/views.py:169
+#: motion/templates/motion/motion_detail.html:215
+#: motion/templates/motion/slide.html:21 utils/views.py:342
msgid "Yes"
msgstr ""
#: agenda/templates/agenda/overview.html:34
-#: agenda/templates/agenda/view.html:87 assignment/models.py:285
-#: assignment/views.py:581 assignment/templates/assignment/view.html:209
-#: assignment/templates/projector/Assignment.html:78 motion/models.py:717
+#: agenda/templates/agenda/view.html:87 assignment/models.py:298
+#: assignment/views.py:576
+#: assignment/templates/assignment/assignment_detail.html:211
+#: assignment/templates/assignment/assignment_poll_slide.html:33
+#: assignment/templates/assignment/slide.html:68 motion/models.py:712
#: motion/pdf.py:134 motion/pdf.py:277
-#: motion/templates/motion/motion_detail.html:206
-#: motion/templates/projector/Motion.html:27 utils/utils.py:46
-#: utils/views.py:169
+#: motion/templates/motion/motion_detail.html:216
+#: motion/templates/motion/slide.html:22 utils/views.py:342
msgid "No"
msgstr ""
#: agenda/templates/agenda/overview.html:42
-#: assignment/templates/assignment/overview.html:21
+#: assignment/templates/assignment/assignment_list.html:22
#: mediafile/templates/mediafile/mediafile_list.html:12
#: motion/templates/motion/category_list.html:13
#: motion/templates/motion/motion_list.html:24
@@ -471,10 +474,10 @@ msgid "Duration"
msgstr ""
#: agenda/templates/agenda/overview.html:83
-#: assignment/templates/assignment/overview.html:35
+#: assignment/templates/assignment/assignment_list.html:36
#: mediafile/templates/mediafile/mediafile_list.html:24
#: motion/templates/motion/category_list.html:23
-#: motion/templates/motion/motion_detail.html:106
+#: motion/templates/motion/motion_detail.html:116
#: motion/templates/motion/motion_list.html:47
#: participant/templates/participant/group_overview.html:32
#: participant/templates/participant/overview.html:56
@@ -509,13 +512,12 @@ msgid "End speach"
msgstr ""
#: agenda/templates/agenda/view.html:27
-#: motion/templates/motion/motion_detail.html:26
msgid "Show item"
msgstr ""
#: agenda/templates/agenda/view.html:34
-#: assignment/templates/assignment/view.html:33
-#: motion/templates/motion/motion_detail.html:40
+#: assignment/templates/assignment/assignment_detail.html:35
+#: motion/templates/motion/motion_detail.html:39
#: participant/templates/participant/group_detail.html:22
#: participant/templates/participant/user_detail.html:22
msgid "More actions"
@@ -570,8 +572,8 @@ msgid "Put me on the list"
msgstr ""
#: agenda/templates/agenda/view.html:155
-#: assignment/templates/assignment/poll_view.html:84
-#: assignment/templates/assignment/view.html:111
+#: assignment/templates/assignment/assignment_detail.html:113
+#: assignment/templates/assignment/poll_view.html:87
#: motion/templates/motion/poll_form.html:70
#: projector/templates/projector/overlay_message_widget.html:9
#: templates/formbuttons_saveapply.html:7
@@ -579,19 +581,17 @@ msgid "Apply"
msgstr ""
#: agenda/templates/agenda/view.html:157
-#: assignment/templates/assignment/view.html:114
+#: assignment/templates/assignment/assignment_detail.html:116
msgid "Add new participant"
msgstr ""
#: agenda/templates/agenda/widget.html:8
#: agenda/templates/agenda/widget.html:23
#: assignment/templates/assignment/widget.html:7
-#: motion/templates/motion/motion_detail.html:126
-#: motion/templates/motion/motion_list.html:77
+#: motion/templates/motion/motion_detail.html:136
#: motion/templates/motion/widget.html:7
-#: participant/templates/participant/group_overview.html:48
#: participant/templates/participant/group_widget.html:7
-#: participant/templates/participant/user_widget.html:7
+#: participant/templates/participant/user_widget.html:6
#: projector/templates/projector/custom_slide_widget.html:6
#: projector/templates/projector/custom_slide_widget.html:19
msgid "Show"
@@ -602,15 +602,15 @@ msgstr ""
#: assignment/templates/assignment/widget.html:13
#: motion/templates/motion/widget.html:13
#: participant/templates/participant/group_widget.html:13
-#: participant/templates/participant/user_widget.html:13
+#: participant/templates/participant/user_widget.html:12
#: projector/templates/projector/custom_slide_widget.html:9
#: projector/templates/projector/custom_slide_widget.html:29
msgid "Preview"
msgstr ""
-#: assignment/forms.py:24 assignment/models.py:50 assignment/views.py:370
-#: assignment/templates/assignment/view.html:277
-#: assignment/templates/projector/Assignment.html:20
+#: assignment/forms.py:24 assignment/models.py:61 assignment/views.py:367
+#: assignment/templates/assignment/assignment_detail.html:279
+#: assignment/templates/assignment/slide.html:10
msgid "Number of available posts"
msgstr ""
@@ -618,277 +618,253 @@ msgstr ""
msgid "Nominate a participant"
msgstr ""
-#: assignment/models.py:41
-msgid "assignment"
-msgstr ""
-
-#: assignment/models.py:43 assignment/templates/assignment/view.html:286
+#: assignment/models.py:54
+#: assignment/templates/assignment/assignment_detail.html:288
msgid "Searching for candidates"
msgstr ""
-#: assignment/models.py:44 assignment/templates/assignment/view.html:290
+#: assignment/models.py:55
+#: assignment/templates/assignment/assignment_detail.html:292
msgid "Voting"
msgstr ""
-#: assignment/models.py:45 assignment/templates/assignment/view.html:294
+#: assignment/models.py:56
+#: assignment/templates/assignment/assignment_detail.html:296
msgid "Finished"
msgstr ""
-#: assignment/models.py:48 participant/templates/participant/overview.html:49
+#: assignment/models.py:59 participant/templates/participant/overview.html:49
msgid "Name"
msgstr ""
-#: assignment/models.py:49 assignment/templates/assignment/view.html:55
-#: participant/models.py:139
+#: assignment/models.py:60
+#: assignment/templates/assignment/assignment_detail.html:57
+#: participant/models.py:130
msgid "Description"
msgstr ""
-#: assignment/models.py:53
+#: assignment/models.py:64
msgid "Comment on the ballot paper"
msgstr ""
-#: assignment/models.py:63
+#: assignment/models.py:69
+msgid "Can see assignments"
+msgstr ""
+
+#: assignment/models.py:70
+msgid "Can nominate another person"
+msgstr ""
+
+#: assignment/models.py:71
+msgid "Can nominate oneself"
+msgstr ""
+
+#: assignment/models.py:72
+msgid "Can manage assignments"
+msgstr ""
+
+#: assignment/models.py:97
#, python-format
msgid "%s is not a valid status."
msgstr ""
-#: assignment/models.py:66
+#: assignment/models.py:100
#, python-format
msgid "The assignment status is already %s."
msgstr ""
-#: assignment/models.py:79
+#: assignment/models.py:113
#, python-format
msgid "%s is already a candidate."
msgstr ""
-#: assignment/models.py:81 assignment/views.py:183
+#: assignment/models.py:115 assignment/views.py:167
msgid "The candidate list is already closed."
msgstr ""
-#: assignment/models.py:88
+#: assignment/models.py:122
#, python-format
msgid "%s does not want to be a candidate."
msgstr ""
-#: assignment/models.py:102
+#: assignment/models.py:136
#, python-format
msgid "%s is no candidate"
msgstr ""
-#: assignment/models.py:239
-msgid "Can see assignments"
+#: assignment/models.py:245 assignment/views.py:319
+msgid "Assignment"
msgstr ""
-#: assignment/models.py:240
-msgid "Can nominate another person"
-msgstr ""
-
-#: assignment/models.py:241
-msgid "Can nominate oneself"
-msgstr ""
-
-#: assignment/models.py:242
-msgid "Can manage assignments"
-msgstr ""
-
-#: assignment/models.py:285 motion/models.py:717
-msgid "Abstain"
-msgstr ""
-
-#: assignment/models.py:287 motion/templates/motion/poll_form.html:38
-msgid "Votes"
-msgstr ""
-
-#: assignment/models.py:304
+#: assignment/models.py:269
#, python-format
msgid "Ballot %d"
msgstr ""
-#: assignment/signals.py:31
+#: assignment/models.py:298 motion/models.py:712
+msgid "Abstain"
+msgstr ""
+
+#: assignment/models.py:300 motion/templates/motion/poll_form.html:38
+msgid "Votes"
+msgstr ""
+
+#: assignment/signals.py:32
msgid "Only publish voting results for selected winners (Projector view only)"
msgstr ""
-#: assignment/signals.py:39 motion/signals.py:62
+#: assignment/signals.py:40 motion/signals.py:63
msgid "Number of ballot papers (selection)"
msgstr ""
-#: assignment/signals.py:41 motion/signals.py:64
+#: assignment/signals.py:42 motion/signals.py:65
msgid "Number of all delegates"
msgstr ""
-#: assignment/signals.py:42 motion/signals.py:65
+#: assignment/signals.py:43 motion/signals.py:66
msgid "Number of all participants"
msgstr ""
-#: assignment/signals.py:43 motion/signals.py:66
+#: assignment/signals.py:44 motion/signals.py:67
msgid "Use the following custom number"
msgstr ""
-#: assignment/signals.py:51 motion/signals.py:74
+#: assignment/signals.py:52 motion/signals.py:75
msgid "Custom number of ballot papers"
msgstr ""
-#: assignment/signals.py:54 assignment/signals.py:78 assignment/views.py:325
-#: assignment/views.py:630 assignment/views.py:646
-#: assignment/templates/assignment/overview.html:6
-#: assignment/templates/assignment/overview.html:18
+#: assignment/signals.py:55 assignment/signals.py:79 assignment/views.py:322
+#: assignment/views.py:625 assignment/views.py:641
+#: assignment/templates/assignment/assignment_list.html:7
+#: assignment/templates/assignment/assignment_list.html:19
msgid "Elections"
msgstr ""
-#: assignment/signals.py:58
+#: assignment/signals.py:59
msgid "Title for PDF document (all elections)"
msgstr ""
-#: assignment/signals.py:65
+#: assignment/signals.py:66
msgid "Preamble text for PDF document (all elections)"
msgstr ""
-#: assignment/signals.py:72
+#: assignment/signals.py:73
msgid "Election method"
msgstr ""
-#: assignment/signals.py:74
+#: assignment/signals.py:75
msgid "Automatic assign of method"
msgstr ""
-#: assignment/signals.py:75
+#: assignment/signals.py:76
msgid "Always one option per candidate"
msgstr ""
-#: assignment/signals.py:76
+#: assignment/signals.py:77
msgid "Always Yes-No-Abstain per candidate"
msgstr ""
-#: assignment/views.py:67
+#: assignment/views.py:90
#, python-format
-msgid "Candidate %s was nominated successfully."
+msgid "Candidate %s was nominated successfully."
msgstr ""
-#: assignment/views.py:109
-msgid "New election was successfully created."
-msgstr ""
-
-#: assignment/views.py:111
-msgid "Election was successfully modified."
-msgstr ""
-
-#: assignment/views.py:117 participant/views.py:499 participant/views.py:523
-#: utils/views.py:319 utils/views.py:341 utils/views.py:351
-msgid "Please check the form for errors."
-msgstr ""
-
-#: assignment/views.py:137
+#: assignment/views.py:129
#, python-format
-msgid "Election %s was successfully deleted."
+msgid "Election status was set to: %s."
msgstr ""
-#: assignment/views.py:150
-#, python-format
-msgid "Election status was set to: %s."
-msgstr ""
-
-#: assignment/views.py:163
+#: assignment/views.py:146
msgid "You have set your candidature successfully."
msgstr ""
-#: assignment/views.py:180
+#: assignment/views.py:164
msgid ""
"You have withdrawn your candidature successfully. You can not be nominated "
"by other participants anymore."
msgstr ""
-#: assignment/views.py:202
+#: assignment/views.py:177
#, python-format
-msgid "Candidate %s was withdrawn successfully."
+msgid "Do you really want to withdraw %s from the election?"
msgstr ""
-#: assignment/views.py:204
+#: assignment/views.py:179
#, python-format
-msgid "%s was unblocked successfully."
+msgid "Do you really want to unblock %s for the election?"
msgstr ""
-#: assignment/views.py:208
+#: assignment/views.py:198
#, python-format
-msgid "Do you really want to withdraw %s from the election?"
+msgid "Candidate %s was withdrawn successfully."
msgstr ""
-#: assignment/views.py:210
+#: assignment/views.py:200
#, python-format
-msgid "Do you really want to unblock %s for the election?"
+msgid "%s was unblocked successfully."
msgstr ""
-#: assignment/views.py:225
+#: assignment/views.py:216
msgid "New ballot was successfully created."
msgstr ""
-#: assignment/views.py:257
+#: assignment/views.py:252
#, python-format
msgid "Ballot ID %d does not exist."
msgstr ""
-#: assignment/views.py:264
-msgid "Ballot successfully published."
-msgstr ""
-
-#: assignment/views.py:266
-msgid "Ballot successfully unpublished."
-msgstr ""
-
-#: assignment/views.py:279
+#: assignment/views.py:277
msgid "not elected"
msgstr ""
-#: assignment/views.py:282 assignment/views.py:471
-#: assignment/templates/assignment/view.html:75
+#: assignment/views.py:281 assignment/views.py:471
+#: assignment/templates/assignment/assignment_detail.html:77
msgid "elected"
msgstr ""
-#: assignment/views.py:310
+#: assignment/views.py:307
msgid "Ballot was successfully deleted."
msgstr ""
-#: assignment/views.py:322
-msgid "Assignment"
-msgstr ""
-
-#: assignment/views.py:345 assignment/templates/assignment/widget.html:19
+#: assignment/views.py:342 assignment/templates/assignment/widget.html:19
msgid "No assignments available."
msgstr ""
-#: assignment/views.py:364
+#: assignment/views.py:361
#, python-format
msgid "Election: %s"
msgstr ""
-#: assignment/views.py:377 assignment/views.py:413
-#: assignment/templates/assignment/overview.html:33
-#: assignment/templates/assignment/overview.html:47
-#: assignment/templates/assignment/poll_view.html:35
-#: assignment/templates/assignment/view.html:64
-#: assignment/templates/assignment/view.html:156
-#: assignment/templates/projector/Assignment.html:37
-#: assignment/templates/projector/Assignment.html:55
+#: assignment/views.py:374 assignment/views.py:410
+#: assignment/templates/assignment/assignment_detail.html:66
+#: assignment/templates/assignment/assignment_detail.html:158
+#: assignment/templates/assignment/assignment_list.html:34
+#: assignment/templates/assignment/assignment_list.html:48
+#: assignment/templates/assignment/poll_view.html:38
+#: assignment/templates/assignment/slide.html:29
+#: assignment/templates/assignment/slide.html:46
msgid "Candidates"
msgstr ""
-#: assignment/views.py:402 motion/pdf.py:120
-#: motion/templates/motion/motion_detail.html:192
+#: assignment/views.py:399 motion/pdf.py:120
+#: motion/templates/motion/motion_detail.html:202
msgid "Vote results"
msgstr ""
-#: assignment/views.py:406 assignment/templates/assignment/poll_view.html:6
-#: assignment/templates/assignment/poll_view.html:12
-#: assignment/templates/assignment/view.html:159
-#: assignment/templates/projector/Assignment.html:58
+#: assignment/views.py:403
+#: assignment/templates/assignment/assignment_detail.html:161
+#: assignment/templates/assignment/assignment_poll_slide.html:12
+#: assignment/templates/assignment/poll_view.html:7
+#: assignment/templates/assignment/poll_view.html:13
+#: assignment/templates/assignment/slide.html:49
msgid "ballot"
msgstr ""
-#: assignment/views.py:409
+#: assignment/views.py:406
msgid "ballots"
msgstr ""
-#: assignment/views.py:434
+#: assignment/views.py:431
#, python-format
msgid ""
"Y: %(YES)s\n"
@@ -896,235 +872,252 @@ msgid ""
"A: %(ABSTAIN)s"
msgstr ""
-#: assignment/views.py:445 assignment/templates/assignment/poll_view.html:52
-#: assignment/templates/assignment/view.html:226
-#: assignment/templates/projector/Assignment.html:95
+#: assignment/views.py:442
+#: assignment/templates/assignment/assignment_detail.html:228
+#: assignment/templates/assignment/poll_view.html:55
+#: assignment/templates/assignment/slide.html:85
#: motion/templates/motion/poll_form.html:47
msgid "Invalid votes"
msgstr ""
-#: assignment/views.py:452 assignment/templates/assignment/poll_view.html:62
-#: assignment/templates/assignment/view.html:242
-#: assignment/templates/assignment/view.html:247
-#: assignment/templates/projector/Assignment.html:108
-#: assignment/templates/projector/Assignment.html:114 motion/pdf.py:135
-#: motion/templates/motion/motion_detail.html:210
+#: assignment/views.py:449
+#: assignment/templates/assignment/assignment_detail.html:244
+#: assignment/templates/assignment/assignment_detail.html:249
+#: assignment/templates/assignment/assignment_poll_slide.html:58
+#: assignment/templates/assignment/poll_view.html:65
+#: assignment/templates/assignment/slide.html:98
+#: assignment/templates/assignment/slide.html:103 motion/pdf.py:135
+#: motion/templates/motion/motion_detail.html:220
#: motion/templates/motion/poll_form.html:51
-#: motion/templates/projector/Motion.html:31 poll/models.py:76
+#: motion/templates/motion/slide.html:26 poll/models.py:77
msgid "Votes cast"
msgstr ""
-#: assignment/views.py:512 assignment/views.py:530
-#: assignment/templates/assignment/overview.html:32
-#: assignment/templates/assignment/poll_view.html:6
-#: assignment/templates/assignment/view.html:8
-#: assignment/templates/projector/Assignment.html:26
+#: assignment/views.py:507 assignment/views.py:525
+#: assignment/templates/assignment/assignment_detail.html:8
+#: assignment/templates/assignment/assignment_list.html:33
+#: assignment/templates/assignment/assignment_poll_slide.html:10
+#: assignment/templates/assignment/poll_view.html:7
+#: assignment/templates/assignment/slide.html:18
+#: assignment/templates/search/assignment-results.html:7
msgid "Election"
msgstr ""
-#: assignment/views.py:537
+#: assignment/views.py:532
#, python-format
msgid "%d. ballot"
msgstr ""
-#: assignment/views.py:539
+#: assignment/views.py:534
#, python-format
msgid "%d candidate"
msgid_plural "%d candidates"
msgstr[0] ""
msgstr[1] ""
-#: assignment/views.py:541
+#: assignment/views.py:536
#, python-format
msgid "%d available post"
msgid_plural "%d available posts"
msgstr[0] ""
msgstr[1] ""
-#: assignment/views.py:581 assignment/templates/assignment/view.html:210
-#: assignment/templates/projector/Assignment.html:79 motion/pdf.py:134
-#: motion/pdf.py:278 motion/templates/motion/motion_detail.html:207
-#: motion/templates/projector/Motion.html:28
+#: assignment/views.py:576
+#: assignment/templates/assignment/assignment_detail.html:212
+#: assignment/templates/assignment/assignment_poll_slide.html:34
+#: assignment/templates/assignment/slide.html:69 motion/pdf.py:134
+#: motion/pdf.py:278 motion/templates/motion/motion_detail.html:217
+#: motion/templates/motion/slide.html:23
msgid "Abstention"
msgstr ""
-#: assignment/templates/assignment/edit.html:7
-#: assignment/templates/assignment/edit.html:17
-#: assignment/templates/assignment/view.html:38
+#: assignment/templates/assignment/assignment_detail.html:23
+#: assignment/templates/assignment/assignment_list.html:74
+msgid "Print election as PDF"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:28
+#: assignment/templates/assignment/assignment_list.html:59
+#: assignment/templates/assignment/poll_view.html:21
+msgid "Show election"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:40
+#: assignment/templates/assignment/assignment_form.html:8
+#: assignment/templates/assignment/assignment_form.html:18
msgid "Edit election"
msgstr ""
-#: assignment/templates/assignment/edit.html:9
-#: assignment/templates/assignment/edit.html:19
-#: assignment/templates/assignment/overview.html:21
-msgid "New election"
+#: assignment/templates/assignment/assignment_detail.html:42
+msgid "Delete election"
msgstr ""
-#: assignment/templates/assignment/overview.html:24
-msgid "Print all elections as PDF"
+#: assignment/templates/assignment/assignment_detail.html:46
+#: motion/templates/motion/motion_detail.html:54
+msgid "New agenda item"
msgstr ""
-#: assignment/templates/assignment/overview.html:34
-#: assignment/templates/assignment/view.html:274
-#: assignment/templates/projector/Assignment.html:17
-#: motion/templates/motion/motion_detail.html:187
+#: assignment/templates/assignment/assignment_detail.html:73
+#: assignment/templates/assignment/assignment_detail.html:133
+msgid "Remove candidate"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:80
+msgid "Mark candidate as not elected"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:88
+#: assignment/templates/assignment/slide.html:35
+msgid "No candidates available."
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:98
+msgid "Withdraw self candidature"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:102
+msgid "Self candidature"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:127
+msgid "Blocked Candidates"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:138
+msgid "No blocked candidates available."
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:146
+#: assignment/templates/assignment/slide.html:43
+msgid "Election results"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:153
+msgid "Ballot"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:166
+msgid "Publish results"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:183
+#: assignment/templates/assignment/assignment_detail.html:265
+msgid "New ballot"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:194
+msgid "Mark candidate as elected"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:197
+#: assignment/templates/assignment/slide.html:58
+msgid "Candidate is elected"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:216
+#: assignment/templates/assignment/slide.html:73
+msgid "was not a
candidate"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:233
+#: assignment/templates/assignment/assignment_poll_slide.html:49
+#: assignment/templates/assignment/slide.html:89 motion/pdf.py:134
+#: motion/templates/motion/motion_detail.html:218
+#: motion/templates/motion/slide.html:24
+msgid "Invalid"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:261
+msgid "No ballots available."
+msgstr ""
+
+#: assignment/templates/assignment/assignment_detail.html:276
+#: assignment/templates/assignment/assignment_list.html:35
+#: assignment/templates/assignment/slide.html:8
+#: motion/templates/motion/motion_detail.html:197
#: motion/templates/motion/motion_list.html:41
-#: motion/templates/projector/Motion.html:11
+#: motion/templates/motion/slide.html:7
msgid "Status"
msgstr ""
-#: assignment/templates/assignment/overview.html:43
+#: assignment/templates/assignment/assignment_detail.html:285
+msgid "Change status"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_form.html:10
+#: assignment/templates/assignment/assignment_form.html:20
+#: assignment/templates/assignment/assignment_list.html:22
+msgid "New election"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_form.html:24
+#: assignment/templates/assignment/poll_view.html:16
+msgid "Back to election"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_list.html:25
+msgid "Print all elections as PDF"
+msgstr ""
+
+#: assignment/templates/assignment/assignment_list.html:44
msgctxt "Number of searched candidates for an election"
msgid "Posts"
msgstr ""
-#: assignment/templates/assignment/overview.html:50
+#: assignment/templates/assignment/assignment_list.html:51
msgid "Elected"
msgstr ""
-#: assignment/templates/assignment/overview.html:58
-#: assignment/templates/assignment/poll_view.html:18
-#: assignment/templates/assignment/view.html:26
-msgid "Show election"
+#: assignment/templates/assignment/assignment_poll_slide.html:11
+msgid "Election result"
msgstr ""
-#: assignment/templates/assignment/overview.html:73
-#: assignment/templates/assignment/view.html:23
-msgid "Print election as PDF"
+#: assignment/templates/assignment/assignment_poll_slide.html:70
+msgid "No vote result available."
msgstr ""
-#: assignment/templates/assignment/poll_view.html:15
-msgid "Back to election"
-msgstr ""
-
-#: assignment/templates/assignment/poll_view.html:26
+#: assignment/templates/assignment/poll_view.html:29
msgid "Short description (for ballot paper)"
msgstr ""
-#: assignment/templates/assignment/poll_view.html:30
+#: assignment/templates/assignment/poll_view.html:33
#: motion/templates/motion/poll_form.html:30
msgid "Special values"
msgstr ""
-#: assignment/templates/assignment/poll_view.html:30
-#: motion/templates/motion/poll_form.html:30 poll/models.py:234
+#: assignment/templates/assignment/poll_view.html:33
+#: motion/templates/motion/poll_form.html:30 poll/models.py:235
msgid "majority"
msgstr ""
-#: assignment/templates/assignment/poll_view.html:30
-#: motion/templates/motion/poll_form.html:30 poll/models.py:236
-#: poll/models.py:238
+#: assignment/templates/assignment/poll_view.html:33
+#: motion/templates/motion/poll_form.html:30 poll/models.py:237
+#: poll/models.py:239
msgid "undocumented"
msgstr ""
-#: assignment/templates/assignment/poll_view.html:75
+#: assignment/templates/assignment/poll_view.html:78
#: motion/templates/motion/poll_form.html:61
msgid "Ballot paper as PDF"
msgstr ""
-#: assignment/templates/assignment/poll_view.html:81
+#: assignment/templates/assignment/poll_view.html:84
#: motion/templates/motion/poll_form.html:67
#: projector/templates/projector/select_widgets.html:28
#: templates/formbuttons_save.html:4 templates/formbuttons_saveapply.html:4
msgid "Save"
msgstr ""
-#: assignment/templates/assignment/view.html:40
-msgid "Delete election"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:44
-#: motion/templates/motion/motion_detail.html:55
-msgid "New agenda item"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:71
-#: assignment/templates/assignment/view.html:131
-msgid "Remove candidate"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:78
-msgid "Mark candidate as not elected"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:86
-#: assignment/templates/projector/Assignment.html:43
-msgid "No candidates available."
-msgstr ""
-
-#: assignment/templates/assignment/view.html:96
-msgid "Withdraw self candidature"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:100
-msgid "Self candidature"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:125
-msgid "Blocked Candidates"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:136
-msgid "No blocked candidates available."
-msgstr ""
-
-#: assignment/templates/assignment/view.html:144
-#: assignment/templates/projector/Assignment.html:51
-msgid "Election results"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:151
-msgid "Ballot"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:164
-msgid "Publish results"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:181
-#: assignment/templates/assignment/view.html:263
-msgid "New ballot"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:192
-msgid "Mark candidate as elected"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:195
-#: assignment/templates/projector/Assignment.html:68
-msgid "Candidate is elected"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:214
-#: assignment/templates/projector/Assignment.html:83
-msgid "was not a
candidate"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:231
-#: assignment/templates/projector/Assignment.html:99 motion/pdf.py:134
-#: motion/templates/motion/motion_detail.html:208
-#: motion/templates/projector/Motion.html:29
-msgid "Invalid"
-msgstr ""
-
-#: assignment/templates/assignment/view.html:259
-msgid "No ballots available."
-msgstr ""
-
-#: assignment/templates/assignment/view.html:283
-msgid "Change status"
-msgstr ""
-
#: config/models.py:31
msgid "Can manage configuration"
msgstr ""
-#: config/views.py:118
+#: config/views.py:119
#, python-format
msgid "%s settings successfully saved."
msgstr ""
-#: config/views.py:127 config/templates/config/config_form.html:6
+#: config/views.py:128 config/templates/config/config_form.html:6
#: config/templates/config/config_form.html:10
msgid "Configuration"
msgstr ""
@@ -1161,7 +1154,7 @@ msgstr ""
msgid "[Place for your welcome text.]"
msgstr ""
-#: core/signals.py:84 participant/signals.py:47
+#: core/signals.py:84 participant/signals.py:48
msgid "Welcome text"
msgstr ""
@@ -1185,16 +1178,33 @@ msgstr ""
msgid "General"
msgstr ""
+#: core/templates/core/search.html:5 core/templates/core/search.html.py:13
+#: core/templates/core/search.html:16 templates/base.html:34
+msgid "Search"
+msgstr ""
+
+#: core/templates/core/search.html:8
+msgid "Search results"
+msgstr ""
+
+#: core/templates/core/search.html:19
+msgid "Filter"
+msgstr ""
+
+#: core/templates/core/search.html:45
+msgid "No results found."
+msgstr ""
+
#: core/templates/core/version.html:5 core/templates/core/version.html.py:8
-#: core/templates/core/version.html:11 motion/pdf.py:104 motion/views.py:367
+#: core/templates/core/version.html:11 motion/pdf.py:104 motion/views.py:377
#: motion/templates/motion/motion_detail.html:21
#: motion/templates/motion/motion_diff.html:35
#: motion/templates/motion/motion_diff.html:39
-#: motion/templates/projector/Motion.html:60
+#: motion/templates/motion/slide.html:59
msgid "Version"
msgstr ""
-#: mediafile/models.py:26
+#: mediafile/models.py:26 mediafile/templates/search/mediafile-results.html:7
msgid "File"
msgstr ""
@@ -1218,7 +1228,7 @@ msgstr ""
msgid "unknown"
msgstr ""
-#: mediafile/views.py:101 mediafile/templates/mediafile/mediafile_list.html:6
+#: mediafile/views.py:103 mediafile/templates/mediafile/mediafile_list.html:6
#: mediafile/templates/mediafile/mediafile_list.html:9
msgid "Files"
msgstr ""
@@ -1246,123 +1256,124 @@ msgstr ""
msgid "No files available."
msgstr ""
-#: motion/csv_import.py:48 participant/api.py:114
+#: motion/csv_import.py:49 participant/api.py:114
msgid "Import file has wrong character encoding, only UTF-8 is supported!"
msgstr ""
-#: motion/csv_import.py:66 motion/csv_import.py:79 motion/csv_import.py:117
+#: motion/csv_import.py:67 motion/csv_import.py:80 motion/csv_import.py:118
#, python-format
msgid "Line %d of import file:"
msgstr ""
-#: motion/csv_import.py:67
+#: motion/csv_import.py:68
msgid ""
"Line is malformed. Motion not imported. Please check the required values."
msgstr ""
-#: motion/csv_import.py:80
+#: motion/csv_import.py:81
msgid "Identifier already exists. Motion not imported."
msgstr ""
-#: motion/csv_import.py:94
+#: motion/csv_import.py:95
msgid "Category unknown. No category is used."
msgstr ""
-#: motion/csv_import.py:96
+#: motion/csv_import.py:97
msgid "Several suitable categories found. No category is used."
msgstr ""
-#: motion/csv_import.py:105
+#: motion/csv_import.py:106
msgid "Several suitable submitters found."
msgstr ""
-#: motion/csv_import.py:112
+#: motion/csv_import.py:113
msgid "Submitter unknown. Default submitter is used."
msgstr ""
-#: motion/csv_import.py:126
+#: motion/csv_import.py:127
msgid "Motion imported"
msgstr ""
-#: motion/forms.py:44 motion/models.py:560 motion/pdf.py:157
-#: motion/templates/motion/motion_detail.html:89
+#: motion/forms.py:47 motion/models.py:552 motion/pdf.py:157
+#: motion/templates/motion/motion_detail.html:88
#: motion/templates/motion/motion_diff.html:54
-#: motion/templates/projector/Motion.html:72
+#: motion/templates/motion/slide.html:68
msgid "Reason"
msgstr ""
-#: motion/forms.py:72 motion/pdf.py:58
-#: motion/templates/motion/motion_detail.html:167
+#: motion/forms.py:55 motion/templates/motion/motion_detail.html:95
+msgid "Attachments"
+msgstr ""
+
+#: motion/forms.py:85 motion/pdf.py:58
+#: motion/templates/motion/motion_detail.html:177
#: motion/templates/motion/motion_list.html:42
-#: motion/templates/projector/Motion.html:45
+#: motion/templates/motion/slide.html:39
msgid "Submitter"
msgstr ""
-#: motion/forms.py:87 motion/pdf.py:83
-#: motion/templates/motion/motion_detail.html:174
+#: motion/forms.py:100 motion/pdf.py:83
+#: motion/templates/motion/motion_detail.html:184
#: motion/templates/motion/motion_list.html:44
msgid "Supporters"
msgstr ""
-#: motion/forms.py:102
+#: motion/forms.py:115
msgid "Don't create a new version"
msgstr ""
-#: motion/forms.py:103
+#: motion/forms.py:116
msgid "Don't create a new version. Useful e.g. for trivial changes."
msgstr ""
-#: motion/forms.py:116 motion/templates/motion/motion_detail.html:232
+#: motion/forms.py:129 motion/templates/motion/motion_detail.html:242
#: motion/templates/motion/motion_list.html:40
+#: motion/templates/motion/slide.html:48
msgid "Category"
msgstr ""
-#: motion/forms.py:136 motion/signals.py:115
+#: motion/forms.py:149 motion/signals.py:116
msgid "Identifier"
msgstr ""
-#: motion/forms.py:151
+#: motion/forms.py:164
msgid "Workflow"
msgstr ""
-#: motion/forms.py:152
+#: motion/forms.py:165
msgid ""
"Set a specific workflow to switch to it. If you do so, the state of the "
"motion will be reset."
msgstr ""
-#: motion/forms.py:162 participant/forms.py:179
+#: motion/forms.py:175 participant/forms.py:181
msgid "CSV File"
msgstr ""
-#: motion/forms.py:163
+#: motion/forms.py:176
msgid "The file has to be encoded in UTF-8."
msgstr ""
-#: motion/forms.py:170
+#: motion/forms.py:183
msgid "Override existing motions with the same identifier"
msgstr ""
-#: motion/forms.py:171
+#: motion/forms.py:184
msgid ""
"If this is active, every motion with the same identifier as in your csv file "
"will be overridden."
msgstr ""
-#: motion/forms.py:179
+#: motion/forms.py:192
msgid "Default submitter"
msgstr ""
-#: motion/forms.py:180
+#: motion/forms.py:193
msgid ""
"This person is used as submitter for any line of your csv file which does "
"not contain valid submitter data."
msgstr ""
-#: motion/models.py:46
-msgid "motion"
-msgstr ""
-
#: motion/models.py:92
msgid "Can see motions"
msgstr ""
@@ -1379,38 +1390,38 @@ msgstr ""
msgid "Can manage motions"
msgstr ""
-#: motion/models.py:487 motion/models.py:488 motion/pdf.py:51
-#: motion/signals.py:121 motion/views.py:292 motion/views.py:621
-#: motion/views.py:737 motion/templates/motion/motion_detail.html:8
+#: motion/models.py:98 motion/models.py:479 motion/models.py:480
+#: motion/pdf.py:51 motion/signals.py:122 motion/views.py:303
+#: motion/views.py:626 motion/views.py:732
+#: motion/templates/motion/motion_detail.html:8
#: motion/templates/motion/motion_detail.html:19
#: motion/templates/motion/motion_diff.html:6
#: motion/templates/motion/motion_diff.html:19
#: motion/templates/motion/poll_form.html:6
#: motion/templates/motion/poll_form.html:14
-#: motion/templates/projector/Motion.html:6
-#: motion/templates/projector/Motion.html:55
-#: motion/templates/projector/Motion.html:57
+#: motion/templates/motion/slide.html:58
+#: motion/templates/search/motion-results.html:7
msgid "Motion"
msgstr ""
-#: motion/models.py:574
+#: motion/models.py:566
msgid "new"
msgstr ""
-#: motion/models.py:625 motion/templates/motion/category_list.html:22
+#: motion/models.py:620 motion/templates/motion/category_list.html:22
msgid "Category name"
msgstr ""
-#: motion/models.py:628 motion/templates/motion/category_list.html:21
+#: motion/models.py:623 motion/templates/motion/category_list.html:21
msgid "Prefix"
msgstr ""
-#: motion/models.py:680
+#: motion/models.py:675
#, python-format
msgid "%(time_and_messages)s by %(person)s"
msgstr ""
-#: motion/models.py:731
+#: motion/models.py:726
#, python-format
msgid "Vote %d"
msgstr ""
@@ -1423,7 +1434,7 @@ msgstr ""
msgid "State"
msgstr ""
-#: motion/pdf.py:130 motion/templates/projector/Motion.html:22
+#: motion/pdf.py:130 motion/templates/motion/slide.html:17
msgid "Vote"
msgstr ""
@@ -1446,275 +1457,275 @@ msgstr ""
msgid "%d. Vote"
msgstr ""
-#: motion/signals.py:33
+#: motion/signals.py:34
msgid "Stop submitting new motions by non-staff users"
msgstr ""
-#: motion/signals.py:40
+#: motion/signals.py:41
msgid "Number of (minimum) required supporters for a motion"
msgstr ""
-#: motion/signals.py:42
+#: motion/signals.py:43
msgid "Choose 0 to disable the supporting system."
msgstr ""
-#: motion/signals.py:47
+#: motion/signals.py:48
msgid ""
"Remove all supporters of a motion if a submitter edits his motion in early "
"state"
msgstr ""
-#: motion/signals.py:51
+#: motion/signals.py:52
msgid "The assembly may decide,"
msgstr ""
-#: motion/signals.py:55
+#: motion/signals.py:56
msgid "Motion preamble"
msgstr ""
-#: motion/signals.py:77 motion/views.py:730 motion/views.py:832
-#: motion/views.py:848 motion/templates/motion/category_list.html:6
+#: motion/signals.py:78 motion/views.py:725 motion/views.py:827
+#: motion/views.py:843 motion/templates/motion/category_list.html:6
#: motion/templates/motion/motion_list.html:7
#: motion/templates/motion/motion_list.html:20
msgid "Motions"
msgstr ""
-#: motion/signals.py:81
+#: motion/signals.py:82
msgid "Title for PDF document (all motions)"
msgstr ""
-#: motion/signals.py:88
+#: motion/signals.py:89
msgid "Preamble text for PDF document (all motions)"
msgstr ""
-#: motion/signals.py:93
-msgid "Show paragraph numbering"
+#: motion/signals.py:94
+msgid "Show paragraph numbering (only in PDF)"
msgstr ""
-#: motion/signals.py:99
+#: motion/signals.py:100
msgid "Allow to disable versioning"
msgstr ""
-#: motion/signals.py:106
+#: motion/signals.py:107
msgid "Workflow of new motions"
msgstr ""
-#: motion/signals.py:117
+#: motion/signals.py:118
msgid "Numbered per category"
msgstr ""
-#: motion/signals.py:118
+#: motion/signals.py:119
msgid "Serially numbered"
msgstr ""
-#: motion/signals.py:119
+#: motion/signals.py:120
msgid "Set it manually"
msgstr ""
-#: motion/signals.py:144
+#: motion/signals.py:145
msgid "Simple Workflow"
msgstr ""
-#: motion/signals.py:146
+#: motion/signals.py:147
msgid "submitted"
msgstr ""
-#: motion/signals.py:151 motion/signals.py:178
+#: motion/signals.py:152 motion/signals.py:179
msgid "accepted"
msgstr ""
-#: motion/signals.py:153 motion/signals.py:180
+#: motion/signals.py:154 motion/signals.py:181
msgid "Accept"
msgstr ""
-#: motion/signals.py:154 motion/signals.py:182
+#: motion/signals.py:155 motion/signals.py:183
msgid "rejected"
msgstr ""
-#: motion/signals.py:156 motion/signals.py:184
+#: motion/signals.py:157 motion/signals.py:185
msgid "Reject"
msgstr ""
-#: motion/signals.py:157
+#: motion/signals.py:158
msgid "not decided"
msgstr ""
-#: motion/signals.py:159
+#: motion/signals.py:160
msgid "Do not decide"
msgstr ""
-#: motion/signals.py:164
+#: motion/signals.py:165
msgid "Complex Workflow"
msgstr ""
-#: motion/signals.py:166
+#: motion/signals.py:167
msgid "published"
msgstr ""
-#: motion/signals.py:171 motion/views.py:369
+#: motion/signals.py:172 motion/views.py:379
msgid "permitted"
msgstr ""
-#: motion/signals.py:173
+#: motion/signals.py:174
msgid "Permit"
msgstr ""
-#: motion/signals.py:186
+#: motion/signals.py:187
msgid "withdrawed"
msgstr ""
-#: motion/signals.py:188
+#: motion/signals.py:189
msgid "Withdraw"
msgstr ""
-#: motion/signals.py:190
+#: motion/signals.py:191
msgid "adjourned"
msgstr ""
-#: motion/signals.py:192
+#: motion/signals.py:193
msgid "Adjourn"
msgstr ""
-#: motion/signals.py:194
+#: motion/signals.py:195
msgid "not concerned"
msgstr ""
-#: motion/signals.py:196
+#: motion/signals.py:197
msgid "Do not concern"
msgstr ""
-#: motion/signals.py:198
+#: motion/signals.py:199
msgid "commited a bill"
msgstr ""
-#: motion/signals.py:200
+#: motion/signals.py:201
msgid "Commit a bill"
msgstr ""
-#: motion/signals.py:202
+#: motion/signals.py:203
msgid "needs review"
msgstr ""
-#: motion/signals.py:204
+#: motion/signals.py:205
msgid "Needs review"
msgstr ""
-#: motion/signals.py:206
+#: motion/signals.py:207
msgid "rejected (not authorized)"
msgstr ""
-#: motion/signals.py:208
+#: motion/signals.py:209
msgid "Reject (not authorized)"
msgstr ""
-#: motion/views.py:186
+#: motion/views.py:197
msgid "Motion created"
msgstr ""
-#: motion/views.py:231
+#: motion/views.py:242
msgid "All supporters removed"
msgstr ""
-#: motion/views.py:245
+#: motion/views.py:256
msgid "Motion version"
msgstr ""
-#: motion/views.py:247
+#: motion/views.py:258
msgid "created"
msgstr ""
-#: motion/views.py:247
+#: motion/views.py:258
msgid "updated"
msgstr ""
-#: motion/views.py:292 utils/views.py:380
+#: motion/views.py:303 utils/views.py:526
#, python-format
msgid "%s was successfully deleted."
msgstr ""
-#: motion/views.py:333
+#: motion/views.py:342
msgid "Version successfully permitted."
msgstr ""
-#: motion/views.py:358
+#: motion/views.py:368
#, python-format
msgid "Are you sure you want permit version %s?"
msgstr ""
-#: motion/views.py:395
+#: motion/views.py:405
msgid "At least one version number is not valid."
msgstr ""
-#: motion/views.py:438
+#: motion/views.py:448
msgid "You can not support this motion."
msgstr ""
-#: motion/views.py:441
+#: motion/views.py:451
msgid "You can not unsupport this motion."
msgstr ""
-#: motion/views.py:451
+#: motion/views.py:461
msgid "Do you really want to support this motion?"
msgstr ""
-#: motion/views.py:453
+#: motion/views.py:463
msgid "Do you really want to unsupport this motion?"
msgstr ""
-#: motion/views.py:466
+#: motion/views.py:476
msgid "Motion supported"
msgstr ""
-#: motion/views.py:469
+#: motion/views.py:479
msgid "Motion unsupported"
msgstr ""
-#: motion/views.py:476
+#: motion/views.py:486
msgid "You have supported this motion successfully."
msgstr ""
-#: motion/views.py:478
+#: motion/views.py:488
msgid "You have unsupported this motion successfully."
msgstr ""
-#: motion/views.py:509
+#: motion/views.py:514
msgid "Poll created"
msgstr ""
-#: motion/views.py:510
+#: motion/views.py:515
msgid "New vote was successfully created."
msgstr ""
-#: motion/views.py:576
+#: motion/views.py:581
msgid "Poll updated"
msgstr ""
-#: motion/views.py:594
+#: motion/views.py:599
msgid "Poll deleted"
msgstr ""
-#: motion/views.py:621
+#: motion/views.py:626
msgid "Poll"
msgstr ""
-#: motion/views.py:667
+#: motion/views.py:672
msgid "State changed to"
msgstr ""
-#: motion/views.py:670
+#: motion/views.py:675
#, python-format
msgid "The state of the motion was set to %s."
msgstr ""
-#: motion/views.py:698
+#: motion/views.py:693
msgid "Agenda item created"
msgstr ""
-#: motion/views.py:818
+#: motion/views.py:813
msgid "Summary"
msgstr ""
-#: motion/views.py:819
+#: motion/views.py:814
#, python-format
msgid "%(counts)d of %(total)d motions successfully imported."
msgstr ""
@@ -1734,126 +1745,127 @@ msgstr ""
msgid "No categories available."
msgstr ""
-#: motion/templates/motion/motion_detail.html:29
-#: motion/templates/motion/motion_list.html:89
+#: motion/templates/motion/motion_detail.html:28
+#: motion/templates/motion/motion_list.html:90
msgid "Print motion as PDF"
msgstr ""
-#: motion/templates/motion/motion_detail.html:33
+#: motion/templates/motion/motion_detail.html:32
+#: motion/templates/motion/motion_list.html:78
#: motion/templates/motion/poll_form.html:21
msgid "Show motion"
msgstr ""
-#: motion/templates/motion/motion_detail.html:45
-#: motion/templates/motion/motion_form.html:32
-#: motion/templates/motion/motion_form.html:42
+#: motion/templates/motion/motion_detail.html:44
+#: motion/templates/motion/motion_form.html:40
+#: motion/templates/motion/motion_form.html:50
msgid "Edit motion"
msgstr ""
-#: motion/templates/motion/motion_detail.html:50
+#: motion/templates/motion/motion_detail.html:49
msgid "Delete motion"
msgstr ""
-#: motion/templates/motion/motion_detail.html:69
+#: motion/templates/motion/motion_detail.html:68
msgid "This is not the newest version."
msgstr ""
-#: motion/templates/motion/motion_detail.html:71
+#: motion/templates/motion/motion_detail.html:70
msgid "Go to the newest version"
msgstr ""
-#: motion/templates/motion/motion_detail.html:76
+#: motion/templates/motion/motion_detail.html:75
msgid "This version is not authorized."
msgstr ""
-#: motion/templates/motion/motion_detail.html:78
+#: motion/templates/motion/motion_detail.html:77
msgid "Go to the authorized version"
msgstr ""
-#: motion/templates/motion/motion_detail.html:84
+#: motion/templates/motion/motion_detail.html:83
msgid "Motion text"
msgstr ""
-#: motion/templates/motion/motion_detail.html:98
+#: motion/templates/motion/motion_detail.html:108
msgid "Version history"
msgstr ""
-#: motion/templates/motion/motion_detail.html:104
+#: motion/templates/motion/motion_detail.html:114
msgid "Time"
msgstr ""
-#: motion/templates/motion/motion_detail.html:105
+#: motion/templates/motion/motion_detail.html:115
msgid "Difference"
msgstr ""
-#: motion/templates/motion/motion_detail.html:112
+#: motion/templates/motion/motion_detail.html:122
msgid "This version is authorized"
msgstr ""
-#: motion/templates/motion/motion_detail.html:115
+#: motion/templates/motion/motion_detail.html:125
msgid "Permit this version"
msgstr ""
-#: motion/templates/motion/motion_detail.html:149
+#: motion/templates/motion/motion_detail.html:159
msgid "Show log"
msgstr ""
-#: motion/templates/motion/motion_detail.html:197
+#: motion/templates/motion/motion_detail.html:207
msgid "vote"
msgstr ""
-#: motion/templates/motion/motion_detail.html:199
+#: motion/templates/motion/motion_detail.html:209
msgid "Edit Vote"
msgstr ""
-#: motion/templates/motion/motion_detail.html:200
+#: motion/templates/motion/motion_detail.html:210
msgid "Delete Vote"
msgstr ""
-#: motion/templates/motion/motion_detail.html:215
+#: motion/templates/motion/motion_detail.html:225
msgid "No results"
msgstr ""
-#: motion/templates/motion/motion_detail.html:226
+#: motion/templates/motion/motion_detail.html:236
msgid "New vote"
msgstr ""
-#: motion/templates/motion/motion_detail.html:242
+#: motion/templates/motion/motion_detail.html:252
msgid "Last changes (of this version)"
msgstr ""
-#: motion/templates/motion/motion_detail.html:244
+#: motion/templates/motion/motion_detail.html:254
#: motion/templates/motion/motion_diff.html:36
#: motion/templates/motion/motion_diff.html:40
#: motion/templates/motion/motion_list.html:46
msgid "Last changes"
msgstr ""
-#: motion/templates/motion/motion_detail.html:254
+#: motion/templates/motion/motion_detail.html:264
msgid "Withdraw motion"
msgstr ""
-#: motion/templates/motion/motion_detail.html:263
+#: motion/templates/motion/motion_detail.html:273
msgid "Unsupport"
msgstr ""
-#: motion/templates/motion/motion_detail.html:269
+#: motion/templates/motion/motion_detail.html:279
msgid "Support"
msgstr ""
-#: motion/templates/motion/motion_detail.html:277
+#: motion/templates/motion/motion_detail.html:287
msgid "minimum required supporters"
msgstr ""
-#: motion/templates/motion/motion_detail.html:284
+#: motion/templates/motion/motion_detail.html:294
msgid "Manage motion"
msgstr ""
-#: motion/templates/motion/motion_detail.html:292
+#: motion/templates/motion/motion_detail.html:302
msgid "For administration only:"
msgstr ""
-#: motion/templates/motion/motion_detail.html:294
+#: motion/templates/motion/motion_detail.html:304
msgid "Reset state"
msgstr ""
@@ -1866,13 +1878,13 @@ msgid "Diff view"
msgstr ""
#: motion/templates/motion/motion_diff.html:27
-#: motion/templates/motion/motion_form.html:48
+#: motion/templates/motion/motion_form.html:56
#: motion/templates/motion/poll_form.html:18
msgid "Back to motion"
msgstr ""
-#: motion/templates/motion/motion_form.html:34
-#: motion/templates/motion/motion_form.html:44
+#: motion/templates/motion/motion_form.html:42
+#: motion/templates/motion/motion_form.html:52
#: motion/templates/motion/motion_list.html:24
msgid "New motion"
msgstr ""
@@ -1956,18 +1968,14 @@ msgstr ""
msgid "Option"
msgstr ""
-#: motion/templates/projector/Motion.html:18
+#: motion/templates/motion/slide.html:13
msgid "Poll result"
msgstr ""
-#: motion/templates/projector/Motion.html:36
+#: motion/templates/motion/slide.html:31
msgid "No poll results available."
msgstr ""
-#: participant/__init__.py:18 participant/signals.py:57
-msgid "Participant"
-msgstr ""
-
#: participant/api.py:80
#, python-format
msgid "Ignoring malformed line %d in import file."
@@ -1987,7 +1995,7 @@ msgstr ""
msgid "Import aborted because of severe errors in the input file."
msgstr ""
-#: participant/forms.py:29 participant/views.py:578
+#: participant/forms.py:30 participant/views.py:583
#: participant/templates/participant/group_overview.html:7
#: participant/templates/participant/group_overview.html:20
#: participant/templates/participant/overview.html:24
@@ -1995,141 +2003,146 @@ msgstr ""
msgid "Groups"
msgstr ""
-#: participant/forms.py:43
+#: participant/forms.py:44
msgid "First name and last name can not both be empty."
msgstr ""
-#: participant/forms.py:82
+#: participant/forms.py:83
msgid ""
"You can not remove the last group containing the permission to manage "
"participants."
msgstr ""
-#: participant/forms.py:89
+#: participant/forms.py:90
msgid "Permissions"
msgstr ""
-#: participant/forms.py:92 participant/views.py:538 participant/views.py:563
+#: participant/forms.py:93 participant/views.py:542 participant/views.py:567
#: participant/templates/participant/overview.html:7
#: participant/templates/participant/overview.html:20
msgid "Participants"
msgstr ""
-#: participant/forms.py:143
+#: participant/forms.py:144
msgid ""
"You can not remove yourself from the last group containing the permission to "
"manage participants."
msgstr ""
-#: participant/forms.py:151
+#: participant/forms.py:152
msgid ""
"You can not remove the permission to manage participants from the last group "
-"your are in."
+"you are in."
msgstr ""
-#: participant/models.py:31
+#: participant/models.py:34
msgid "Male"
msgstr ""
-#: participant/models.py:32
+#: participant/models.py:35
msgid "Female"
msgstr ""
-#: participant/models.py:37 participant/views.py:211
+#: participant/models.py:40 participant/views.py:211
#: participant/templates/participant/overview.html:50
#: participant/templates/participant/user_detail.html:49
msgid "Structure level"
msgstr ""
-#: participant/models.py:38
+#: participant/models.py:41
msgid "Will be shown after the name."
msgstr ""
-#: participant/models.py:41
+#: participant/models.py:44
msgid "Will be shown before the name."
msgstr ""
-#: participant/models.py:44
+#: participant/models.py:47
#: participant/templates/participant/user_detail.html:39
msgid "Gender"
msgstr ""
-#: participant/models.py:44 participant/models.py:47
+#: participant/models.py:47 participant/models.py:50
msgid "Only for filtering the participant list."
msgstr ""
-#: participant/models.py:46 participant/views.py:211
+#: participant/models.py:49 participant/views.py:211
#: participant/templates/participant/overview.html:52
#: participant/templates/participant/user_detail.html:51
msgid "Committee"
msgstr ""
-#: participant/models.py:49
+#: participant/models.py:52
#: participant/templates/participant/user_detail.html:43
msgid "About me"
msgstr ""
-#: participant/models.py:50
+#: participant/models.py:53
msgid "Your profile text"
msgstr ""
-#: participant/models.py:53
+#: participant/models.py:56
msgid "Only for notes."
msgstr ""
-#: participant/models.py:56
+#: participant/models.py:59
msgid "Default password"
msgstr ""
-#: participant/models.py:114
+#: participant/models.py:63
msgid "Can see participants"
msgstr ""
-#: participant/models.py:115
+#: participant/models.py:64
msgid "Can manage participants"
msgstr ""
-#: participant/models.py:137
+#: participant/models.py:128
msgid "Use this group as participant"
msgstr ""
-#: participant/models.py:138
+#: participant/models.py:129
msgid "For example as submitter of a motion."
msgstr ""
-#: participant/signals.py:39
+#: participant/signals.py:40
msgid "System URL"
msgstr ""
-#: participant/signals.py:40 participant/signals.py:48
+#: participant/signals.py:41 participant/signals.py:49
msgid "Printed in PDF of first time passwords only."
msgstr ""
-#: participant/signals.py:43
+#: participant/signals.py:44
msgid "Welcome to OpenSlides!"
msgstr ""
-#: participant/signals.py:54
+#: participant/signals.py:55
msgid "Sort participants by first name"
msgstr ""
-#: participant/signals.py:55
+#: participant/signals.py:56
msgid "Disable for sorting by last name"
msgstr ""
-#: participant/signals.py:103
+#: participant/signals.py:58
+#: participant/templates/search/participant-results.html:7
+msgid "Participant"
+msgstr ""
+
+#: participant/signals.py:104
msgid "Anonymous"
msgstr ""
-#: participant/signals.py:105
+#: participant/signals.py:106
msgid "Registered"
msgstr ""
-#: participant/signals.py:115
+#: participant/signals.py:116
msgid "Delegates"
msgstr ""
-#: participant/signals.py:129 participant/templates/participant/import.html:25
+#: participant/signals.py:130 participant/templates/participant/import.html:25
msgid "Staff"
msgstr ""
@@ -2200,17 +2213,17 @@ msgstr ""
msgid "The Password for %s was successfully reset."
msgstr ""
-#: participant/views.py:448
+#: participant/views.py:449
msgid "You can not delete this group."
msgstr ""
-#: participant/views.py:457
+#: participant/views.py:458
msgid ""
"You can not delete the last group containing the permission to manage "
"participants you are in."
msgstr ""
-#: participant/views.py:469
+#: participant/views.py:474
#, python-format
msgid ""
"Installation was successfully! Use %(user)s (password: %(password)s) for "
@@ -2219,11 +2232,15 @@ msgid ""
"a security risk."
msgstr ""
-#: participant/views.py:497
+#: participant/views.py:501
msgid "User settings successfully saved."
msgstr ""
-#: participant/views.py:520
+#: participant/views.py:503 participant/views.py:527 utils/views.py:192
+msgid "Please check the form for errors."
+msgstr ""
+
+#: participant/views.py:524
msgid "Password successfully changed."
msgstr ""
@@ -2244,6 +2261,7 @@ msgid "Reset to First Password"
msgstr ""
#: participant/templates/participant/group_detail.html:15
+#: participant/templates/participant/group_overview.html:50
msgid "Show group"
msgstr ""
@@ -2287,6 +2305,10 @@ msgid ""
"participants."
msgstr ""
+#: participant/templates/participant/group_slide.html:8
+msgid "participants"
+msgstr ""
+
#: participant/templates/participant/import.html:5
#: participant/templates/participant/import.html:9
#: participant/templates/participant/overview.html:25
@@ -2313,12 +2335,12 @@ msgstr ""
#: participant/templates/participant/import.html:28
msgid ""
-"At least first name or last name have to filled in. All other fields are "
+"At least first name or last name have to be filled in. All other fields are "
"optional and may be empty."
msgstr ""
#: participant/templates/participant/login.html:6
-#: participant/templates/participant/login.html:49 templates/base.html:44
+#: participant/templates/participant/login.html:49 templates/base.html:53
msgid "Login"
msgstr ""
@@ -2385,7 +2407,7 @@ msgid "Password settings"
msgstr ""
#: participant/templates/participant/settings.html:5
-#: participant/templates/participant/settings.html:8 templates/base.html:38
+#: participant/templates/participant/settings.html:8 templates/base.html:47
msgid "Edit profile"
msgstr ""
@@ -2417,55 +2439,55 @@ msgstr ""
msgid "The participant has not logged in yet."
msgstr ""
-#: participant/templates/participant/user_widget.html:19
+#: participant/templates/participant/user_widget.html:18
msgid "No participants available."
msgstr ""
-#: participant/templates/projector/GroupSlide.html:10
-msgid "participants"
-msgstr ""
-
-#: poll/models.py:95
+#: poll/models.py:96
msgid "Votes invalid"
msgstr ""
-#: poll/models.py:128
+#: poll/models.py:129
msgid "votes"
msgstr ""
-#: projector/models.py:50
+#: projector/models.py:142
msgid "Can manage the projector"
msgstr ""
-#: projector/models.py:51
+#: projector/models.py:143
msgid "Can see the projector"
msgstr ""
-#: projector/models.py:52
+#: projector/models.py:144
msgid "Can see the dashboard"
msgstr ""
-#: projector/views.py:195
+#: projector/views.py:130
msgid "Errors in the form"
msgstr ""
-#: projector/views.py:364 projector/templates/projector/dashboard.html:16
+#: projector/views.py:298 projector/templates/projector/dashboard.html:16
#: projector/templates/projector/dashboard.html:19
msgid "Dashboard"
msgstr ""
-#: projector/views.py:392
+#: projector/views.py:327
msgid "Projector live view"
msgstr ""
-#: projector/views.py:406
+#: projector/views.py:343
msgid "Overlays"
msgstr ""
-#: projector/views.py:416
+#: projector/views.py:355
msgid "Custom Slides"
msgstr ""
+#: projector/templates/projector.html:11
+msgid "Projector"
+msgstr ""
+
#: projector/templates/projector/dashboard.html:21
msgid "Manage widgets"
msgstr ""
@@ -2551,6 +2573,14 @@ msgstr ""
msgid "No widgets available"
msgstr ""
+#: templates/403.html:6
+msgid "Permission Denied"
+msgstr ""
+
+#: templates/403.html:7
+msgid "Sorry, you have no rights to see this page."
+msgstr ""
+
#: templates/404.html:6
msgid "Page not found."
msgstr ""
@@ -2567,61 +2597,57 @@ msgstr ""
msgid "Logo"
msgstr ""
-#: templates/base.html:39
+#: templates/base.html:48
msgid "Change password"
msgstr ""
-#: templates/base.html:41
+#: templates/base.html:50
msgid "Logout"
msgstr ""
-#: utils/pdf.py:280
+#: utils/pdf.py:278
#, python-format
msgid "As of: %s"
msgstr ""
-#: utils/pdf.py:291 utils/pdf.py:300
+#: utils/pdf.py:289 utils/pdf.py:298
#, python-format
msgid "Page %s"
msgstr ""
-#: utils/tornado_webserver.py:47
+#: utils/tornado_webserver.py:71
msgid "the machine's local ip address"
msgstr ""
-#: utils/tornado_webserver.py:50
+#: utils/tornado_webserver.py:74
#, python-format
msgid "Starting OpenSlides' tornado webserver listening to %(url_string)s"
msgstr ""
-#: utils/utils.py:60 utils/views.py:374
-#, python-format
-msgid "Do you really want to delete %s?"
-msgstr ""
-
-#: utils/utils.py:107
-msgid "Sorry, you have no rights to see this page."
-msgstr ""
-
-#: utils/views.py:167
+#: utils/views.py:340
msgid "Are you sure?"
msgstr ""
-#: utils/views.py:168
-msgid "Thank you for your answer"
+#: utils/views.py:341
+msgid "Thank you for your answer."
msgstr ""
-#: utils/views.py:345
+#: utils/views.py:461
#, python-format
msgid "%s was successfully modified."
msgstr ""
-#: utils/views.py:355
+#: utils/views.py:475
#, python-format
msgid "%s was successfully created."
msgstr ""
-#: utils/views.py:393
+#: utils/views.py:514
+#, python-format
+msgid "Do you really want to delete %s?"
+msgstr ""
+
+#: utils/views.py:541
msgid "undefined-filename"
msgstr ""
diff --git a/openslides/locale/en/LC_MESSAGES/djangojs.po b/openslides/locale/en/LC_MESSAGES/djangojs.po
index 1908a5bcf..8aad3883d 100644
--- a/openslides/locale/en/LC_MESSAGES/djangojs.po
+++ b/openslides/locale/en/LC_MESSAGES/djangojs.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-09-02 13:52+0200\n"
+"POT-Creation-Date: 2013-10-20 20:19+0200\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
diff --git a/openslides/templates/base.html b/openslides/templates/base.html
index a529a7a0f..9eb82d833 100644
--- a/openslides/templates/base.html
+++ b/openslides/templates/base.html
@@ -37,7 +37,7 @@
-