Automated merge with ssh://openslides.org/openslides

This commit is contained in:
Emanuel Schuetze 2012-04-15 10:10:35 +02:00
commit 5f2c778880
14 changed files with 95 additions and 158 deletions

View File

@ -8,7 +8,14 @@
<h1>{%trans "Import applications" %}</h1> <h1>{%trans "Import applications" %}</h1>
<p>{% trans 'Select a CSV file to import applications!' %}</p> <p>{% trans 'Select a CSV file to import applications!' %}</p>
<p>{% trans '(Required comma separated values: <code>number, title, text, reason, first_name, last_name</code> - <code>number</code> and <code>reason</code> are optional and may be empty)' %} </p> <p>{% trans 'Required comma separated values: <code>{number, title, text, reason, first_name, last_name}</code> (<code>number</code> and <code>reason</code> are optional and may be empty)' %}
<br>
{% trans 'Required CSV file encoding: UTF-8 (Unicode).' %}
</p>
<p><a href="http://dev.openslides.org/wiki/CSVImport" target="_blank">{% trans 'A CSV example file is available in OpenSlides Wiki.' %}</a>
</p>
<form enctype="multipart/form-data" action="" method="post">{% csrf_token %} <form enctype="multipart/form-data" action="" method="post">{% csrf_token %}
{{ form.as_p }} {{ form.as_p }}
<button class="button" type="submit"> <button class="button" type="submit">

View File

