diff --git a/openslides/agenda/views.py b/openslides/agenda/views.py
index 57629e1e4..b57128fbd 100644
--- a/openslides/agenda/views.py
+++ b/openslides/agenda/views.py
@@ -226,6 +226,7 @@ def get_widgets(request):
return [
Widget(
name='agenda',
+ display_name=_('Agenda'),
template='agenda/widget.html',
context={
'agenda': SLIDE['agenda'],
diff --git a/openslides/assignment/views.py b/openslides/assignment/views.py
index 1db7fa849..fde043889 100644
--- a/openslides/assignment/views.py
+++ b/openslides/assignment/views.py
@@ -223,7 +223,7 @@ def delother(request, assignment_id, user_id):
if not is_blocked:
message = _("Do you really want to withdraw %s from the election?") % person
else:
- message = _("Do you really want to unblock %s from the election?") % person
+ message = _("Do you really want to unblock %s for the election?") % person
gen_confirm_form(request, message, reverse('assignment_delother', args=[assignment_id, user_id]))
return redirect(reverse('assignment_view', args=[assignment_id]))
@@ -674,7 +674,8 @@ def register_tab(request):
def get_widgets(request):
return [
Widget(
- name=_('Assignments'),
+ name='assignments',
+ display_name=_('Elections'),
template='assignment/widget.html',
context={'assignments': Assignment.objects.all()},
permission_required='assignment.can_manage_assignment')]
diff --git a/openslides/locale/de/LC_MESSAGES/django.mo b/openslides/locale/de/LC_MESSAGES/django.mo
index 686ffd6aa..17c08c9e2 100644
Binary files a/openslides/locale/de/LC_MESSAGES/django.mo and b/openslides/locale/de/LC_MESSAGES/django.mo differ
diff --git a/openslides/locale/de/LC_MESSAGES/django.po b/openslides/locale/de/LC_MESSAGES/django.po
index 3c78217ce..c8ed90f13 100644
--- a/openslides/locale/de/LC_MESSAGES/django.po
+++ b/openslides/locale/de/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenSlides 1.x\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-11-07 22:14+0100\n"
+"POT-Creation-Date: 2012-11-08 09:41+0100\n"
"PO-Revision-Date: 2012-07-28 11:07+0200\n"
"Last-Translator: Emanuel Schuetze \n"
"Language-Team: support@openslides.de\n"
@@ -25,6 +25,10 @@ msgstr "Deutsch"
msgid "English"
msgstr "Englisch"
+#: global_settings.py:38
+msgid "French"
+msgstr ""
+
#: agenda/forms.py:28
msgid "Parent item"
msgstr "Elternelement"
@@ -41,7 +45,7 @@ msgid "Text"
msgstr "Text"
#: agenda/models.py:44 agenda/templates/agenda/overview.html:65
-#: agenda/templates/agenda/view.html:13 participant/models.py:56
+#: agenda/templates/agenda/view.html:13 participant/models.py:59
#: participant/templates/participant/overview.html:72
#: participant/templates/participant/user_detail.html:45
msgid "Comment"
@@ -65,7 +69,7 @@ msgid "Can manage agenda"
msgstr "Darf die Tagesordung verwalten"
#: agenda/models.py:189 agenda/slides.py:20 agenda/views.py:194
-#: agenda/views.py:195 agenda/views.py:214
+#: agenda/views.py:195 agenda/views.py:214 agenda/views.py:229
#: agenda/templates/agenda/base_agenda.html:10
#: agenda/templates/agenda/overview.html:8
#: agenda/templates/agenda/overview.html:52
@@ -392,7 +396,7 @@ msgstr "Abgeschlossen"
msgid "Name"
msgstr "Name"
-#: assignment/models.py:55 participant/models.py:120
+#: assignment/models.py:55 participant/models.py:133
msgid "Description"
msgstr "Beschreibung"
@@ -459,6 +463,7 @@ msgid "Ballot %d"
msgstr "Wahlgang %d"
#: assignment/models.py:331 assignment/views.py:340 assignment/views.py:664
+#: assignment/views.py:678
#: assignment/templates/assignment/base_assignment.html:14
#: assignment/templates/assignment/overview.html:6
#: assignment/templates/assignment/overview.html:9
@@ -523,7 +528,7 @@ msgstr "Soll %s wirklich von der Wahl zurückgezogen werden?"
#: assignment/views.py:226
#, python-format
-msgid "Do you really want to unblock %s from the election?"
+msgid "Do you really want to unblock %s for the election?"
msgstr "Soll %s wirklich für die Wahl freigegeben werden?"
#: assignment/views.py:241
@@ -666,10 +671,6 @@ msgstr "Enthaltung"
msgid "Election settings successfully saved."
msgstr "Wahl-Einstellungen wurden erfolgreich gespeichert."
-#: assignment/views.py:677
-msgid "Assignments"
-msgstr "Wahlen"
-
#: assignment/templates/assignment/base_assignment.html:16
msgid "All elections"
msgstr "Alle Wahlen"
@@ -1191,7 +1192,7 @@ msgid "The assembly may decide,"
msgstr "Die Versammlung möge beschließen,"
#: motion/models.py:604 motion/views.py:692 motion/views.py:917
-#: motion/templates/motion/base_motion.html:9
+#: motion/views.py:928 motion/templates/motion/base_motion.html:9
#: motion/templates/motion/overview.html:7
#: motion/templates/motion/overview.html:10
msgid "Motions"
@@ -1621,7 +1622,7 @@ msgid "Not permit (reject)"
msgstr "Nicht zulassen (verwerfen)"
#: motion/templates/motion/view.html:157
-msgid "Set Number"
+msgid "Set number"
msgstr "Setze Nummer"
#: motion/templates/motion/view.html:164
@@ -1633,7 +1634,7 @@ msgid "Result after debate"
msgstr "Ergebnis nach der Debatte"
#: motion/templates/motion/view.html:189
-msgid "Withdrawed by Submitter"
+msgid "Withdrawed by submitter"
msgstr "Zurückgezogen durch Antragsteller/in"
#: motion/templates/motion/view.html:194
@@ -1709,6 +1710,7 @@ msgstr "Teilnehmer"
#: participant/templates/participant/group_overview.html:7
#: participant/templates/participant/group_overview.html:10
#: participant/templates/participant/user_detail.html:14
+#: participant/templates/projector/UserSlide.html:12
msgid "Groups"
msgstr "Gruppen"
@@ -1716,7 +1718,7 @@ msgstr "Gruppen"
msgid "Permissions"
msgstr "Rechte"
-#: participant/forms.py:47 participant/views.py:530
+#: participant/forms.py:47 participant/views.py:530 participant/views.py:576
#: participant/templates/participant/base_participant.html:12
#: participant/templates/participant/overview.html:7
#: participant/templates/participant/overview.html:18
@@ -1749,93 +1751,95 @@ msgstr "Teilnehmer/innen nach Vornamen sortieren"
msgid "Disable for sorting by last name"
msgstr "Deaktivieren für Sortierung nach Nachnamen"
-#: participant/models.py:29 participant/templates/participant/overview.html:25
+#: participant/models.py:32 participant/templates/participant/overview.html:25
msgid "Male"
msgstr "Männlich"
-#: participant/models.py:30 participant/templates/participant/overview.html:26
+#: participant/models.py:33 participant/templates/participant/overview.html:26
msgid "Female"
msgstr "Weiblich"
-#: participant/models.py:33 participant/templates/participant/overview.html:38
+#: participant/models.py:36 participant/templates/participant/overview.html:38
msgid "Delegate"
msgstr "Delegierter"
-#: participant/models.py:34 participant/templates/participant/overview.html:39
+#: participant/models.py:37 participant/templates/participant/overview.html:39
msgid "Observer"
msgstr "Beobachter"
-#: participant/models.py:35 participant/templates/participant/overview.html:40
+#: participant/models.py:38 participant/templates/participant/overview.html:40
msgid "Staff"
msgstr "Mitarbeiter"
-#: participant/models.py:36 participant/templates/participant/overview.html:41
+#: participant/models.py:39 participant/templates/participant/overview.html:41
msgid "Guest"
msgstr "Gast"
-#: participant/models.py:41 participant/templates/participant/overview.html:30
+#: participant/models.py:44 participant/templates/participant/overview.html:30
#: participant/templates/participant/overview.html:68
msgid "Detail"
msgstr "Detail"
-#: participant/models.py:42
+#: participant/models.py:45
msgid "Will be shown after the name."
msgstr "Wird nach dem Namen angezeigt."
-#: participant/models.py:45 participant/templates/participant/overview.html:24
+#: participant/models.py:48 participant/templates/participant/overview.html:24
#: participant/templates/participant/user_detail.html:24
+#: participant/templates/projector/UserSlide.html:20
msgid "Gender"
msgstr "Geschlecht"
-#: participant/models.py:45 participant/models.py:48 participant/models.py:51
+#: participant/models.py:48 participant/models.py:51 participant/models.py:54
msgid "Only for filtering the participant list."
msgstr "Nur zum Filtern der Teilnehmerliste."
-#: participant/models.py:48
+#: participant/models.py:51
msgid "Typ"
msgstr "Typ"
-#: participant/models.py:50 participant/views.py:245
+#: participant/models.py:53 participant/views.py:245
#: participant/templates/participant/overview.html:45
#: participant/templates/participant/overview.html:70
#: participant/templates/participant/user_detail.html:34
+#: participant/templates/projector/UserSlide.html:28
msgid "Committee"
msgstr "Amt"
-#: participant/models.py:53
+#: participant/models.py:56
#: participant/templates/participant/user_detail.html:39
msgid "About me"
msgstr "Über mich"
-#: participant/models.py:54
+#: participant/models.py:57
msgid "Your profile text"
msgstr "Ihr Profiltext"
-#: participant/models.py:57
+#: participant/models.py:60
msgid "Only for notes."
msgstr "Nur für Notizen."
-#: participant/models.py:60
+#: participant/models.py:63
msgid "Default password"
msgstr "Vorgegebenes Passwort"
-#: participant/models.py:108
+#: participant/models.py:111
msgid "Can see participant"
msgstr "Darf die Teilnehmer/inen sehen"
-#: participant/models.py:110
+#: participant/models.py:113
msgid "Can manage participant"
msgstr "Darf die Teilnehmer/inen verwalten"
-#: participant/models.py:119
+#: participant/models.py:132
msgid "Use this group as participant"
msgstr "Verwende diese Gruppe als Teilnehmer/in"
-#: participant/models.py:119
+#: participant/models.py:132
msgid "For example as submitter of a motion."
msgstr "Zum Beispiel als Antragsteller."
-#: participant/models.py:201
+#: participant/models.py:214
msgid "Welcome to OpenSlides!"
msgstr "Willkommen bei OpenSlides!"
@@ -1863,6 +1867,7 @@ msgstr "Gruppe"
#: participant/views.py:244 participant/templates/participant/overview.html:37
#: participant/templates/participant/overview.html:69
#: participant/templates/participant/user_detail.html:29
+#: participant/templates/projector/UserSlide.html:24
msgid "Type"
msgstr "Typ"
@@ -1937,10 +1942,6 @@ msgstr "Passwort wurde erfolgreich geändert."
msgid "My motions and elections"
msgstr "Meine Anträge und Wahlen"
-#: participant/views.py:576
-msgid "Users"
-msgstr "Benutzer"
-
#: participant/templates/participant/base_participant.html:15
msgid "All participants"
msgstr "Alle Teilnehmer/innen"
@@ -2142,6 +2143,7 @@ msgid "I am candidate for the following elections:"
msgstr "Ich bin Kandidat/in bei folgenden Wahlen:"
#: participant/templates/participant/user_detail.html:19
+#: participant/templates/projector/UserSlide.html:16
msgid "The participant is not member of any group."
msgstr "Teilnehmer/in ist kein Mitglied einer Gruppe."
diff --git a/openslides/locale/fr/LC_MESSAGES/django.mo b/openslides/locale/fr/LC_MESSAGES/django.mo
index 7a238642c..50f308e0a 100644
Binary files a/openslides/locale/fr/LC_MESSAGES/django.mo and b/openslides/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/openslides/locale/fr/LC_MESSAGES/django.po b/openslides/locale/fr/LC_MESSAGES/django.po
index 165e3ffe0..5cec74118 100644
--- a/openslides/locale/fr/LC_MESSAGES/django.po
+++ b/openslides/locale/fr/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenSlides 1.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-11-07 21:58+0100\n"
+"POT-Creation-Date: 2012-11-07 22:35+0100\n"
"PO-Revision-Date: 2012-07-28 21:36+0200\n"
"Last-Translator: Moira Brülisauer \n"
"Language-Team: Französisch <>\n"
@@ -27,8 +27,11 @@ msgstr "Allemand"
msgid "English"
msgstr "Anglais"
+#: global_settings.py:38
+msgid "French"
+msgstr ""
+
#: agenda/forms.py:28
-#, fuzzy
msgid "Parent item"
msgstr "Elément parent"
@@ -424,6 +427,7 @@ msgid "The candidate list is already closed."
msgstr "La liste des candidats est déjà fermée"
#: assignment/models.py:94
+#, python-format
msgid "%s does not want to be a candidate."
msgstr "%s ne veut pas etre un candidat"
@@ -510,20 +514,23 @@ msgstr ""
"nominer comme candidat"
#: assignment/views.py:218
+#, python-format
msgid "Candidate %s was withdrawn successfully."
msgstr "Le candidat %s a été rejeté avec succès."
#: assignment/views.py:220
+#, python-format
msgid "%s was unblocked successfully."
msgstr "Le candidat %s a été nominé avec succès."
#: assignment/views.py:224
+#, python-format
msgid "Do you really want to withdraw %s from the election?"
msgstr "Voulez-vous vraiment exclure %s de cette élection?"
#: assignment/views.py:226
-#, fuzzy, python-format
-msgid "Do you really want to unblock %s from the election?"
+#, python-format
+msgid "Do you really want to unblock %s for the election?"
msgstr ""
"Voulez-vous vraiment repermettre a participer %s à cette élection?"
@@ -652,6 +659,7 @@ msgstr[0] "%d candidat"
msgstr[1] "%d candidats"
#: assignment/views.py:545
+#, python-format
msgid "%d available post"
msgid_plural "%d available posts"
msgstr[0] "%d postes disponibles"
@@ -1118,6 +1126,7 @@ msgid "Supporter: -%s"
msgstr "Partisants: -%s"
#: motion/models.py:295
+#, python-format
msgid "Number set: %s"
msgstr "Numéro inséré: %s"
@@ -1277,7 +1286,6 @@ msgstr ""
"Vous supportez maintenant cette motion, vous avez vous ajouté avec succès."
#: motion/views.py:417
-
msgid "You have unsupported this motion successfully."
msgstr "Vous avez retiré votre support pour cette motion avec succès. "
@@ -1432,6 +1440,7 @@ msgid "Poll"
msgstr "Sondage"
#: motion/views.py:851
+#, python-format
msgid "Motion No. %s"
msgstr "Motion No %s"
@@ -1624,7 +1633,7 @@ msgid "Not permit (reject)"
msgstr "Non autorisé (rejeter)"
#: motion/templates/motion/view.html:157
-msgid "Set Number"
+msgid "Set number"
msgstr "Insérer un numéro"
#: motion/templates/motion/view.html:164
@@ -1636,7 +1645,7 @@ msgid "Result after debate"
msgstr "Résultat après la discussion"
#: motion/templates/motion/view.html:189
-msgid "Withdrawed by Submitter"
+msgid "Withdrawed by submitter"
msgstr "Retiré par le requérant"
#: motion/templates/motion/view.html:194
@@ -1746,12 +1755,10 @@ msgstr ""
"Imprimé dans le PDF avec la liste des premiers mots de passe seulement."
#: participant/forms.py:118
-#, fuzzy
msgid "Sort participants by first name"
msgstr ""
#: participant/forms.py:119
-#, fuzzy
msgid "Disable for sorting by last name"
msgstr ""
@@ -1834,7 +1841,6 @@ msgid "Can manage participant"
msgstr "Peut gérer des participants"
#: participant/models.py:119
-#, fuzzy
msgid "Use this group as participant"
msgstr ""
@@ -1911,6 +1917,7 @@ msgid "Do you really want to reset the password?"
msgstr "Voulez-vous vraiment reinitialser le mot de passe?"
#: participant/views.py:378
+#, python-format
msgid "The Password for %s was successfully reset."
msgstr "Le mot de passe de %s a été initialisé avec succès"
@@ -1921,6 +1928,7 @@ msgstr ""
"succès"
#: participant/views.py:467
+#, python-format
msgid ""
"Installation was successfully! Use %(user)s (password: %(password)s) for "
"first login.
Important: Please change the password after "
@@ -1942,7 +1950,6 @@ msgid "Password successfully changed."
msgstr "Le mot de passe a été changé avec succès."
#: participant/views.py:562
-#, fuzzy
msgid "My motions and elections"
msgstr ""
@@ -1985,9 +1992,8 @@ msgid "First time passwords as PDF"
msgstr "La liste des premiers mots de passe en PDF"
#: participant/templates/participant/base_participant.html:38
-#, fuzzy
msgid "View participant"
-msgstr "Nouveau participant"
+msgstr "Afficher participant"
#: participant/templates/participant/base_participant.html:45
#: participant/templates/participant/edit.html:8
@@ -2002,9 +2008,8 @@ msgid "Delete participant"
msgstr "Supprimer le participant"
#: participant/templates/participant/base_participant.html:60
-#, fuzzy
msgid "View group"
-msgstr "Modifier le groupe"
+msgstr "Afficher le groupe"
#: participant/templates/participant/base_participant.html:65
#: participant/templates/participant/group_edit.html:8
@@ -2135,7 +2140,6 @@ msgid "Personal Settings"
msgstr "Paramètres personnels"
#: participant/templates/participant/personal_info_widget.html:5
-#, fuzzy
msgid "I submitted the following motions:"
msgstr ""
@@ -2146,12 +2150,10 @@ msgid "None"
msgstr ""
#: participant/templates/participant/personal_info_widget.html:24
-#, fuzzy
msgid "I support the following motions:"
msgstr ""
#: participant/templates/participant/personal_info_widget.html:43
-#, fuzzy
msgid "I am candidate for the following elections:"
msgstr ""
diff --git a/openslides/motion/templates/motion/view.html b/openslides/motion/templates/motion/view.html
index 28cf76881..f991c88b5 100644
--- a/openslides/motion/templates/motion/view.html
+++ b/openslides/motion/templates/motion/view.html
@@ -154,7 +154,7 @@
{% trans 'Not permit (reject)' %}
{% endif %}
{% if "setnumber" in actions %}
- {% trans 'Set Number' %}
+ {% trans 'Set number' %}
{% endif %}
{% endif %}
@@ -186,7 +186,7 @@
{% trans 'Commited a bill' %}
{% endif %}
{% if "wit" in actions %}
- {% trans 'Withdrawed by Submitter' %}
+ {% trans 'Withdrawed by submitter' %}
{% endif %}
{% endif %}
diff --git a/openslides/motion/views.py b/openslides/motion/views.py
index 4512f05a1..8f564d60f 100644
--- a/openslides/motion/views.py
+++ b/openslides/motion/views.py
@@ -925,6 +925,7 @@ def get_widgets(request):
return [
Widget(
name='motions',
+ display_name=_('Motions'),
template='motion/widget.html',
context={'motions': Motion.objects.all()},
permission_required='motion.can_manage_motion')]
diff --git a/openslides/participant/models.py b/openslides/participant/models.py
index d2e42e60a..6f90709f4 100644
--- a/openslides/participant/models.py
+++ b/openslides/participant/models.py
@@ -22,8 +22,11 @@ from openslides.utils.person.signals import receive_persons
from openslides.config.models import config
from openslides.config.signals import default_config_value
+from openslides.projector.api import register_slidemodel
+from openslides.projector.projector import SlideMixin
-class User(DjangoUser, PersonMixin, Person):
+class User(DjangoUser, PersonMixin, Person, SlideMixin):
+ prefix = 'user' # This is for the slides
person_prefix = 'user'
GENDER_CHOICES = (
('male', _('Male')),
@@ -111,6 +114,16 @@ class User(DjangoUser, PersonMixin, Person):
)
ordering = ('last_name',)
+ def slide(self):
+ """
+ Returns a map with the data for the slides.
+ """
+ return {
+ 'shown_user': self,
+ 'title': self.clean_name,
+ 'template': 'projector/UserSlide.html'}
+
+register_slidemodel(User)
class Group(DjangoGroup, PersonMixin, Person):
person_prefix = 'group'
diff --git a/openslides/participant/templates/projector/UserSlide.html b/openslides/participant/templates/projector/UserSlide.html
new file mode 100644
index 000000000..3c38a273b
--- /dev/null
+++ b/openslides/participant/templates/projector/UserSlide.html
@@ -0,0 +1,43 @@
+{% extends "base-projector.html" %}
+
+{% load i18n %}
+{% load tags %}
+
+{% block title %}{{ block.super }} - {{ title }}{% endblock %}
+
+{% block content %}
+
+
+
+ {{ shown_user }}
+ {{ shown_user.email }}
+
+{% endblock %}
+
+{% block scrollcontent %}
+
+
{{ shown_user.about_me|linebreaks }}
+
+
+{% endblock %}
diff --git a/openslides/participant/views.py b/openslides/participant/views.py
index 053dae045..974d7d183 100644
--- a/openslides/participant/views.py
+++ b/openslides/participant/views.py
@@ -255,7 +255,7 @@ class ParticipantsListPDF(PDFView):
Paragraph(user.last_name, stylesheet['Tablecell']),
Paragraph(user.first_name, stylesheet['Tablecell']),
Paragraph(user.detail, stylesheet['Tablecell']),
- Paragraph(_(user.type), stylesheet['Tablecell']),
+ Paragraph(user.type, stylesheet['Tablecell']),
Paragraph(user.committee, stylesheet['Tablecell'])])
t = LongTable(data, style=[
('VALIGN', (0, 0), (-1, -1), 'TOP'),
@@ -573,7 +573,7 @@ def get_user_widget(request):
"""
return Widget(
name='user',
- display_name=_('Users'),
+ display_name=_('Participants'),
template='participant/user_widget.html',
context={'users': User.objects.all(),},
permission_required='projector.can_manage_projector',