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',