@ -22,7 +22,7 @@
{% blocktrans count counter=assignments|length %}election{% plural %}elections{% endblocktrans %} {% blocktrans count counter=assignments|length %}election{% plural %}elections{% endblocktrans %}
<table> <table>
<tr> <tr>
<th><a href="?sort=name{% if 'name' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Elections" %}</a></th> <th><a href="?sort=name{% if 'name' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Election" %}</a></th>
<th>{%trans "Candidates" %}</th> <th>{%trans "Candidates" %}</th>
<th><a href="?sort=status{% if 'status' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Status" %}</a></th> <th><a href="?sort=status{% if 'status' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{%trans "Status" %}</a></th>
{% if perms.assignment.can_manage_assignment %} {% if perms.assignment.can_manage_assignment %}

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-14 19:22+0200\n" "POT-Creation-Date: 2012-04-15 10:06+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -116,7 +116,7 @@ msgid "Yes, with all child items."
msgstr "Ja, mit allen Kindelementen." msgstr "Ja, mit allen Kindelementen."
#: agenda/views.py:183 agenda/views.py:185 participant/views.py:187 #: agenda/views.py:183 agenda/views.py:185 participant/views.py:187
#: participant/views.py:300 utils/utils.py:47 utils/views.py:200 #: participant/views.py:281 utils/utils.py:47 utils/views.py:200
#, python-format #, python-format
msgid "Do you really want to delete <b>%s</b>?" msgid "Do you really want to delete <b>%s</b>?"
msgstr "Soll <b>%s</b> wirklich gelöscht werden?" msgstr "Soll <b>%s</b> wirklich gelöscht werden?"
@ -165,7 +165,7 @@ msgstr "Speichern"
#: agenda/templates/agenda/config.html:17 agenda/templates/agenda/edit.html:19 #: agenda/templates/agenda/config.html:17 agenda/templates/agenda/edit.html:19
#: application/templates/application/config.html:17 #: application/templates/application/config.html:17
#: application/templates/application/edit.html:28 #: application/templates/application/edit.html:28
#: application/templates/application/import.html:19 #: application/templates/application/import.html:26
#: application/templates/application/poll_view.html:56 #: application/templates/application/poll_view.html:56
#: assignment/templates/assignment/config.html:17 #: assignment/templates/assignment/config.html:17
#: assignment/templates/assignment/edit.html:24 #: assignment/templates/assignment/edit.html:24
@ -174,7 +174,7 @@ msgstr "Speichern"
#: config/templates/config/general.html:17 #: config/templates/config/general.html:17
#: participant/templates/participant/edit.html:28 #: participant/templates/participant/edit.html:28
#: participant/templates/participant/group_edit.html:24 #: participant/templates/participant/group_edit.html:24
#: participant/templates/participant/import.html:21 #: participant/templates/participant/import.html:26
#: participant/templates/participant/settings.html:22 #: participant/templates/participant/settings.html:22
#: projector/templates/projector/new.html:20 #: projector/templates/projector/new.html:20
msgid "Cancel" msgid "Cancel"
@ -224,6 +224,7 @@ msgstr "Erledigt"
#: agenda/templates/agenda/overview.html:58 #: agenda/templates/agenda/overview.html:58
#: assignment/templates/assignment/overview.html:29 #: assignment/templates/assignment/overview.html:29
#: participant/templates/participant/group_overview.html:13
#: participant/templates/participant/overview.html:71 #: participant/templates/participant/overview.html:71
msgid "Actions" msgid "Actions"
msgstr "Aktionen" msgstr "Aktionen"
@ -466,8 +467,8 @@ msgid "Application was successfully modified."
msgstr "Antrag wurde erfolgreich geändert." msgstr "Antrag wurde erfolgreich geändert."
#: application/views.py:198 application/views.py:597 assignment/views.py:129 #: application/views.py:198 application/views.py:597 assignment/views.py:129
#: config/views.py:53 participant/views.py:164 participant/views.py:285 #: config/views.py:53 participant/views.py:164 participant/views.py:266
#: participant/views.py:314 participant/views.py:472 utils/views.py:153 #: participant/views.py:295 participant/views.py:453 utils/views.py:153
msgid "Please check the form for errors." msgid "Please check the form for errors."
msgstr "Bitte kontrollieren Sie das Formular nach Fehlern." msgstr "Bitte kontrollieren Sie das Formular nach Fehlern."
@ -570,7 +571,7 @@ msgstr "FEHLER beim Zurückweisen der Version."
msgid "Do you really want to reject version <b>%s</b>?" msgid "Do you really want to reject version <b>%s</b>?"
msgstr "Soll Version <b>%s</b> wirklich zurückgewiesen werden?" msgstr "Soll Version <b>%s</b> wirklich zurückgewiesen werden?"
#: application/views.py:493 participant/views.py:330 #: application/views.py:493 participant/views.py:311
msgid "" msgid ""
"The import function is available for the superuser (without user profile) " "The import function is available for the superuser (without user profile) "
"only." "only."
@ -578,7 +579,7 @@ msgstr ""
"Die Importfunktion ist nur für den 'superuser' (ohne Nutzerprofil) verfügbar." "Die Importfunktion ist nur für den 'superuser' (ohne Nutzerprofil) verfügbar."
#: application/views.py:524 application/views.py:528 application/views.py:534 #: application/views.py:524 application/views.py:528 application/views.py:534
#: application/views.py:537 participant/views.py:399 #: application/views.py:537 participant/views.py:380
#, python-format #, python-format
msgid "Ignoring malformed line %d in import file." msgid "Ignoring malformed line %d in import file."
msgstr "Fehlerhafte Zeile %d der Quelldatei wurde ignoriert." msgstr "Fehlerhafte Zeile %d der Quelldatei wurde ignoriert."
@ -604,11 +605,11 @@ msgid_plural "%d new users were added."
msgstr[0] "%d neuer Nutzer wurde erstellt." msgstr[0] "%d neuer Nutzer wurde erstellt."
msgstr[1] "%d neue Nutzer wurden erstellt." msgstr[1] "%d neue Nutzer wurden erstellt."
#: application/views.py:593 participant/views.py:468 #: application/views.py:593 participant/views.py:449
msgid "Import aborted because of severe errors in the input file." msgid "Import aborted because of severe errors in the input file."
msgstr "Import auf Grund von schweren Fehlern in der Quelldatei abgebrochen." msgstr "Import auf Grund von schweren Fehlern in der Quelldatei abgebrochen."
#: application/views.py:595 participant/views.py:470 #: application/views.py:595 participant/views.py:451
msgid "Import file has wrong character encoding, only UTF-8 is supported!" msgid "Import file has wrong character encoding, only UTF-8 is supported!"
msgstr "" msgstr ""
"Die Quelldatei benutzt eine ungültige Zeichenkodierung, es wird nur UTF-8 " "Die Quelldatei benutzt eine ungültige Zeichenkodierung, es wird nur UTF-8 "
@ -743,16 +744,26 @@ msgstr "Wählen Sie eine CSV-Datei zum Importieren von Anträgen aus!"
#: application/templates/application/import.html:11 #: application/templates/application/import.html:11
msgid "" msgid ""
"(Required comma separated values: <code>number, title, text, reason, " "Required comma separated values: <code>{number, title, text, reason, "
"first_name, last_name</code> - <code>number</code> and <code>reason</code> " "first_name, last_name}</code> (<code>number</code> and <code>reason</code> "
"are optional and may be empty)" "are optional and may be empty)"
msgstr "" msgstr ""
"(Erfordert kommaseparierte Werte: <code>Nummer, Titel, Text, Begründung, " "Erforderliche kommaseparierte Werte: <code>{Nummer, Titel, Text, Begründung, "
"Vorname, Nachname</code> - <code>Nummer</code> und <code>Begründung</code> " "Vorname, Nachname}</code> (<code>Nummer</code> und <code>Begründung</code> "
"sind optional und können auch leer sein)" "sind optional und können auch leer sein)"
#: application/templates/application/import.html:15 #: application/templates/application/import.html:13
#: participant/templates/participant/import.html:17 #: participant/templates/participant/import.html:13
msgid "Required CSV file encoding: UTF-8 (Unicode)."
msgstr "Erforderliches CSV-Datei-Encoding: UTF-8 (Unicode)."
#: application/templates/application/import.html:16
#: participant/templates/participant/import.html:16
msgid "A CSV example file is available in OpenSlides Wiki."
msgstr "Eine CSV-Beispiel-Datei gibt es im OpenSlides Wiki."
#: application/templates/application/import.html:22
#: participant/templates/participant/import.html:22
msgid "Import" msgid "Import"
msgstr "Importieren" msgstr "Importieren"
@ -1073,7 +1084,6 @@ msgstr "Darf Wahlen verwalten"
#: assignment/templates/assignment/base_assignment.html:14 #: assignment/templates/assignment/base_assignment.html:14
#: assignment/templates/assignment/overview.html:6 #: assignment/templates/assignment/overview.html:6
#: assignment/templates/assignment/overview.html:9 #: assignment/templates/assignment/overview.html:9
#: assignment/templates/assignment/overview.html:25
msgid "Elections" msgid "Elections"
msgstr "Wahlen" msgstr "Wahlen"
@ -1153,6 +1163,7 @@ msgid "Assignment"
msgstr "Wahl" msgstr "Wahl"
#: assignment/views.py:317 assignment/templates/assignment/edit.html:5 #: assignment/views.py:317 assignment/templates/assignment/edit.html:5
#: assignment/templates/assignment/overview.html:25
#: assignment/templates/projector/Assignment.html:13 utils/pdf.py:304 #: assignment/templates/projector/Assignment.html:13 utils/pdf.py:304
#: utils/pdf.py:313 #: utils/pdf.py:313
msgid "Election" msgid "Election"
@ -1483,50 +1494,50 @@ msgstr "Teilnehmer/in wurde erfolgreich geändert."
msgid "Participant <b>%s</b> was successfully deleted." msgid "Participant <b>%s</b> was successfully deleted."
msgstr "Teilnehmer/in <b>%s</b> wurde erfolgreich gelöscht." msgstr "Teilnehmer/in <b>%s</b> wurde erfolgreich gelöscht."
#: participant/views.py:198 participant/views.py:217 #: participant/views.py:198
#, python-format #, python-format
msgid "Participant %d does not exist." msgid "Participant %d does not exist."
msgstr "Teilnehmer/in %d existiert nicht." msgstr "Teilnehmer/in %d existiert nicht."
#: participant/views.py:263 #: participant/views.py:244
#, python-format #, python-format
msgid "Group name \"%s\" is reserved for internal use." msgid "Group name \"%s\" is reserved for internal use."
msgstr "Der Gruppenname \"%s\" ist für interne Verwendung reserviert." msgstr "Der Gruppenname \"%s\" ist für interne Verwendung reserviert."
#: participant/views.py:277 #: participant/views.py:258
msgid "New group was successfully created." msgid "New group was successfully created."
msgstr "Neue Gruppe wurde erfolgreich angelegt." msgstr "Neue Gruppe wurde erfolgreich angelegt."
#: participant/views.py:279 #: participant/views.py:260
msgid "Group was successfully modified." msgid "Group was successfully modified."
msgstr "Gruppe wurde erfolgreich geändert." msgstr "Gruppe wurde erfolgreich geändert."
#: participant/views.py:298 #: participant/views.py:279
#, python-format #, python-format
msgid "Group <b>%s</b> was successfully deleted." msgid "Group <b>%s</b> was successfully deleted."
msgstr "Gruppe <b>%s</b> wurde erfolgreich gelöscht." msgstr "Gruppe <b>%s</b> wurde erfolgreich gelöscht."
#: participant/views.py:312 #: participant/views.py:293
msgid "User settings successfully saved." msgid "User settings successfully saved."
msgstr "Nutzereinstellungen wurden erfolgreich gespeichert." msgstr "Nutzereinstellungen wurden erfolgreich gespeichert."
#: participant/views.py:382 #: participant/views.py:363
msgid "Supporters removed after user import." msgid "Supporters removed after user import."
msgstr "Unterstützer/innen nach Benutzerimport zurückgesetzt." msgstr "Unterstützer/innen nach Benutzerimport zurückgesetzt."
#: participant/views.py:435 #: participant/views.py:416
#, python-format #, python-format
msgid "Reassigned to \"%s\" after (re)importing users." msgid "Reassigned to \"%s\" after (re)importing users."
msgstr "Nach Benutzerimport erneut \"%s\" zugeordnet." msgstr "Nach Benutzerimport erneut \"%s\" zugeordnet."
#: participant/views.py:438 participant/views.py:452 #: participant/views.py:419 participant/views.py:433
#, python-format #, python-format
msgid "Could not reassing application %d - object not found!" msgid "Could not reassing application %d - object not found!"
msgstr "" msgstr ""
"Antrag Id#%d konnte nicht neu zugewiesen werden - Das Objekt wurde nicht " "Antrag Id#%d konnte nicht neu zugewiesen werden - Das Objekt wurde nicht "
"gefunden!" "gefunden!"
#: participant/views.py:455 #: participant/views.py:436
#, python-format #, python-format
msgid "%d application could not be reassigned and needs a review!" msgid "%d application could not be reassigned and needs a review!"
msgid_plural "%d applications could not be reassigned and need a review!" msgid_plural "%d applications could not be reassigned and need a review!"
@ -1535,26 +1546,26 @@ msgstr[0] ""
msgstr[1] "" msgstr[1] ""
"%d Anträge konnten nicht neu zugewiesen werden und benötigen ein Review!" "%d Anträge konnten nicht neu zugewiesen werden und benötigen ein Review!"
#: participant/views.py:458 #: participant/views.py:439
#, python-format #, python-format
msgid "%d application was successfully reassigned." msgid "%d application was successfully reassigned."
msgid_plural "%d applications were successfully reassigned." msgid_plural "%d applications were successfully reassigned."
msgstr[0] "%d Antrag wurde erfolgreich neu zugewiesen." msgstr[0] "%d Antrag wurde erfolgreich neu zugewiesen."
msgstr[1] "%d Anträge wurden erfolgreich neu zugewiesen." msgstr[1] "%d Anträge wurden erfolgreich neu zugewiesen."
#: participant/views.py:461 #: participant/views.py:442
#, python-format #, python-format
msgid "%d application was discarded." msgid "%d application was discarded."
msgid_plural "%d applications were discarded." msgid_plural "%d applications were discarded."
msgstr[0] "%d Antrag wurde gelöscht." msgstr[0] "%d Antrag wurde gelöscht."
msgstr[1] "%d Anträge wurden gelöscht." msgstr[1] "%d Anträge wurden gelöscht."
#: participant/views.py:465 #: participant/views.py:446
#, python-format #, python-format
msgid "%d new participants were successfully imported." msgid "%d new participants were successfully imported."
msgstr "%d neue Teilnehmer/innen wurden erfolgreich importiert." msgstr "%d neue Teilnehmer/innen wurden erfolgreich importiert."
#: participant/views.py:474 #: participant/views.py:455
msgid "" msgid ""
"Attention: All existing participants will be removed if you import new " "Attention: All existing participants will be removed if you import new "
"participants." "participants."
@ -1562,12 +1573,12 @@ msgstr ""
"Achtung: Alle existierenden Teilnehmer/innen werden gelöscht, wenn Sie neue " "Achtung: Alle existierenden Teilnehmer/innen werden gelöscht, wenn Sie neue "
"Teilnehmer/innen importieren." "Teilnehmer/innen importieren."
#: participant/views.py:476 #: participant/views.py:457
msgid "Attention: Supporters from all existing applications will be removed." msgid "Attention: Supporters from all existing applications will be removed."
msgstr "" msgstr ""
"Achtung: Alle Unterstützer/innen werden von existiernden Anträgen gelöscht." "Achtung: Alle Unterstützer/innen werden von existiernden Anträgen gelöscht."
#: participant/views.py:477 #: participant/views.py:458
msgid "" msgid ""
"Attention: Applications which can't be mapped to new users will be set to " "Attention: Applications which can't be mapped to new users will be set to "
"'Needs Review'." "'Needs Review'."
@ -1575,17 +1586,17 @@ msgstr ""
"Achtung: Anträge welche keinem Nutzer zugeordnet werden können bekommen " "Achtung: Anträge welche keinem Nutzer zugeordnet werden können bekommen "
"automatisch den Status \"Benötigt Review\"." "automatisch den Status \"Benötigt Review\"."
#: participant/views.py:489 #: participant/views.py:470
#, python-format #, python-format
msgid "The Password for <b>%s</b> was successfully reset." msgid "The Password for <b>%s</b> was successfully reset."
msgstr "Das Passwort für <b>%s</b> wurde erfolgreich zurückgesetzt." msgstr "Das Passwort für <b>%s</b> wurde erfolgreich zurückgesetzt."
#: participant/views.py:491 #: participant/views.py:472
#, python-format #, python-format
msgid "Do you really want to reset the password for <b>%s</b>?" msgid "Do you really want to reset the password for <b>%s</b>?"
msgstr "Soll das Passwort für <b>%s</b> wirklich zurückgesetzt werden?" msgstr "Soll das Passwort für <b>%s</b> wirklich zurückgesetzt werden?"
#: participant/views.py:499 #: participant/views.py:480
#: participant/templates/participant/base_participant.html:12 #: participant/templates/participant/base_participant.html:12
#: participant/templates/participant/overview.html:6 #: participant/templates/participant/overview.html:6
#: participant/templates/participant/overview.html:16 #: participant/templates/participant/overview.html:16
@ -1605,12 +1616,12 @@ msgstr "Neue/r Teilnehmer/in"
#: participant/templates/participant/base_participant.html:19 #: participant/templates/participant/base_participant.html:19
msgid "All user groups" msgid "All user groups"
msgstr "Alle Benutzergruppen" msgstr "Alle Benutzerrollen"
#: participant/templates/participant/base_participant.html:20 #: participant/templates/participant/base_participant.html:20
#: participant/templates/participant/group_edit.html:11 #: participant/templates/participant/group_edit.html:11
msgid "New user group" msgid "New user group"
msgstr "Neue Benutzergruppe" msgstr "Neue Benutzerrolle"
#: participant/templates/participant/base_participant.html:21 #: participant/templates/participant/base_participant.html:21
#: participant/templates/participant/import.html:5 #: participant/templates/participant/import.html:5
@ -1642,11 +1653,11 @@ msgstr "Auf Erst-Passwort zurücksetzen"
#: participant/templates/participant/group_edit.html:5 #: participant/templates/participant/group_edit.html:5
#: participant/templates/participant/group_overview.html:12 #: participant/templates/participant/group_overview.html:12
msgid "User Group" msgid "User Group"
msgstr "Benutzergruppe" msgstr "Benutzerrolle"
#: participant/templates/participant/group_edit.html:9 #: participant/templates/participant/group_edit.html:9
msgid "Edit user group" msgid "Edit user group"
msgstr "Benutzergruppe bearbeiten" msgstr "Benutzerrolle bearbeiten"
#: participant/templates/participant/group_overview.html:6 #: participant/templates/participant/group_overview.html:6
msgid "Groups" msgid "Groups"
@ -1654,22 +1665,18 @@ msgstr "Gruppen"
#: participant/templates/participant/group_overview.html:9 #: participant/templates/participant/group_overview.html:9
msgid "User groups" msgid "User groups"
msgstr "Benutzergruppen" msgstr "Benutzerrollen"
#: participant/templates/participant/group_overview.html:13
msgid "Action"
msgstr "Aktionen"
#: participant/templates/participant/group_overview.html:18 #: participant/templates/participant/group_overview.html:18
msgid "Edit group" msgid "Edit group"
msgstr "Benutzergruppe bearbeiten" msgstr "Benutzerrolle bearbeiten"
#: participant/templates/participant/group_overview.html:20 #: participant/templates/participant/group_overview.html:20
msgid "Delete group" msgid "Delete group"
msgstr "Benutzergruppe löschen" msgstr "Benutzerrolle löschen"
#: participant/templates/participant/group_overview.html:26 #: participant/templates/participant/group_overview.html:26
#: participant/templates/participant/overview.html:105 #: participant/templates/participant/overview.html:100
msgid "No participants available." msgid "No participants available."
msgstr "Keine Teilnehmer/innen vorhanden." msgstr "Keine Teilnehmer/innen vorhanden."
@ -1679,15 +1686,11 @@ msgstr "Wählen Sie eine CSV-Datei zum Importieren von Teilnehmer/innen aus!"
#: participant/templates/participant/import.html:11 #: participant/templates/participant/import.html:11
msgid "" msgid ""
"Required comma separated values: <code>first_name, last_name, gender, group, " "Required comma separated values: <code>{first_name, last_name, gender, "
"type, committee, comment</code>" "group, type, committee, comment}</code>"
msgstr "" msgstr ""
"(Erfordert kommaseparierte Werte: <code>Vorname, Nachname, Geschlecht, " "Erforderliche kommaseparierte Werte: <code>{Vorname, Nachname, Geschlecht, "
"Gruppe, Typ, Amt, Kommentar</code>)" "Gruppe, Typ, Amt, Kommentar}</code>"
#: participant/templates/participant/import.html:12
msgid "CSV file encoding: UTF-8 (Unicode)."
msgstr "CSV-Datei-Encoding: UTF-8 (Unicode)."
#: participant/templates/participant/login.html:8 #: participant/templates/participant/login.html:8
#: participant/templates/participant/login.html:16 #: participant/templates/participant/login.html:16
@ -1720,11 +1723,11 @@ msgstr "Typ"
#: participant/templates/participant/overview.html:51 projector/models.py:35 #: participant/templates/participant/overview.html:51 projector/models.py:35
msgid "Active" msgid "Active"
msgstr "Aktiv (anwesend)" msgstr "Aktiv"
#: participant/templates/participant/overview.html:52 #: participant/templates/participant/overview.html:52
msgid "Inactive" msgid "Inactive"
msgstr "Inaktiv (abwesend)" msgstr "Inaktiv"
#: participant/templates/participant/overview.html:59 #: participant/templates/participant/overview.html:59
msgid "of" msgid "of"
@ -1750,10 +1753,6 @@ msgstr "Teilnehmer/in löschen"
msgid "Change status (active/inactive)" msgid "Change status (active/inactive)"
msgstr "Status ändern (aktiv/inaktiv)" msgstr "Status ändern (aktiv/inaktiv)"
#: participant/templates/participant/overview.html:96
msgid "Change administrator rights (Superuser/Normal user)"
msgstr "Adminstratorrechte ändern (Superuser/normaler Nutzer)"
#: participant/templates/participant/settings.html:5 #: participant/templates/participant/settings.html:5
#: participant/templates/participant/settings.html:11 #: participant/templates/participant/settings.html:11
msgid "Your Settings" msgid "Your Settings"
@ -1779,11 +1778,11 @@ msgstr "Darf den Beamer sehen"
msgid "Projector Slide" msgid "Projector Slide"
msgstr "Beamer-Folie" msgstr "Beamer-Folie"
#: projector/projector.py:73 #: projector/projector.py:79
msgid "Countdown" msgid "Countdown"
msgstr "Countdown" msgstr "Countdown"
#: projector/views.py:192 projector/templates/projector/base_projector.html:7 #: projector/views.py:203 projector/templates/projector/base_projector.html:7
#: projector/templates/projector/base_projector.html:12 #: projector/templates/projector/base_projector.html:12
#: projector/templates/projector/control.html:36 #: projector/templates/projector/control.html:36
msgid "Projector" msgid "Projector"
@ -1827,40 +1826,39 @@ msgstr "Text nach unten scrollen"
msgid "Reset projector view" msgid "Reset projector view"
msgstr "Beamer-Ansicht zurücksetzen" msgstr "Beamer-Ansicht zurücksetzen"
#: projector/templates/projector/control.html:73 #: projector/templates/projector/control.html:83
#: projector/templates/projector/control.html:124
msgid "Select item overview"
msgstr "Wähle Eintragsübersicht"
#: projector/templates/projector/control.html:97
msgid "Projector Live View" msgid "Projector Live View"
msgstr "Beamer-Live-Ansicht" msgstr "Beamer-Live-Ansicht"
#: projector/templates/projector/control.html:100 #: projector/templates/projector/control.html:86
msgid "Open Projector view" msgid "Open Projector view"
msgstr "Beamer-Ansicht öffnen" msgstr "Beamer-Ansicht öffnen"
#: projector/templates/projector/control.html:112 #: projector/templates/projector/control.html:98
msgid "Static Slides" msgid "Static Slides"
msgstr "Statische Folien" msgstr "Statische Folien"
#: projector/templates/projector/control.html:145 #: projector/templates/projector/control.html:110
msgid "Select item overview"
msgstr "Wähle Eintragsübersicht"
#: projector/templates/projector/control.html:131
msgid "Messages" msgid "Messages"
msgstr "Nachrichten" msgstr "Nachrichten"
#: projector/templates/projector/control.html:156 #: projector/templates/projector/control.html:142
msgid "sec" msgid "sec"
msgstr "s" msgstr "s"
#: projector/templates/projector/control.html:157 #: projector/templates/projector/control.html:143
msgid "Reset countdown" msgid "Reset countdown"
msgstr "Countdown zurücksetzen" msgstr "Countdown zurücksetzen"
#: projector/templates/projector/control.html:160 #: projector/templates/projector/control.html:146
msgid "Start countdown" msgid "Start countdown"
msgstr "Countdown starten" msgstr "Countdown starten"
#: projector/templates/projector/control.html:163 #: projector/templates/projector/control.html:149
msgid "Stop countdown" msgid "Stop countdown"
msgstr "Countdown stoppen" msgstr "Countdown stoppen"
@ -1947,4 +1945,3 @@ msgstr "Bedaure, Sie haben keine Berechtigung diese Seite zu sehen."
#: utils/views.py:207 #: utils/views.py:207
msgid "undefined-filename" msgid "undefined-filename"
msgstr "undefinierter-dateiname" msgstr "undefinierter-dateiname"

