Merged.
This commit is contained in:
commit
189d0bf5e1
@ -1,60 +0,0 @@
|
||||
{% extends "beamer.html" %}
|
||||
{% load tags %}
|
||||
{% block title %}{{ block.super }} - {{ item.title }}{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<div id="sidebar">
|
||||
<div class="box">
|
||||
<p><b>{%trans "Status" %}:</b><br>
|
||||
{% if item.application.status != "pub" %}
|
||||
{%trans item.application.get_status_display %}
|
||||
<br>
|
||||
{% else %}
|
||||
{% for note in item.application.notes %}
|
||||
{{ note }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
<p><b>{% trans "Submitter" %}:</b><br>
|
||||
{{ item.application.submitter.profile }}</p>
|
||||
{% with item.application.poll_set.all as polls %}
|
||||
{% if polls|length > 0 and polls.0.has_vote %}
|
||||
<p><b>{% trans "Poll result" %}:</b></p>
|
||||
{% for p in polls %}
|
||||
{% if p.has_vote %}
|
||||
{% if polls|length > 1 %}
|
||||
{{forloop.counter}}. {% trans "Vote" %}:<br>
|
||||
{% endif %}
|
||||
{% for option in p.options %}
|
||||
<img src="/static/images/icons/voting-yes.png" title="{% trans 'Yes' %}"> {{ option.yes }} <br>
|
||||
<img src="/static/images/icons/voting-no.png" title="{% trans 'No' %}"> {{ option.no }} <br>
|
||||
<img src="/static/images/icons/voting-abstention.png" title="{% trans 'Abstention' %}"> {{ option.undesided }}<br>
|
||||
<img src="/static/images/icons/voting-invalid.png" title="{% trans 'Invalid' %}"> {{ p.votesinvalidf }}<br>
|
||||
<div style="border-top: 1px solid; padding-top: 5px; margin: 5px 0; width: 10em;">
|
||||
<img src="/static/images/icons/voting-total.png" title="{% trans 'Votes cast' %}"> {{ p.votescastf }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
<br>
|
||||
{% else %}
|
||||
{% if poll|length == 1 %}
|
||||
<i>{% trans "No poll results available." %}</i>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1>{% trans "Application No." %} {{ item.application.number }}</h1>
|
||||
<b>{{ item.title }}</b>
|
||||
<p>
|
||||
<div class="text">{{ item.application.public_version.text|linebreaks }}</div>
|
||||
{% if item.application.public_version.reason %}
|
||||
<br>
|
||||
<div class="reason"><p><b>{% trans "Reason" %}:</b></p>
|
||||
{{ item.application.public_version.reason|linebreaks }}</div>
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endblock %}
|
@ -1,105 +0,0 @@
|
||||
{% extends "beamer.html" %}
|
||||
{% block title %}{{ block.super }} - #{{ item.title }}{% endblock %}
|
||||
{% block header %}
|
||||
<link type="text/css" rel="stylesheet" media="all" href="/static/styles/assignment.css" />
|
||||
<script type="text/javascript" src="/static/javascript/assignment.js"></script>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<h1>{% trans "Election" %}: {{ item.assignment }}</h1>
|
||||
|
||||
{% if item.assignment.status != "fin" %}
|
||||
<div id="sidebar">
|
||||
<div class="box">
|
||||
<p><b>{% trans "Status" %}:</b><br>
|
||||
{% trans item.assignment.get_status_display %}</p>
|
||||
{% if item.assignment.status == "sea" or item.assignment.status == "vot" %}
|
||||
<p><b>{% trans "Number of available posts" %}:</b><br>
|
||||
{{ item.assignment.posts }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if not item.assignment.profile.exists %}
|
||||
<p>
|
||||
<div class="text">{{ item.assignment.description|linebreaks }}</div>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% if item.assignment.profile.exists and item.assignment.status != "fin" %}
|
||||
<h3>{% trans "Candidates" %}</h3>
|
||||
<ol>
|
||||
{% for profile in item.assignment.profile.all|dictsort:"user.first_name" %}
|
||||
<li>{{ profile }} </li>
|
||||
{% empty %}
|
||||
<li style="list-style: none outside none;">
|
||||
<i>{% trans "No candidates available." %}</i>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
<p><br></p>
|
||||
{% endif %}
|
||||
|
||||
{% with polls|first as firstpoll %}
|
||||
{% if polls.count > 0 and firstpoll.published %}
|
||||
<h3>{% trans "Election results" %}</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<th>{% trans "Candidates" %}</th>
|
||||
{% for poll in item.assignment.poll_set.all %}
|
||||
{% if poll.published %}
|
||||
<th><nobr>{{forloop.counter}}. {% trans "ballot" %}</nobr></th>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% for vote in votes %}
|
||||
<tr class="{% cycle 'odd' '' %}">
|
||||
{% with vote|first as candidate %}
|
||||
<td class="candidate {% if candidate.1 %}elected{% endif %}">
|
||||
{% if candidate.1 %}
|
||||
<a class="elected"><img src="/static/images/icons/voting-yes.png" title="{% trans 'Candidate is elected' %}"></a>
|
||||
{% endif %}
|
||||
{{ candidate.0 }}
|
||||
</td>
|
||||
{% for v in vote|last %}
|
||||
<td style="white-space:nowrap;" {% if candidate.1 %}class="elected"{% endif %}>{% if v %}
|
||||
{% if v|length == 3 %}
|
||||
<img src="/static/images/icons/voting-yes.png" title="{% trans 'Yes' %}"> {% if v.0 %}{{ v.0 }}{% else %}∅{% endif %}<br>
|
||||
<img src="/static/images/icons/voting-no.png" title="{% trans 'No' %}"> {% if v.1 %}{{ v.1 }}{% else %}∅{% endif %}<br>
|
||||
<img src="/static/images/icons/voting-abstention.png" title="{% trans 'Abstention' %}"> {% if v.2 %}{{ v.2 }}{% else %}∅{% endif %}<br>
|
||||
{% else %}
|
||||
{% if v != "-" %}<img src="/static/images/icons/voting-yes.png" title="{% trans 'Yes' %}">{% endif %}
|
||||
{{ v }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endfor %}
|
||||
{% endwith %}
|
||||
</tr>
|
||||
{% empty %}
|
||||
<tr>
|
||||
<td {% if item.assignment.profile.exist %}colspan="2"{% endif %}><i>{% trans "No ballots available." %}</i></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
<tr>
|
||||
<td>{%trans 'Invalid votes' %}</td>
|
||||
{% for p in polls %}
|
||||
{% if p.published %}
|
||||
<td style="white-space:nowrap;"><img src="/static/images/icons/voting-invalid.png" title="{% trans 'Invalid' %}"> {{ p.votesinvalidf }}</td>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tr>
|
||||
<tr class="total">
|
||||
<td><b>{%trans 'Votes cast' %}</b></td>
|
||||
{% for p in polls %}
|
||||
{% if p.published %}
|
||||
<td style="white-space:nowrap;"><img src="/static/images/icons/voting-total.png" title="{% trans 'Votes cast' %}"> <b>{{ p.votescastf }}</b></td>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
|
||||
<br>
|
||||
{% endblock %}
|
@ -1,19 +0,0 @@
|
||||
{% extends "beamer.html" %}
|
||||
{% block title %}{{ block.super }} - {{ item.title }}{% endblock %}
|
||||
{% block content %}
|
||||
{%trans "Poll about" %}:
|
||||
<h1>{{ item.title }}</h1>
|
||||
|
||||
<table>
|
||||
{% for option in item.poll.get_options %}
|
||||
<tr>
|
||||
<td>{{ option }}</td>
|
||||
<td>{{ option.voteyes }}</td>
|
||||
{% if item.poll.optiondecision %}
|
||||
<td>{{ option.voteno }}</td>
|
||||
<td>{{ option.voteundesided }}</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endblock %}
|
@ -1,10 +0,0 @@
|
||||
{% extends "beamer.html" %}
|
||||
{% block title %}{{ block.super }} - {{ item.title }}{% endblock %}
|
||||
{% block content %}
|
||||
{% if item.text %}
|
||||
<h1>{{ item.title }}</h1>
|
||||
{{ item.text|safe|linebreaks }}
|
||||
{% else %}
|
||||
<div class="item_fullscreen">{{ item.title }}</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
@ -1,17 +0,0 @@
|
||||
{% extends "beamer.html" %}
|
||||
{% block title %}{{ block.super }} -
|
||||
{% if title %} {{ title }} {% else %} {%trans "Agenda" %} {% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% if title %}
|
||||
<h1>{{ title }}</h1>
|
||||
{% else %}
|
||||
<h1>{%trans "Agenda" %}</h1>
|
||||
{% endif %}
|
||||
<ul class="itemlist">
|
||||
{% for item in items %}
|
||||
<li{% if item.closed %} class="closed"{% endif %}>{{ item }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
Binary file not shown.
@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenSlides 1.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-07-19 08:19+0200\n"
|
||||
"POT-Creation-Date: 2012-07-19 11:04+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Emanuel Schuetze <emanuel@intevation.de>\n"
|
||||
"Language-Team: German\n"
|
||||
@ -156,28 +156,22 @@ msgstr "Neuer Eintrag"
|
||||
msgid "Agenda as PDF"
|
||||
msgstr "Tagesordnung als PDF"
|
||||
|
||||
#: agenda/templates/agenda/base_agenda.html:19
|
||||
#: projector/templates/projector/base_projector.html:20
|
||||
#: templates/front_page.html:25
|
||||
msgid "Projector view"
|
||||
msgstr "Projektor-Ansicht"
|
||||
|
||||
#: agenda/templates/agenda/base_agenda.html:31
|
||||
#: agenda/templates/agenda/base_agenda.html:26
|
||||
msgid "View item"
|
||||
msgstr "Eintrag anzeigen"
|
||||
|
||||
#: agenda/templates/agenda/base_agenda.html:36
|
||||
#: agenda/templates/agenda/base_agenda.html:31
|
||||
#: agenda/templates/agenda/edit.html:8 agenda/templates/agenda/edit.html:16
|
||||
#: agenda/templates/agenda/item_row.html:49
|
||||
msgid "Edit item"
|
||||
msgstr "Eintrag bearbeiten"
|
||||
|
||||
#: agenda/templates/agenda/base_agenda.html:38
|
||||
#: agenda/templates/agenda/base_agenda.html:33
|
||||
#: agenda/templates/agenda/item_row.html:50
|
||||
msgid "Delete item"
|
||||
msgstr "Eintrag löschen"
|
||||
|
||||
#: agenda/templates/agenda/base_agenda.html:43
|
||||
#: agenda/templates/agenda/base_agenda.html:38
|
||||
msgid "Show item"
|
||||
msgstr "Eintrag projizieren"
|
||||
|
||||
@ -492,7 +486,7 @@ msgstr "Version %d zugelassen"
|
||||
|
||||
#: application/models.py:109
|
||||
#, python-format
|
||||
msgctxt "Rejected means not permitted"
|
||||
msgctxt "Rejected meens not permittd"
|
||||
msgid "Version %d rejected"
|
||||
msgstr "Version %d verworfen"
|
||||
|
||||
@ -741,9 +735,10 @@ msgstr "Soll Version <b>%s</b> wirklich zurückgewiesen werden?"
|
||||
|
||||
#: application/views.py:563 participant/views.py:395
|
||||
msgid ""
|
||||
"The import function is available for the admin (without user profile) only."
|
||||
"The import function is available for the superuser (without user profile) "
|
||||
"only."
|
||||
msgstr ""
|
||||
"Die Importfunktion ist nur für den Admin (ohne Nutzerprofil) verfügbar."
|
||||
"Die Importfunktion ist nur für den 'superuser' (ohne Nutzerprofil) verfügbar."
|
||||
|
||||
#: application/views.py:594 application/views.py:598 application/views.py:604
|
||||
#: application/views.py:607 participant/views.py:464
|
||||
@ -826,7 +821,7 @@ msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: application/views.py:792 application/templates/application/view.html:217
|
||||
#: application/templates/application/view.html:247 config/models.py:131
|
||||
#: application/templates/application/view.html:247 config/models.py:133
|
||||
#: config/templates/config/version.html:5
|
||||
#: config/templates/config/version.html:8
|
||||
#: config/templates/config/version.html:11
|
||||
@ -1267,8 +1262,9 @@ msgid "No ballots available."
|
||||
msgstr "Keine Wahlgänge vorhanden."
|
||||
|
||||
#: application/templates/projector/ItemPoll.html:4
|
||||
#, fuzzy
|
||||
msgid "Poll about"
|
||||
msgstr "Abstimmung über"
|
||||
msgstr "Abstimmungsergebnis"
|
||||
|
||||
#: assignment/forms.py:35
|
||||
msgid "Nominate a participant"
|
||||
@ -1685,6 +1681,10 @@ msgstr "Startseite"
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: participant/__init__.py:3
|
||||
msgid "Participant"
|
||||
msgstr "Teilnehmer"
|
||||
|
||||
#: participant/forms.py:24
|
||||
msgid "Keep applications, try to reassign submitter"
|
||||
msgstr "Anträge beibehalten, versuchen Antragssteller erneut zuzuweisen"
|
||||
@ -1756,7 +1756,7 @@ msgstr "Mitarbeiter"
|
||||
msgid "Guest"
|
||||
msgstr "Gast"
|
||||
|
||||
#: participant/models.py:39 participant/views.py:608
|
||||
#: participant/models.py:39 participant/views.py:605
|
||||
#: participant/templates/participant/overview.html:29
|
||||
#: participant/templates/participant/overview.html:67
|
||||
msgid "Group"
|
||||
@ -1778,7 +1778,7 @@ msgstr "Nur zum Filtern der Benutzerliste."
|
||||
msgid "Typ"
|
||||
msgstr "Typ"
|
||||
|
||||
#: participant/models.py:46 participant/views.py:609
|
||||
#: participant/models.py:46 participant/views.py:606
|
||||
#: participant/templates/participant/overview.html:44
|
||||
#: participant/templates/participant/overview.html:69
|
||||
msgid "Committee"
|
||||
@ -1931,18 +1931,11 @@ msgstr "Soll das Passwort für <b>%s</b> wirklich zurückgesetzt werden?"
|
||||
|
||||
#: participant/views.py:571
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Installation was successfully! Use %(user)s (password: %(password)s) for "
|
||||
"first login.<br><strong>Important:</strong> Please change the password after "
|
||||
"first login! Otherwise this message still appears for everyone and could be "
|
||||
"a security risk."
|
||||
msgid "The password for the user %(user)s is %(password)s. Please change it"
|
||||
msgstr ""
|
||||
"Die Installation war erfolgreich! Bitte %(user)s (Passwort: %(password)s) "
|
||||
"für die erste Anmeldung verwenden.<br><strong>Wichtig:</strong> Bitte ändern "
|
||||
"Sie das Passwort direkt nach der erster Anmeldung! Andernfalls erscheint "
|
||||
"diese Nachricht für alle Teilnehmer/innen und wäre ein Sicherheitsrisiko."
|
||||
"Das Passwort für den Benutzer %(user)s ist %(password)s. Bitte ändere es"
|
||||
|
||||
#: participant/views.py:591
|
||||
#: participant/views.py:588
|
||||
#: participant/templates/participant/base_participant.html:12
|
||||
#: participant/templates/participant/overview.html:7
|
||||
#: participant/templates/participant/overview.html:17
|
||||
@ -1950,56 +1943,56 @@ msgstr ""
|
||||
msgid "Participants"
|
||||
msgstr "Teilnehmer/innen"
|
||||
|
||||
#: participant/views.py:604
|
||||
#: participant/views.py:601
|
||||
msgid "Participant-list"
|
||||
msgstr "Teilnehmerliste"
|
||||
|
||||
#: participant/views.py:605
|
||||
#: participant/views.py:602
|
||||
msgid "List of Participants"
|
||||
msgstr "Teilnehmerliste"
|
||||
|
||||
#: participant/views.py:608 participant/templates/participant/overview.html:66
|
||||
#: participant/views.py:605 participant/templates/participant/overview.html:66
|
||||
msgid "Last Name"
|
||||
msgstr "Nachname"
|
||||
|
||||
#: participant/views.py:608 participant/templates/participant/overview.html:65
|
||||
#: participant/views.py:605 participant/templates/participant/overview.html:65
|
||||
msgid "First Name"
|
||||
msgstr "Vorname"
|
||||
|
||||
#: participant/views.py:608 participant/templates/participant/overview.html:36
|
||||
#: participant/views.py:605 participant/templates/participant/overview.html:36
|
||||
#: participant/templates/participant/overview.html:68
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
#: participant/views.py:645
|
||||
#: participant/views.py:642
|
||||
msgid "Participant-passwords"
|
||||
msgstr "Teilnehmer-Passwoerter"
|
||||
|
||||
#: participant/views.py:664
|
||||
#: participant/views.py:661
|
||||
msgid "Account for OpenSlides"
|
||||
msgstr "Zugang für OpenSlides"
|
||||
|
||||
#: participant/views.py:666
|
||||
#: participant/views.py:663
|
||||
#, python-format
|
||||
msgid "for %s"
|
||||
msgstr "für %s"
|
||||
|
||||
#: participant/views.py:669
|
||||
#: participant/views.py:666
|
||||
#, python-format
|
||||
msgid "User: %s"
|
||||
msgstr "Nutzername: %s"
|
||||
|
||||
#: participant/views.py:671
|
||||
#: participant/views.py:668
|
||||
#, python-format
|
||||
msgid "Password: %s"
|
||||
msgstr "Passwort: %s"
|
||||
|
||||
#: participant/views.py:674
|
||||
#: participant/views.py:671
|
||||
#, python-format
|
||||
msgid "URL: %s"
|
||||
msgstr "URL: %s"
|
||||
|
||||
#: participant/views.py:719
|
||||
#: participant/views.py:716
|
||||
msgid "Participants settings successfully saved."
|
||||
msgstr "Teilnehmer/innen-Einstellungen wurden erfolgreich gespeichert."
|
||||
|
||||
@ -2187,6 +2180,11 @@ msgstr "Projektor"
|
||||
msgid "Overview"
|
||||
msgstr "Übersicht"
|
||||
|
||||
#: projector/templates/projector/base_projector.html:20
|
||||
#: templates/front_page.html:25
|
||||
msgid "Projector view"
|
||||
msgstr "Projektor-Ansicht"
|
||||
|
||||
#: projector/templates/projector/control.html:20
|
||||
msgid "Adjust projector view"
|
||||
msgstr "Projektor-Ansicht anpassen"
|
||||
|
@ -0,0 +1,3 @@
|
||||
from django.utils.translation import ugettext_noop
|
||||
|
||||
NAME = ugettext_noop('Participant')
|
@ -41,7 +41,7 @@
|
||||
$(this).hide("fast");
|
||||
});
|
||||
</script>
|
||||
<form method="post" action="{% url user_login %}">
|
||||
<form method="post" action="{% url user_login %}{% if next %}?next={{ next }}{% endif %}">
|
||||
{% csrf_token %}
|
||||
<table>
|
||||
<tr>
|
||||
|
@ -565,21 +565,22 @@ def reset_password(request, user_id):
|
||||
|
||||
|
||||
def login(request):
|
||||
extra_content = {}
|
||||
try:
|
||||
admin = User.objects.get(pk=1)
|
||||
if admin.check_password(config['admin_password']):
|
||||
first_time_message = _("Installation was successfully! Use %(user)s "
|
||||
extra_content['first_time_message'] = _(
|
||||
"Installation was successfully! Use %(user)s "
|
||||
"(password: %(password)s) for first login.<br>"
|
||||
"<strong>Important:</strong> Please change the password after "
|
||||
"first login! Otherwise this message still appears for everyone "
|
||||
"and could be a security risk.") % {
|
||||
'user': html_strong(admin.username),
|
||||
'password': html_strong(config['admin_password'])}
|
||||
else:
|
||||
first_time_message = None
|
||||
extra_content['next'] = reverse('password_change')
|
||||
except User.DoesNotExist:
|
||||
first_time_message = None
|
||||
return django_login(request, template_name='participant/login.html', extra_context={'first_time_message': first_time_message})
|
||||
pass
|
||||
return django_login(request, template_name='participant/login.html', extra_context=extra_content)
|
||||
|
||||
|
||||
def register_tab(request):
|
||||
|
Loading…
Reference in New Issue
Block a user