View File

@ -35,7 +35,7 @@ class UserNewForm(ModelForm, CssClassMixin):
class Meta: class Meta:
model = User model = User
exclude = ('username', 'password', 'is_staff', 'last_login', 'date_joined', 'user_permissions') exclude = ('username', 'password', 'is_staff', 'is_superuser', 'last_login', 'date_joined', 'user_permissions')
class UserEditForm(ModelForm, CssClassMixin): class UserEditForm(ModelForm, CssClassMixin):
@ -44,7 +44,7 @@ class UserEditForm(ModelForm, CssClassMixin):
class Meta: class Meta:
model = User model = User
exclude = ('password', 'is_staff', 'last_login', 'date_joined', 'user_permissions') exclude = ('password', 'is_staff', 'is_superuser', 'last_login', 'date_joined', 'user_permissions')
class UsernameForm(ModelForm, CssClassMixin): class UsernameForm(ModelForm, CssClassMixin):

Binary file not shown.

Before

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 752 B

View File

@ -17,23 +17,4 @@ $(function() {
} }
}); });
}); });
$('.superuser_link').click(function(event) {
event.preventDefault();
link = $(this);
$.ajax({
type: 'GET',
url: link.attr('href'),
dataType: 'json',
success: function(data) {
if (data.superuser) {
newclass = 'superuser';
} else {
newclass = 'normaluser';
}
link.removeClass('superuser normaluser').addClass(newclass);
link.attr('href', data.link);
}
});
});
}); });

View File

@ -14,20 +14,3 @@ a.status_link.inactive span {
height: 16px; height: 16px;
display: inline-block; display: inline-block;
} }
a.superuser_link.superuser span {
background-image: url(../images/icons/meeting-chair.png);
background-repeat: no-repeat;
background-position: center;
width: 16px;
height: 16px;
display: inline-block;
}
a.superuser_link.normaluser span {
background-image: url(../images/icons/im-user.png);
background-repeat: no-repeat;
background-position: center;
width: 16px;
height: 16px;
display: inline-block;
}

View File

@ -10,7 +10,7 @@
<table> <table>
<tr> <tr>
<th>{%trans "User Group" %}</th> <th>{%trans "User Group" %}</th>
<th>{%trans "Action" %}</th> <th>{%trans "Actions" %}</th>
</tr> </tr>
{% for group in groups %} {% for group in groups %}
<tr class="{% cycle '' 'odd' %}"> <tr class="{% cycle '' 'odd' %}">

View File

@ -8,9 +8,14 @@
<h1>{% trans 'Import participants' %}</h1> <h1>{% trans 'Import participants' %}</h1>
<p>{% trans 'Select a CSV file to import participants!' %}</p> <p>{% trans 'Select a CSV file to import participants!' %}</p>
<p>{% trans 'Required comma separated values: <code>first_name, last_name, gender, group, type, committee, comment</code>' %}<br> <p>{% trans 'Required comma separated values: <code>{first_name, last_name, gender, group, type, committee, comment}</code>' %}
{% trans 'CSV file encoding: UTF-8 (Unicode).' %} <br>
{% trans 'Required CSV file encoding: UTF-8 (Unicode).' %}
</p> </p>
<p><a href="http://dev.openslides.org/wiki/CSVImport" target="_blank">{% trans 'A CSV example file is available in OpenSlides Wiki.' %}</a>
</p>
<form enctype="multipart/form-data" action="" method="post">{% csrf_token %} <form enctype="multipart/form-data" action="" method="post">{% csrf_token %}
{{ form.as_p }} {{ form.as_p }}
<button class="button" type="submit"> <button class="button" type="submit">

View File

@ -91,11 +91,6 @@
title="{%trans 'Change status (active/inactive)' %}"> title="{%trans 'Change status (active/inactive)' %}">
<span></span> <span></span>
</a> </a>
<a class="superuser_link {% if user.is_superuser %}superuser{% else %}normaluser{% endif %}"
href="{% if user.is_superuser %}{% url user_normaluser user.id %}{% else %}{% url user_superuser user.id %}{% endif %}"
title="{%trans 'Change administrator rights (Superuser/Normal user)' %}">
<span></span>
</a>
</span> </span>
</td> </td>
{% endif %} {% endif %}

View File

@ -51,18 +51,6 @@ urlpatterns = patterns('participant.views',
name='user_inactive', name='user_inactive',
), ),
url(r'^(?P<user_id>\d+)/superuser/$',
'user_set_superuser',
{'superuser': True},
name='user_superuser',
),
url(r'^(?P<user_id>\d+)/normaluser/$',
'user_set_superuser',
{'superuser': False},
name='user_normaluser',
),
url(r'^import$', url(r'^import$',
'user_import', 'user_import',
name='user_import', name='user_import',

View File

@ -187,25 +187,6 @@ def user_delete(request, user_id):
gen_confirm_form(request, _('Do you really want to delete <b>%s</b>?') % user, reverse('user_delete', args=[user_id])) gen_confirm_form(request, _('Do you really want to delete <b>%s</b>?') % user, reverse('user_delete', args=[user_id]))
return redirect(reverse('user_overview')) return redirect(reverse('user_overview'))
@permission_required('participant.can_manage_participant')
@template('confirm.html')
def user_set_superuser(request, user_id, superuser=True):
try:
user = User.objects.get(pk=user_id)
user.is_superuser = superuser
user.save()
except User.DoesNotExist:
messages.error(request, _('Participant %d does not exist.') % int(user_id))
if request.is_ajax():
if superuser:
link = reverse('user_normaluser', args=[user.id])
else:
link = reverse('user_superuser', args=[user.id])
return ajax_request({'superuser': superuser,
'link': link})
return redirect(reverse('user_overview'))
@permission_required('participant.can_manage_participant') @permission_required('participant.can_manage_participant')
@template('confirm.html') @template('confirm.html')
def user_set_active(request, user_id, active=True): def user_set_active(request, user_id, active=True):