Merged (conflicts).

This commit is contained in:
Emanuel Schuetze 2013-01-05 15:29:57 +01:00
parent d671740966
commit 13cd52bd96
54 changed files with 239 additions and 248 deletions

10
.gitignore vendored
View File

@ -1,18 +1,16 @@
.venv/* .venv/*
openslides/.venv/
*.pyc *.pyc
*.swp *.swp
openslides/settings.py
database.db
*~ *~
extras/website/* settings.py
extras/website-old/* database.sqlite
# Package building
docs/_build/* docs/_build/*
*.egg-info *.egg-info
build/* build/*
dist/* dist/*
.DS_Store .DS_Store
settings.py
versiontools* versiontools*
# Unit test / coverage reports # Unit test / coverage reports

View File

@ -1,9 +1,9 @@
language: python language: python
python: python:
- "2.5"
- "2.6" - "2.6"
- "2.7" - "2.7"
install: install:
- easy_install https://www.djangoproject.com/download/1.5b2/tarball/
- pip install -r requirements.txt --use-mirrors - pip install -r requirements.txt --use-mirrors
- python extras/scripts/create_local_settings.py - python extras/scripts/create_local_settings.py
script: script:

View File

@ -18,7 +18,7 @@ I. Installation on GNU/Linux and MacOSX using the Python Package Index (PyPI)
1. Check requirements: 1. Check requirements:
Make sure that you have installed Python Programming Language 2 Make sure that you have installed Python Programming Language 2
(>= 2.5) on your system. (>= 2.6) on your system.
2. Setup a virtual environment with virtualenv (optional): 2. Setup a virtual environment with virtualenv (optional):
@ -65,7 +65,7 @@ II. Installation on GNU/Linux and MacOSX using the sources
OpenSlides requires following programs, which should be OpenSlides requires following programs, which should be
installed first: installed first:
+ Python Programming Language 2 (>= 2.5) + Python Programming Language 2 (>= 2.6)
+ virtualenv (>= 1.4.1) + virtualenv (>= 1.4.1)
+ ReportLab Toolkit + ReportLab Toolkit
+ Python Imaging Library (PIL) + Python Imaging Library (PIL)
@ -141,7 +141,7 @@ portable version you should run the following install steps.
The OpenSlides install requires following programs, which should be The OpenSlides install requires following programs, which should be
installed first: installed first:
+ Python Programming Language 2 (>= 2.5) + Python Programming Language 2 (>= 2.6)
+ Setuptools + Setuptools
a) Download and run 32bit MSI installer from http://www.python.org/: a) Download and run 32bit MSI installer from http://www.python.org/:

View File

@ -5,7 +5,7 @@
:license: GNU GPL, see LICENSE for more details. :license: GNU GPL, see LICENSE for more details.
""" """
VERSION = (1, 4, 0, 'alpha', 0) # During development it is the next release VERSION = (1, 4, 0, 'alpha', 1) # During development it is the next release
RELEASE = False RELEASE = False

View File

@ -14,8 +14,8 @@
<button class="button" type="submit"> <button class="button" type="submit">
<span class="icon ok">{% trans 'Save' %}</span> <span class="icon ok">{% trans 'Save' %}</span>
</button> </button>
<a href='{% url config_agenda %}'> <a href="{% url 'config_agenda' %}">
<button class="button" type="button" onclick="window.location='{% url config_agenda %}'"> <button class="button" type="button" onclick="window.location='{% url 'config_agenda' %}'">
<span class="icon cancel">{% trans 'Cancel' %}</span> <span class="icon cancel">{% trans 'Cancel' %}</span>
</button> </button>
</a> </a>

View File

@ -19,7 +19,7 @@
{% trans "New item" %} {% trans "New item" %}
{% endif %} {% endif %}
<small class="pull-right"> <small class="pull-right">
<a href="{% url item_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a> <a href="{% url 'item_overview' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
</small> </small>
</h1> </h1>
<form action="" method="post">{% csrf_token %} <form action="" method="post">{% csrf_token %}
@ -42,8 +42,8 @@
<button class="btn" type="submit" name="apply"> <button class="btn" type="submit" name="apply">
{% trans 'Apply' %} {% trans 'Apply' %}
</button> </button>
<a href='{% url item_overview %}'> <a href='{% url 'item_overview' %}'>
<button class="btn" type="button" onclick="window.location='{% url item_overview %}'"> <button class="btn" type="button" onclick="window.location='{% url 'item_overview' %}'">
{% trans 'Cancel' %}</span> {% trans 'Cancel' %}</span>
</button> </button>
</a> </a>

View File

@ -5,7 +5,7 @@
<td> <td>
<span class="close_link{% if item.closed %} closed{% endif %}"> <span class="close_link{% if item.closed %} closed{% endif %}">
{% if perms.agenda.can_manage_agenda %} {% if perms.agenda.can_manage_agenda %}
<a href="{% if item.closed %}{% url item_open item.id %}{% else %}{% url item_close item.id %}{% endif %}" title="{% trans 'Mark item as done' %}"> <a href="{% if item.closed %}{% url 'item_open' item.id %}{% else %}{% url 'item_close' item.id %}{% endif %}" title="{% trans 'Mark item as done' %}">
<span></span> <span></span>
</a> </a>
{% elif item.closed %} {% elif item.closed %}
@ -32,7 +32,7 @@
<td> <td>
<span style="width: 1px; white-space: nowrap;"> <span style="width: 1px; white-space: nowrap;">
{% if perms.projector.can_manage_projector %} {% if perms.projector.can_manage_projector %}
<a class="activate_link {% if item.active %}active{% endif %}" href="{% url projector_activate_slide item.sid %}" title="{% trans 'Activate item' %}"> <a class="activate_link {% if item.active %}active{% endif %}" href="{% url 'projector_activate_slide' item.sid %}" title="{% trans 'Activate item' %}">
<span></span> <span></span>
</a> </a>
{% endif %} {% endif %}
@ -40,7 +40,7 @@
<a href="{% model_url item 'edit' %}"><img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit item' %}"></a> <a href="{% model_url item 'edit' %}"><img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit item' %}"></a>
<a href="{% model_url item 'delete' %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete item' %}"></a> <a href="{% model_url item 'delete' %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete item' %}"></a>
{% if not item.is_leaf_node %} {% if not item.is_leaf_node %}
<a class="activate_link" href="{% url projector_activate_slide item.sid 'summary' %}"> <a class="activate_link" href="{% url 'projector_activate_slide' item.sid 'summary' %}">
<img src="{% static 'images/icons/summary.png' %}" title="{% trans 'Activate summary for this item' %}"> <img src="{% static 'images/icons/summary.png' %}" title="{% trans 'Activate summary for this item' %}">
</a> </a>
{% endif %} {% endif %}

View File

@ -48,7 +48,7 @@
<p>{% trans "Do you want to save the changed order of agenda items?" %}</p> <p>{% trans "Do you want to save the changed order of agenda items?" %}</p>
<p> <p>
<button class="btn" type="submit">{% trans 'Yes' %}</button> <button class="btn" type="submit">{% trans 'Yes' %}</button>
<a href="{% url item_overview %}" class="btn">{% trans 'No' %}</a> <a href="{% url 'item_overview' %}" class="btn">{% trans 'No' %}</a>
</p> </p>
</div> </div>
{% endif %} {% endif %}
@ -56,9 +56,9 @@
<h1>{% trans "Agenda" %} <h1>{% trans "Agenda" %}
<small class="pull-right"> <small class="pull-right">
{% if perms.agenda.can_manage_agenda %} {% if perms.agenda.can_manage_agenda %}
<a href="{% url item_new %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'New item' %}"><i class="icon-plus"></i> {% trans "New" %}</a> <a href="{% url 'item_new' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'New item' %}"><i class="icon-plus"></i> {% trans "New" %}</a>
{% endif %} {% endif %}
<a href="{% url print_agenda %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print agenda as PDF' %}"><i class="icon-print"></i> PDF</a> <a href="{% url 'print_agenda' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print agenda as PDF' %}"><i class="icon-print"></i> PDF</a>
</small> </small>
</h1> </h1>
@ -95,7 +95,7 @@
<td> <td>
{% if perms.projector.can_manage_projector %} {% if perms.projector.can_manage_projector %}
<span> <span>
<a class="activate_link{% if active_sid == 'agenda' %} active{% endif %}" href="{% url projector_activate_slide 'agenda' %}" title="{% trans 'Activate item' %}"> <a class="activate_link{% if active_sid == 'agenda' %} active{% endif %}" href="{% url 'projector_activate_slide' 'agenda' %}" title="{% trans 'Activate item' %}">
<span></span> <span></span>
</a> </a>
</span> </span>

View File

@ -4,10 +4,10 @@
<ul style="line-height: 180%"> <ul style="line-height: 180%">
<li class="{% if agenda.active %}activeline{% endif %}"> <li class="{% if agenda.active %}activeline{% endif %}">
<a href="{% url projector_activate_slide agenda.key %}" class="activate_link {% if agenda.active %}active{% endif %}"> <a href="{% url 'projector_activate_slide' agenda.key %}" class="activate_link {% if agenda.active %}active{% endif %}">
<div></div> <div></div>
</a> </a>
<a href="{% url projctor_preview_slide agenda.key %}" title="{% trans 'Preview' %}" class="icon preview right"> <a href="{% url 'projctor_preview_slide' agenda.key %}" title="{% trans 'Preview' %}" class="icon preview right">
<span></span> <span></span>
</a> </a>
{{ agenda.name }} {{ agenda.name }}
@ -17,7 +17,7 @@
<ul style="line-height: 180%"> <ul style="line-height: 180%">
{% for item in items %} {% for item in items %}
<li class="{% if item.active %}activeline{% endif %}"> <li class="{% if item.active %}activeline{% endif %}">
<a href="{% url projector_activate_slide item.sid %}" class="activate_link {% if item.active %}active{% endif %}"> <a href="{% url 'projector_activate_slide' item.sid %}" class="activate_link {% if item.active %}active{% endif %}">
<div></div> <div></div>
</a> </a>
<a href="{% model_url item 'delete' %}" title="{% trans 'Delete' %}" class="icon delete right"> <a href="{% model_url item 'delete' %}" title="{% trans 'Delete' %}" class="icon delete right">
@ -26,11 +26,11 @@
<a href="{% model_url item 'edit' %}" title="{% trans 'Edit' %}" class="icon edit right"> <a href="{% model_url item 'edit' %}" title="{% trans 'Edit' %}" class="icon edit right">
<span></span> <span></span>
</a> </a>
<a href="{% url projctor_preview_slide item.sid %}" title="{% trans 'Preview' %}" class="icon preview right"> <a href="{% url 'projctor_preview_slide' item.sid %}" title="{% trans 'Preview' %}" class="icon preview right">
<span></span> <span></span>
</a> </a>
{% if not item.is_leaf_node %} {% if not item.is_leaf_node %}
<a class="activate_link right" href="{% url projector_activate_slide item.sid 'summary' %}"> <a class="activate_link right" href="{% url 'projector_activate_slide' item.sid 'summary' %}">
<img src="{% static 'images/icons/summary.png' %}" <img src="{% static 'images/icons/summary.png' %}"
title="{% trans 'Activate summary for this item' %}" title="{% trans 'Activate summary for this item' %}"
style="padding-right: 2px;"> style="padding-right: 2px;">

View File

@ -14,8 +14,8 @@
<button class="button" type="submit"> <button class="button" type="submit">
<span class="icon ok">{% trans 'Save' %}</span> <span class="icon ok">{% trans 'Save' %}</span>
</button> </button>
<a href='{% url config_assignment %}'> <a href="{% url 'config_assignment' %}">
<button class="button" type="button" onclick="window.location='{% url config_assignment %}'"> <button class="button" type="button" onclick="window.location='{% url 'config_assignment' %}'">
<span class="icon cancel">{% trans 'Cancel' %}</span> <span class="icon cancel">{% trans 'Cancel' %}</span>
</button> </button>
</a> </a>

View File

@ -19,7 +19,7 @@
{% trans "New election" %} {% trans "New election" %}
{% endif %} {% endif %}
<small class="pull-right"> <small class="pull-right">
<a href="{% url assignment_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a> <a href="{% url 'assignment_overview' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
</small> </small>
</h1> </h1>
@ -27,7 +27,7 @@
{% include "form.html" %} {% include "form.html" %}
<p> <p>
{% include "formbuttons_saveapply.html" %} {% include "formbuttons_saveapply.html" %}
<a href='{% url assignment_overview %}' class="btn"> <a href='{% url 'assignment_overview' %}' class="btn">
{% trans 'Cancel' %} {% trans 'Cancel' %}
</a> </a>
</p> </p>

View File

@ -10,10 +10,10 @@
<h1>{% trans "Elections" %} <h1>{% trans "Elections" %}
<small class="pull-right"> <small class="pull-right">
{% if perms.assignment.can_manage_assignment %} {% if perms.assignment.can_manage_assignment %}
<a href="{% url assignment_new %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'New election' %}"><i class="icon-plus"></i> {% trans "New" %}</a> <a href="{% url 'assignment_new' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'New election' %}"><i class="icon-plus"></i> {% trans "New" %}</a>
{% endif %} {% endif %}
{% if perms.assignment.can_see_assignment %} {% if perms.assignment.can_see_assignment %}
<a href="{% url print_assignment %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print all elections as PDF' %}"><i class="icon-print"></i> PDF</a> <a href="{% url 'print_assignment' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print all elections as PDF' %}"><i class="icon-print"></i> PDF</a>
{% endif %} {% endif %}
</small> </small>
</h1> </h1>
@ -41,7 +41,7 @@
{% for assignment in assignments %} {% for assignment in assignments %}
<tr class="{% cycle '' 'odd' %} <tr class="{% cycle '' 'odd' %}
{% if assignment.active %}activeline{% endif %}"> {% if assignment.active %}activeline{% endif %}">
<td><a href="{% url assignment_view assignment.id %}">{{ assignment }}</a></td> <td><a href="{% url 'assignment_view' assignment.id %}">{{ assignment }}</a></td>
<td> <td>
{% blocktrans with posts=assignment.posts context "Number of searched candidates for an election"%}posts: {{ posts }}{% endblocktrans %} {% blocktrans with posts=assignment.posts context "Number of searched candidates for an election"%}posts: {{ posts }}{% endblocktrans %}
{% if assignment.status != 'fin' %} {% if assignment.status != 'fin' %}
@ -53,15 +53,15 @@
<td> <td>
<span style="width: 1px; white-space: nowrap;"> <span style="width: 1px; white-space: nowrap;">
{% if perms.projector.can_manage_projector %} {% if perms.projector.can_manage_projector %}
<a class="activate_link {% if assignment.active %}active{% endif %}" href="{% url projector_activate_slide assignment.sid %}" title="{% trans 'Activate election' %}"> <a class="activate_link {% if assignment.active %}active{% endif %}" href="{% url 'projector_activate_slide' assignment.sid %}" title="{% trans 'Activate election' %}">
<span></span> <span></span>
</a> </a>
{% endif %} {% endif %}
{% if perms.assignment.can_manage_assignment %} {% if perms.assignment.can_manage_assignment %}
<a href="{% url assignment_edit assignment.id %}"><img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit election' %}"></a> <a href="{% url 'assignment_edit' assignment.id %}"><img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit election' %}"></a>
<a href="{% url assignment_delete assignment.id %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete election' %}"></a> <a href="{% url 'assignment_delete' assignment.id %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete election' %}"></a>
{% endif %} {% endif %}
<a href="{% url print_assignment assignment.id %}" title="{% trans 'Election as PDF' %}"><img src="{% static 'images/icons/pdf.png' %}"></a> <a href="{% url 'print_assignment' assignment.id %}" title="{% trans 'Election as PDF' %}"><img src="{% static 'images/icons/pdf.png' %}"></a>
</span> </span>
</td> </td>
</tr> </tr>

View File

@ -54,8 +54,8 @@
</table> </table>
<p> <p>
<a href='{% url print_assignment_poll poll.id %}'> <a href="{% url 'print_assignment_poll' poll.id %}">
<button class="button" type="button" onclick="window.location='{% url print_assignment_poll poll.id %}'"> <button class="button" type="button" onclick="window.location='{% url 'print_assignment_poll' poll.id %}'">
<span class="icon pdf">{% trans 'Ballot paper as PDF' %}</span> <span class="icon pdf">{% trans 'Ballot paper as PDF' %}</span>
</button> </button>
</a> </a>
@ -68,8 +68,8 @@
<button class="button" type="submit" name="apply"> <button class="button" type="submit" name="apply">
<span class="icon apply">{% trans 'Apply' %}</span> <span class="icon apply">{% trans 'Apply' %}</span>
</button> </button>
<a href='{% url assignment_view poll.assignment.id %}'> <a href="{% url 'assignment_view' poll.assignment.id %}">
<button class="button" type="button" onclick="window.location='{% url assignment_view poll.assignment.id %}'"> <button class="button" type="button" onclick="window.location='{% url 'assignment_view' poll.assignment.id %}'">
<span class="icon cancel">{% trans 'Cancel' %}</span> <span class="icon cancel">{% trans 'Cancel' %}</span>
</button> </button>
</a> </a>

View File

@ -16,9 +16,9 @@
{% block content %} {% block content %}
<h1>{{ assignment }} <h1>{{ assignment }}
<small class="pull-right"> <small class="pull-right">
<a href="{% url assignment_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a> <a href="{% url 'assignment_overview' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
{% if perms.projector.can_manage_projector %} {% if perms.projector.can_manage_projector %}
<a href="{% url projector_activate_slide assignment.sid %}" class="btn btn-primary btn-mini" title="{% trans 'Show election' %}"><i class="icon-facetime-video icon-white"></i></a> <a href="{% url 'projector_activate_slide' assignment.sid %}" class="btn btn-primary btn-mini" title="{% trans 'Show election' %}"><i class="icon-facetime-video icon-white"></i></a>
{% endif %} {% endif %}
</small> </small>
</h1> </h1>
@ -43,14 +43,14 @@
{{ person }} {{ person }}
{% if perms.assignment.can_manage_assignment %} {% if perms.assignment.can_manage_assignment %}
{% if assignment.status == "sea" or assignment.status == "vot" %} {% if assignment.status == "sea" or assignment.status == "vot" %}
<a href="{% url assignment_delother assignment.id person.person_id %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Remove candidate' %}"><i class="icon-remove"></i></a> <a href="{% url 'assignment_delother' assignment.id person.person_id %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Remove candidate' %}"><i class="icon-remove"></i></a>
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if person in assignment.elected %} {% if person in assignment.elected %}
| <b>{% trans "elected" %}</b> | <b>{% trans "elected" %}</b>
{% if perms.assignment.can_manage_assignment %} {% if perms.assignment.can_manage_assignment %}
{% if assignment.status == "sea" or assignment.status == "vot" %} {% if assignment.status == "sea" or assignment.status == "vot" %}
<a href="{% url assignment_user_not_elected assignment.id person.person_id %}"><img src="{% static 'images/icons/dialog-cancel.png' %}" title="{% trans 'Mark candidate as not elected' %}"></a> <a href="{% url 'assignment_user_not_elected' assignment.id person.person_id %}"><img src="{% static 'images/icons/dialog-cancel.png' %}" title="{% trans 'Mark candidate as not elected' %}"></a>
{% endif %} {% endif %}
{% endif %} {% endif %}
{% endif %} {% endif %}
@ -65,11 +65,11 @@
{% if perms.assignment.can_nominate_self %} {% if perms.assignment.can_nominate_self %}
<p> <p>
{% if user_is_candidate %} {% if user_is_candidate %}
<a href='{% url assignment_delrun assignment.id %}' class="btn btn-mini"> <a href='{% url 'assignment_delrun' assignment.id %}' class="btn btn-mini">
<i class="icon-remove"></i> {% trans 'Withdraw self candidature' %} <i class="icon-remove"></i> {% trans 'Withdraw self candidature' %}
</a> </a>
{% else %} {% else %}
<a href='{% url assignment_run assignment.id %}' class="btn btn-mini"> <a href='{% url 'assignment_run' assignment.id %}' class="btn btn-mini">
<i class="icon-plus"></i> {% trans 'Self candidature' %} <i class="icon-plus"></i> {% trans 'Self candidature' %}
</a> </a>
{% endif %} {% endif %}
@ -82,12 +82,11 @@
{{ field }} {{ field }}
<button class="btn btn-primary" type="submit">{% trans 'Apply' %}</button> <button class="btn btn-primary" type="submit">{% trans 'Apply' %}</button>
{% if perms.participant.can_see_participant and perms.participant.can_manage_participant %} {% if perms.participant.can_see_participant and perms.participant.can_manage_participant %}
<a href="{% url user_new %}" target="_blank" class="btn"><img src="{% static 'images/icons/add-user.png' %}" title="{% trans 'Add new participant' %}"></a> <a href="{% url 'user_new' %}" target="_blank" class="btn"><img src="{% static 'images/icons/add-user.png' %}" title="{% trans 'Add new participant' %}"></a>
{% endif %} {% endif %}
</div> </div>
{% endfor %} {% endfor %}
<p> <p>
</p> </p>
{% endif %} {% endif %}
</form> </form>
@ -100,7 +99,7 @@
<ul> <ul>
{% for person in blocked_candidates %} {% for person in blocked_candidates %}
<li> <li>
{{ person }}<a href="{% url assignment_delother assignment.id person.person_id %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Remove candidate' %}"></a> {{ person }}<a href="{% url 'assignment_delother' assignment.id person.person_id %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Remove candidate' %}"></a>
</li> </li>
{% empty %} {% empty %}
<li>{% trans "No blocked candidates available." %}</li> <li>{% trans "No blocked candidates available." %}</li>
@ -130,18 +129,18 @@
{% if perms.assignment.can_manage_assignment %} {% if perms.assignment.can_manage_assignment %}
<br> <br>
<a class="publish_link {% if poll.published %}published{% endif %}" <a class="publish_link {% if poll.published %}published{% endif %}"
href="{% url assignment_poll_publish_status poll.id %}" href="{% url 'assignment_poll_publish_status' poll.id %}"
title="{% trans 'Publish/unpublish results' %}"> title="{% trans 'Publish/unpublish results' %}">
<span></span> <span></span>
</a> </a>
<a href="{% url assignment_poll_view poll.id %}" class="btn btn-mini" title="{% trans 'Edit' %}"><i class="icon-pencil"></i></a> <a href="{% url 'assignment_poll_view' poll.id %}" class="btn btn-mini" title="{% trans 'Edit' %}"><i class="icon-pencil"></i></a>
<a href="{% url assignment_poll_delete poll.id %}" class="btn btn-mini" title="{% trans 'Delete' %}"><i class="icon-remove"></i></a> <a href="{% url 'assignment_poll_delete' poll.id %}" class="btn btn-mini" title="{% trans 'Delete' %}"><i class="icon-remove"></i></a>
{% endif %} {% endif %}
</th> </th>
{% endfor %} {% endfor %}
{% if assignment.candidates and perms.assignment.can_manage_assignment and assignment.status == "vot" %} {% if assignment.candidates and perms.assignment.can_manage_assignment and assignment.status == "vot" %}
<th class="span1 nobr"> <th class="span1 nobr">
<a href='{% url assignment_gen_poll assignment.id %}' class="btn btn-mini"> <a href="{% url 'assignment_gen_poll' assignment.id %}" class="btn btn-mini">
<i class="icon-plus"></i> {% trans 'New ballot' %} <i class="icon-plus"></i> {% trans 'New ballot' %}
</a> </a>
</th> </th>
@ -152,7 +151,7 @@
<td> <td>
{% if candidate in assignment.elected %} {% if candidate in assignment.elected %}
{% if perms.assignment.can_manage_assignment %} {% if perms.assignment.can_manage_assignment %}
<a class="election_link elected" href='{% url assignment_user_not_elected assignment.id candidate.person_id %}'></a> <a class="election_link elected" href="{% url 'assignment_user_not_elected assignment.id' candidate.person_id %}"></a>
{% else %} {% else %}
<a class="elected"> <a class="elected">
<img src="{% static 'images/icons/voting-yes.png' %}" title="{% trans 'Candidate is elected' %}"> <img src="{% static 'images/icons/voting-yes.png' %}" title="{% trans 'Candidate is elected' %}">
@ -160,7 +159,7 @@
{% endif %} {% endif %}
{% else %} {% else %}
{% if perms.assignment.can_manage_assignment %} {% if perms.assignment.can_manage_assignment %}
<a class="election_link" href='{% url assignment_user_elected assignment.id candidate.person_id %}'></a> <a class="election_link" href="{% url 'assignment_user_elected' assignment.id candidate.person_id %}"></a>
{% endif %} {% endif %}
{% endif %} {% endif %}
{{ candidate }} {{ candidate }}
@ -222,7 +221,7 @@
<i>{% trans "No ballots available." %}</i> <i>{% trans "No ballots available." %}</i>
{% if assignment.candidates and perms.assignment.can_manage_assignment and assignment.status == "vot" %} {% if assignment.candidates and perms.assignment.can_manage_assignment and assignment.status == "vot" %}
<p> <p>
<a href='{% url assignment_gen_poll assignment.id %}' class="btn"> <a href='{% url 'assignment_gen_poll' assignment.id %}' class="btn">
<i class="icon-plus"></i> {% trans 'New ballot' %} <i class="icon-plus"></i> {% trans 'New ballot' %}
</a> </a>
</p> </p>
@ -244,15 +243,15 @@
<div class="well"> <div class="well">
<h4>{% trans "Change status" %}:</h4> <h4>{% trans "Change status" %}:</h4>
<label class="radio"> <label class="radio">
<input type="radio" name="status" onclick="window.location.href='{% url assignment_set_status assignment.id 'sea' %}';" <input type="radio" name="status" onclick="window.location.href='{% url 'assignment_set_status' assignment.id 'sea' %}';"
{% if 'sea' in assignment.status %}checked{% endif %}>{% trans 'Searching for candidates' %} {% if 'sea' in assignment.status %}checked{% endif %}>{% trans 'Searching for candidates' %}
</label> </label>
<label class="radio"> <label class="radio">
<input type="radio" name="status" onclick="window.location.href='{% url assignment_set_status assignment.id 'vot' %}';" <input type="radio" name="status" onclick="window.location.href='{% url 'assignment_set_status' assignment.id 'vot' %}';"
{% if 'vot' in assignment.status %}checked{% endif %}>{% trans 'Voting' %}<br> {% if 'vot' in assignment.status %}checked{% endif %}>{% trans 'Voting' %}<br>
</label> </label>
<label class="radio"> <label class="radio">
<input type="radio" name="status" onclick="window.location.href='{% url assignment_set_status assignment.id 'fin' %}';" <input type="radio" name="status" onclick="window.location.href='{% url 'assignment_set_status' assignment.id 'fin' %}';"
{% if 'fin' in assignment.status %}checked{% endif %}>{% trans 'Finished' %} {% if 'fin' in assignment.status %}checked{% endif %}>{% trans 'Finished' %}
</label> </label>
</div> <!--/well--> </div> <!--/well-->

View File

@ -5,7 +5,7 @@
<ul style="line-height: 180%"> <ul style="line-height: 180%">
{% for assignment in assignments %} {% for assignment in assignments %}
<li class="{% if assignment.active %}activeline{% endif %}"> <li class="{% if assignment.active %}activeline{% endif %}">
<a href="{% url projector_activate_slide assignment.sid %}" class="activate_link {% if assignment.active %}active{% endif %}"> <a href="{% url 'projector_activate_slide' assignment.sid %}" class="activate_link {% if assignment.active %}active{% endif %}">
<div></div> <div></div>
</a> </a>
<a href="{% model_url assignment 'delete' %}" title="{% trans 'Delete' %}" class="icon delete right"> <a href="{% model_url assignment 'delete' %}" title="{% trans 'Delete' %}" class="icon delete right">
@ -14,7 +14,7 @@
<a href="{% model_url assignment 'edit' %}" title="{% trans 'Edit' %}" class="icon edit right"> <a href="{% model_url assignment 'edit' %}" title="{% trans 'Edit' %}" class="icon edit right">
<span></span> <span></span>
</a> </a>
<a href="{% url projctor_preview_slide assignment.sid %}" title="{% trans 'Preview' %}" class="icon preview right"> <a href="{% url 'projctor_preview_slide' assignment.sid %}" title="{% trans 'Preview' %}" class="icon preview right">
<span></span> <span></span>
</a> </a>
<a href="{% model_url assignment 'view' %}">{{ assignment }}</a> <a href="{% model_url assignment 'view' %}">{{ assignment }}</a>

View File

@ -57,8 +57,8 @@
<button class="button" type="submit"> <button class="button" type="submit">
<span class="icon ok">{% trans 'Save' %}</span> <span class="icon ok">{% trans 'Save' %}</span>
</button> </button>
<a href='{% url config_general %}'> <a href="{% url 'config_general' %}">
<button class="button" type="button" onclick="window.location='{% url config_general %}'"> <button class="button" type="button" onclick="window.location='{% url 'config_general' %}'">
<span class="icon cancel">{% trans 'Cancel' %}</span> <span class="icon cancel">{% trans 'Cancel' %}</span>
</button> </button>
</a> </a>

View File

@ -88,12 +88,12 @@ TEMPLATE_LOADERS = (
) )
MIDDLEWARE_CLASSES = ( MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfViewMiddleware',
'openslides.participant.middleware.AuthenticationMiddleware', 'openslides.participant.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.locale.LocaleMiddleware',
) )
ROOT_URLCONF = 'openslides.urls' ROOT_URLCONF = 'openslides.urls'

View File

@ -10,9 +10,6 @@
:license: GNU GPL, see LICENSE for more details. :license: GNU GPL, see LICENSE for more details.
""" """
# for python 2.5 support
from __future__ import with_statement
import base64 import base64
import ctypes import ctypes
import optparse import optparse

View File

@ -5,17 +5,17 @@
{% load staticfiles %} {% load staticfiles %}
{% block submenu %} {% block submenu %}
{% url motion_overview as url_motionoverview %} {% url 'motion_overview' as url_motionoverview %}
<h4>{% trans "Motions" %}</h4> <h4>{% trans "Motions" %}</h4>
<ul> <ul>
<li class="{% if request.path == url_motionoverview %}selected{% endif %}"><a href="{% url motion_overview %}">{% trans "All motions" %}</a></li> <li class="{% if request.path == url_motionoverview %}selected{% endif %}"><a href="{% url 'motion_overview' %}">{% trans "All motions" %}</a></li>
{% if perms.motion.can_create_motion or perms.motion.can_manage_motion %} {% if perms.motion.can_create_motion or perms.motion.can_manage_motion %}
<li class="{% active request '/motion/new' %}"><a href="{% url motion_new %}">{% trans "New motion" %}</a></li> <li class="{% active request '/motion/new' %}"><a href="{% url 'motion_new' %}">{% trans "New motion" %}</a></li>
{% endif %} {% endif %}
{% if perms.motion.can_manage_motion %} {% if perms.motion.can_manage_motion %}
<li class="{% active request '/motion/import' %}"><a href="{% url motion_import %}">{% trans 'Import motions' %}</a></li> <li class="{% active request '/motion/import' %}"><a href="{% url 'motion_import' %}">{% trans 'Import motions' %}</a></li>
{% endif %} {% endif %}
<li><a href="{% url print_motions %}"><img src="{% static 'images/icons/pdf.png' %}"> {% trans 'All motions as PDF' %}</a></li> <li><a href="{% url 'print_motions' %}"><img src="{% static 'images/icons/pdf.png' %}"> {% trans 'All motions as PDF' %}</a></li>
</ul> </ul>
{# second submenu #} {# second submenu #}
@ -30,35 +30,35 @@
</h3> </h3>
<ul> <ul>
{# view motion #} {# view motion #}
{% url motion_view motion.id as url_motionview %} {% url 'motion_view' motion.id as url_motionview %}
<li class="{% if request.path == url_motionview %}selected{% endif %}"><a href="{% url motion_view motion.id %}">{% trans 'View motion' %}</a></li> <li class="{% if request.path == url_motionview %}selected{% endif %}"><a href="{% url 'motion_view' motion.id %}">{% trans 'View motion' %}</a></li>
{# edit motion #} {# edit motion #}
{% if "edit" in actions %} {% if "edit" in actions %}
{% url motion_edit motion.id as url_motionedit %} {% url 'motion_edit' motion.id as url_motionedit %}
<li class="{% if request.path == url_motionedit %}selected{% endif %}"><a href="{% url motion_edit motion.id %}"><img src="{% static 'images/icons/edit.png' %}"> {% trans 'Edit motion' %}</a></li> <li class="{% if request.path == url_motionedit %}selected{% endif %}"><a href="{% url 'motion_edit' motion.id %}"><img src="{% static 'images/icons/edit.png' %}"> {% trans 'Edit motion' %}</a></li>
{% endif %} {% endif %}
{# delete motion #} {# delete motion #}
{% if "delete" in actions %} {% if "delete" in actions %}
<li><a href="{% url motion_delete motion.id %}"><img src="{% static 'images/icons/delete.png' %}"> {% trans 'Delete motion' %}</a></li> <li><a href="{% url 'motion_delete' motion.id %}"><img src="{% static 'images/icons/delete.png' %}"> {% trans 'Delete motion' %}</a></li>
{% endif %} {% endif %}
{# PDF #} {# PDF #}
<li><a href="{% url print_motion motion.id %}"><img src="{% static 'images/icons/pdf.png' %}"> {% trans 'Motion as PDF' %}</a></li> <li><a href="{% url 'print_motion' motion.id %}"><img src="{% static 'images/icons/pdf.png' %}"> {% trans 'Motion as PDF' %}</a></li>
{# activate and polls #} {# activate and polls #}
{% if perms.projector.can_manage_projector %} {% if perms.projector.can_manage_projector %}
<li> <li>
<a class="activate_link {% if item.active %}active{% endif %}" href="{% url projector_activate_slide motion.sid %}"><img src="{% static 'images/icons/projector.png' %}"> {% trans 'Show Motion' %}</a> <a class="activate_link {% if item.active %}active{% endif %}" href="{% url 'projector_activate_slide' motion.sid %}"><img src="{% static 'images/icons/projector.png' %}"> {% trans 'Show Motion' %}</a>
</li> </li>
{% endif %} {% endif %}
{% if perms.motion.can_manage_motion %} {% if perms.motion.can_manage_motion %}
{% for poll in motion.polls %} {% for poll in motion.polls %}
{% url motion_poll_view poll.id as url_motionpollview %} {% url 'motion_poll_view' poll.id as url_motionpollview %}
<li class="{% if request.path == url_motionpollview %}selected{% endif %}"><a href="{% url motion_poll_view poll.id %}"><img src="{% static 'images/icons/edit.png' %}"> {{ forloop.counter }}. {% trans "Vote" %}</a></li> <li class="{% if request.path == url_motionpollview %}selected{% endif %}"><a href="{% url 'motion_poll_view' poll.id %}"><img src="{% static 'images/icons/edit.png' %}"> {{ forloop.counter }}. {% trans "Vote" %}</a></li>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{# Agenda Item #} {# Agenda Item #}
{% if perms.agenda.can_manage_agenda %} {% if perms.agenda.can_manage_agenda %}
<li> <li>
<a href="{% url motion_create_agenda motion.id %}">{% trans 'New agenda item' %}</a> <a href="{% url 'motion_create_agenda' motion.id %}">{% trans 'New agenda item' %}</a>
</li> </li>
{% endif %} {% endif %}
</ul> </ul>

View File

@ -14,8 +14,8 @@
<button class="button" type="submit"> <button class="button" type="submit">
<span class="icon ok">{% trans 'Save' %}</span> <span class="icon ok">{% trans 'Save' %}</span>
</button> </button>
<a href='{% url config_motion %}'> <a href="{% url 'config_motion' %}">
<button class="button" type="button" onclick="window.location='{% url config_motion %}'"> <button class="button" type="button" onclick="window.location='{% url 'config_motion' %}'">
<span class="icon cancel">{% trans 'Cancel' %}</span> <span class="icon cancel">{% trans 'Cancel' %}</span>
</button> </button>
</a> </a>

View File

@ -19,7 +19,7 @@
{% trans "New motion" %} {% trans "New motion" %}
{% endif %} {% endif %}
<small class="pull-right"> <small class="pull-right">
<a href="{% url motion_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a> <a href="{% url 'motion_overview' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
</small> </small>
</h1> </h1>
<form action="" method="post">{% csrf_token %} <form action="" method="post">{% csrf_token %}
@ -43,9 +43,9 @@
<button class="btn" type="submit" name="apply"> <button class="btn" type="submit" name="apply">
{% trans 'Apply' %} {% trans 'Apply' %}
</button> </button>
<a href='{% url motion_overview %}'> <a href="{% url 'motion_overview' %}" class="btn">
<button class="btn" type="button" onclick="window.location='{% url motion_overview %}'">
{% trans 'Cancel' %} {% trans 'Cancel' %}
</a>
</button> </button>
</a> </a>
</div> </div>

View File

@ -7,7 +7,7 @@
{% block content %} {% block content %}
<h1>{% trans "Import motions" %} <h1>{% trans "Import motions" %}
<small class="pull-right"> <small class="pull-right">
<a href="{% url motion_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a> <a href="{% url 'motion_overview' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
</small> </small>
</h1> </h1>
@ -40,7 +40,7 @@
<button class="btn btn-primary" type="submit"> <button class="btn btn-primary" type="submit">
{% trans 'Import' %} {% trans 'Import' %}
</button> </button>
<a href='{% url motion_overview %}' class="btn"> <a href="{% url 'motion_overview' %}" class="btn">
{% trans 'Cancel' %} {% trans 'Cancel' %}
</a> </a>
</div> </div>

View File

@ -11,12 +11,12 @@
{% trans "Motions" %} {% trans "Motions" %}
<small class="pull-right"> <small class="pull-right">
{% if perms.motion.can_create_motion %} {% if perms.motion.can_create_motion %}
<a href="{% url motion_new %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'New motion' %}"><i class="icon-plus"></i> {% trans "New" %}</a> <a href="{% url 'motion_new' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'New motion' %}"><i class="icon-plus"></i> {% trans "New" %}</a>
{% endif %} {% endif %}
{% if perms.motion.can_manage_motion %} {% if perms.motion.can_manage_motion %}
<a href="{% url motion_import %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Import motions' %}"><i class="icon-share-alt"></i> {% trans 'Import' %}</a> <a href="{% url 'motion_import' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Import motions' %}"><i class="icon-share-alt"></i> {% trans 'Import' %}</a>
{% endif %} {% endif %}
<a href="{% url print_motions %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print all motions as PDF' %}"><i class="icon-print"></i> PDF</a> <a href="{% url 'print_motions' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print all motions as PDF' %}"><i class="icon-print"></i> PDF</a>
</small> </small>
</h1> </h1>
@ -64,7 +64,7 @@
<tr class="{% cycle '' 'odd' %} <tr class="{% cycle '' 'odd' %}
{% if motion.active %}activeline{% endif %}"> {% if motion.active %}activeline{% endif %}">
<td>{% if motion.number %}{{ motion.number }}{% else %}-{% endif %}</td> <td>{% if motion.number %}{{ motion.number }}{% else %}-{% endif %}</td>
<td><a href="{% url motion_view motion.id %}">{{ motion.public_version.title }}</a></td> <td><a href="{% url 'motion_view' motion.id %}">{{ motion.public_version.title }}</a></td>
{% if min_supporters > 0 %} {% if min_supporters > 0 %}
<td>{{ motion.count_supporters }}</td> <td>{{ motion.count_supporters }}</td>
{% endif %} {% endif %}
@ -81,17 +81,17 @@
<td> <td>
<span style="width: 1px; white-space: nowrap;"> <span style="width: 1px; white-space: nowrap;">
{% if perms.projector.can_manage_projector %} {% if perms.projector.can_manage_projector %}
<a class="activate_link {% if motion.active %}active{% endif %}" href="{% url projector_activate_slide motion.sid %}" title="{% trans 'Activate motion' %}"> <a class="activate_link {% if motion.active %}active{% endif %}" href="{% url 'projector_activate_slide' motion.sid %}" title="{% trans 'Activate motion' %}">
<span></span> <span></span>
</a> </a>
{% endif %} {% endif %}
{% if perms.motion.can_manage_motion %} {% if perms.motion.can_manage_motion %}
<a href="{% url motion_edit motion.id %}"><img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit motion' %}"></a> <a href="{% url 'motion_edit' motion.id %}"><img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit motion' %}"></a>
{% if "delete" in useractions %} {% if "delete" in useractions %}
<a href="{% url motion_delete motion.id %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete motion' %}"></a> <a href="{% url 'motion_delete' motion.id %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete motion' %}"></a>
{% endif %} {% endif %}
{% endif %} {% endif %}
<a href="{% url print_motion motion.id %}" title="{% trans 'Motion as PDF' %}"><img src="{% static 'images/icons/pdf.png' %}"></a> <a href="{% url 'print_motion' motion.id %}" title="{% trans 'Motion as PDF' %}"><img src="{% static 'images/icons/pdf.png' %}"></a>
</span> </span>
</td> </td>
</tr> </tr>

View File

@ -15,7 +15,7 @@
</small> </small>
<small class="pull-right"> <small class="pull-right">
<div class="btn-toolbar"> <div class="btn-toolbar">
<a href="{% url motion_view motion.id %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to motion" %}</a> <a href="{% url 'motion_view' motion.id %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to motion" %}</a>
<div class="btn-group"> <div class="btn-group">
<a data-toggle="dropdown" href="#" class="btn btn-mini dropdown-toggle"> <a data-toggle="dropdown" href="#" class="btn btn-mini dropdown-toggle">
{% trans 'More actions' %} {% trans 'More actions' %}
@ -24,12 +24,12 @@
<ul class="dropdown-menu pull-right"> <ul class="dropdown-menu pull-right">
<!-- delete --> <!-- delete -->
{% if "delete" in actions %} {% if "delete" in actions %}
<li><a href="{% url motion_poll_delete poll.id %}"><i class="icon-remove"></i> {% trans 'Delete Vote' %}</a></li> <li><a href="{% url 'motion_poll_delete' poll.id %}"><i class="icon-remove"></i> {% trans 'Delete Vote' %}</a></li>
{% endif %} {% endif %}
<!-- activate projector --> <!-- activate projector -->
{% if perms.projector.can_manage_projector %} {% if perms.projector.can_manage_projector %}
<li> <li>
<a class="activate_link {% if item.active %}active{% endif %}" href="{% url projector_activate_slide motion.sid %}"><i class="icon-facetime-video"></i> {% trans 'Show motion' %}</a> <a class="activate_link {% if item.active %}active{% endif %}" href="{% url 'projector_activate_slide' motion.sid %}"><i class="icon-facetime-video"></i> {% trans 'Show motion' %}</a>
</li> </li>
{% endif %} {% endif %}
</ul> </ul>
@ -66,7 +66,7 @@
{{ post_form }} {{ post_form }}
<!-- ballot paper button --> <!-- ballot paper button -->
<p> <p>
<a href='{% url print_motion_poll poll.id %}' class="btn"> <a href="{% url 'print_motion_poll' poll.id %}" class="btn">
<i class="icon-print"></i> {% trans 'Ballot paper as PDF' %} <i class="icon-print"></i> {% trans 'Ballot paper as PDF' %}
</a> </a>
</p> </p>
@ -78,7 +78,7 @@
<button type="submit" name="apply" class="btn"> <button type="submit" name="apply" class="btn">
{% trans 'Apply' %} {% trans 'Apply' %}
</button> </button>
<a href='{% url motion_view motion.id %}' class="btn"> <a href="{% url 'motion_view' motion.id %}" class="btn">
{% trans 'Cancel' %} {% trans 'Cancel' %}
</a> </a>
</div> </div>

View File

@ -26,8 +26,8 @@
</small> </small>
<small class="pull-right"> <small class="pull-right">
<div class="btn-toolbar"> <div class="btn-toolbar">
<a href="{% url motion_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a> <a href="{% url 'motion_overview' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
<a href="{% url print_motion motion.id %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print this motion as PDF' %}"><i class="icon-print"></i> PDF</a> <a href="{% url 'print_motion' motion.id %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print this motion as PDF' %}"><i class="icon-print"></i> PDF</a>
<div class="btn-group"> <div class="btn-group">
<a data-toggle="dropdown" href="#" class="btn btn-mini dropdown-toggle"> <a data-toggle="dropdown" href="#" class="btn btn-mini dropdown-toggle">
{% trans 'More actions' %} {% trans 'More actions' %}
@ -36,28 +36,28 @@
<ul class="dropdown-menu pull-right"> <ul class="dropdown-menu pull-right">
<!-- edit --> <!-- edit -->
{% if "edit" in actions %} {% if "edit" in actions %}
<li><a href="{% url motion_edit motion.id %}"><i class="icon-edit"></i> {% trans 'Edit motion' %}</a></li> <li><a href="{% url 'motion_edit' motion.id %}"><i class="icon-edit"></i> {% trans 'Edit motion' %}</a></li>
{% endif %} {% endif %}
<!-- delete --> <!-- delete -->
{% if "delete" in actions %} {% if "delete" in actions %}
<li><a href="{% url motion_delete motion.id %}"><i class="icon-remove"></i> {% trans 'Delete motion' %}</a></li> <li><a href="{% url 'motion_delete' motion.id %}"><i class="icon-remove"></i> {% trans 'Delete motion' %}</a></li>
{% endif %} {% endif %}
<!-- activate projector --> <!-- activate projector -->
{% if perms.projector.can_manage_projector %} {% if perms.projector.can_manage_projector %}
<li> <li>
<a class="activate_link {% if item.active %}active{% endif %}" href="{% url projector_activate_slide motion.sid %}"><i class="icon-facetime-video"></i> {% trans 'Show motion' %}</a> <a class="activate_link {% if item.active %}active{% endif %}" href="{% url 'projector_activate_slide' motion.sid %}"><i class="icon-facetime-video"></i> {% trans 'Show motion' %}</a>
</li> </li>
{% endif %} {% endif %}
<!-- edit poll --> <!-- edit poll -->
{% if perms.motion.can_manage_motion %} {% if perms.motion.can_manage_motion %}
{% for poll in motion.polls %} {% for poll in motion.polls %}
<li><a href="{% url motion_poll_view poll.id %}"><i class="icon-edit"></i> {{ forloop.counter }}. {% trans "Vote" %}</a></li> <li><a href="{% url 'motion_poll_view' poll.id %}"><i class="icon-edit"></i> {{ forloop.counter }}. {% trans "Vote" %}</a></li>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
<!-- create agenda item --> <!-- create agenda item -->
{% if perms.agenda.can_manage_agenda %} {% if perms.agenda.can_manage_agenda %}
<li> <li>
<a href="{% url motion_create_agenda motion.id %}"><i class="icon-plus"></i> {% trans 'New agenda item' %}</a> <a href="{% url 'motion_create_agenda' motion.id %}"><i class="icon-plus"></i> {% trans 'New agenda item' %}</a>
</li> </li>
{% endif %} {% endif %}
</ul> </ul>
@ -71,9 +71,9 @@
{% if motion.public_version != motion.last_version %} {% if motion.public_version != motion.last_version %}
&#8901; &#8901;
{% if version == motion.public_version %} {% if version == motion.public_version %}
{% trans "This is not the newest version." %} <a href="{% url motion_view_newest motion.id %}">{% trans "Go to version" %} {{ motion.last_version.aid }}.</a> {% trans "This is not the newest version." %} <a href="{% url 'motion_view_newest' motion.id %}">{% trans "Go to version" %} {{ motion.last_version.aid }}.</a>
{% else %} {% else %}
{% trans "This is not the authorized version." %} <a href="{% url motion_view motion.id %}">{% trans "Go to version" %} {{ motion.public_version.aid }}.</a> {% trans "This is not the authorized version." %} <a href="{% url 'motion_view' motion.id %}">{% trans "Go to version" %} {{ motion.public_version.aid }}.</a>
{% endif %} {% endif %}
{% endif %} {% endif %}
@ -109,10 +109,10 @@
<img title="{% trans 'Version authorized' %}" src="{% static 'images/icons/accept.png' %}"> <img title="{% trans 'Version authorized' %}" src="{% static 'images/icons/accept.png' %}">
{% else %} {% else %}
{% if perms.motion.can_manage_motion %} {% if perms.motion.can_manage_motion %}
<a href="{% url motion_version_permit revision.id %}"><img title="{% trans 'Permit Version' %}" src="{% static 'images/icons/accept-grey.png' %}"></a> <a href="{% url 'motion_version_permit' revision.id %}"><img title="{% trans 'Permit Version' %}" src="{% static 'images/icons/accept-grey.png' %}"></a>
{% endif %} {% endif %}
{% if not revision.rejected and revision.id > motion.permitted.id and perms.motion.can_manage_motion %} {% if not revision.rejected and revision.id > motion.permitted.id and perms.motion.can_manage_motion %}
<a href="{% url motion_version_reject revision.id %}"><img title="{% trans 'Reject Version' %}" src="{% static 'images/icons/reject-grey.png' %}"></a> <a href="{% url 'motion_version_reject' revision.id %}"><img title="{% trans 'Reject Version' %}" src="{% static 'images/icons/reject-grey.png' %}"></a>
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if revision.rejected %} {% if revision.rejected %}
@ -190,7 +190,7 @@
{% if not polls.exists %} {% if not polls.exists %}
{% if perms.motion.can_manage_motion %} {% if perms.motion.can_manage_motion %}
{% if "genpoll" in actions %} {% if "genpoll" in actions %}
<a href='{% url motion_gen_poll motion.id %}' class="btn btn-mini"> <a href="{% url 'motion_gen_poll' motion.id %}" class="btn btn-mini">
<i class="icon-signal"></i> {% trans 'New vote' %} <i class="icon-signal"></i> {% trans 'New vote' %}
</a> </a>
{% else %} {% else %}
@ -205,8 +205,8 @@
{% if perms.motion.can_manage_motion or poll.has_votes %} {% if perms.motion.can_manage_motion or poll.has_votes %}
<li>{% trans "Vote" %} <li>{% trans "Vote" %}
{% if perms.motion.can_manage_motion %} {% if perms.motion.can_manage_motion %}
<a class="btn btn-mini" href="{% url motion_poll_view poll.id %}" title="{% trans 'Edit Vote' %}"><i class="icon-edit"></i></a> <a class="btn btn-mini" href="{% url 'motion_poll_view' poll.id %}" title="{% trans 'Edit Vote' %}"><i class="icon-edit"></i></a>
<a class="btn btn-mini" href="{% url motion_poll_delete poll.id %}" title="{% trans 'Delete Vote' %}"><i class="icon-remove"></i></a> <a class="btn btn-mini" href="{% url 'motion_poll_delete' poll.id %}" title="{% trans 'Delete Vote' %}"><i class="icon-remove"></i></a>
{% endif %} {% endif %}
<br> <br>
{% if poll.has_votes %} {% if poll.has_votes %}
@ -222,7 +222,7 @@
{% if perms.motion.can_manage_motion %} {% if perms.motion.can_manage_motion %}
{% if forloop.last %} {% if forloop.last %}
{% if "genpoll" in actions %} {% if "genpoll" in actions %}
<a href='{% url motion_gen_poll motion.id %}' class="btn btn-mini"> <a href="{% url 'motion_gen_poll' motion.id %}" class="btn btn-mini">
<i class="icon-signal"></i> {% trans 'New vote' %} <i class="icon-signal"></i> {% trans 'New vote' %}
</a> </a>
{% endif %} {% endif %}
@ -244,7 +244,7 @@
<!-- Widthdraw button --> <!-- Widthdraw button -->
{% if "wit" in actions and user == motion.submitter.user %} {% if "wit" in actions and user == motion.submitter.user %}
<br><br> <br><br>
<a href='{% url motion_set_status motion.id 'wit' %}' class="btn"> <a href="{% url 'motion_set_status' motion.id 'wit' %}" class="btn">
<span class="icon revert">{% trans 'Withdraw motion' %}</span> <span class="icon revert">{% trans 'Withdraw motion' %}</span>
</a> </a>
{% endif %} {% endif %}
@ -252,13 +252,13 @@
{% if perms.motion.can_support_motion and min_supporters > 0 %} {% if perms.motion.can_support_motion and min_supporters > 0 %}
{% if "unsupport" in actions %} {% if "unsupport" in actions %}
<br><br> <br><br>
<a href='{% url motion_unsupport motion.id %}' class="btn"> <a href="{% url 'motion_unsupport' motion.id %}" class="btn">
{% trans 'Unsupport motion' %} {% trans 'Unsupport motion' %}
</a> </a>
{% endif %} {% endif %}
{% if "support" in actions %} {% if "support" in actions %}
<br><br> <br><br>
<a href='{% url motion_support motion.id %}'> <a href="{% url 'motion_support' motion.id %}">
{% trans 'Support' %} {% trans 'Support' %}
</a> </a>
{% endif %} {% endif %}
@ -279,16 +279,16 @@
<h5>{% trans "Formal validation" %}:</h5> <h5>{% trans "Formal validation" %}:</h5>
<div class="btn-group btn-group-vertical"> <div class="btn-group btn-group-vertical">
{% if "pub" in actions %} {% if "pub" in actions %}
<a href='{% url motion_set_status motion.id 'pub' %}' class="btn">{% trans 'Publish' %}</a> <a href="{% url 'motion_set_status' motion.id 'pub' %}" class="btn">{% trans 'Publish' %}</a>
{% endif %} {% endif %}
{% if "per" in actions %} {% if "per" in actions %}
<a href='{% url motion_permit motion.id %}' class="btn btn-info">{% trans 'Permit' %}</a> <a href="{% url 'motion_permit' motion.id %}" class="btn btn-info">{% trans 'Permit' %}</a>
{% endif %} {% endif %}
{% if "nop" in actions %} {% if "nop" in actions %}
<a href='{% url motion_notpermit motion.id %}' class="btn">{% trans 'Not permit' %}</a> <a href="{% url 'motion_notpermit' motion.id %}" class="btn">{% trans 'Not permit' %}</a>
{% endif %} {% endif %}
{% if "setnumber" in actions %} {% if "setnumber" in actions %}
<a href='{% url motion_set_number motion.id %}' class="btn">{% trans 'Set number' %}</a> <a href="{% url 'motion_set_number' motion.id %}" class="btn">{% trans 'Set number' %}</a>
{% endif %} {% endif %}
</div> </div>
{% endif %} {% endif %}
@ -297,12 +297,12 @@
<h5>{% trans "Result after vote" %}:</h5> <h5>{% trans "Result after vote" %}:</h5>
<div class="btn-group btn-group-vertical"> <div class="btn-group btn-group-vertical">
{% if "acc" in actions %} {% if "acc" in actions %}
<a href='{% url motion_set_status motion.id 'acc' %}' class="btn btn-success"> <a href="{% url 'motion_set_status' motion.id 'acc' %}" class="btn btn-success">
<i class="icon-ok icon-white"></i> {% trans 'Accepted' %} <i class="icon-ok icon-white"></i> {% trans 'Accepted' %}
</a> </a>
{% endif %} {% endif %}
{% if "rej" in actions %} {% if "rej" in actions %}
<a href='{% url motion_set_status motion.id 'rej' %}' class="btn btn-danger"> <a href="{% url 'motion_set_status' motion.id 'rej' %}" class="btn btn-danger">
<i class="icon-ban-circle icon-white"></i> {% trans 'Rejected' %} <i class="icon-ban-circle icon-white"></i> {% trans 'Rejected' %}
</a> </a>
{% endif %} {% endif %}
@ -318,16 +318,16 @@
</a> </a>
<ul class="dropdown-menu pull-right"> <ul class="dropdown-menu pull-right">
{% if "adj" in actions %} {% if "adj" in actions %}
<li><a href='{% url motion_set_status motion.id 'adj' %}'>{% trans 'Adjourned' %}</a></li> <li><a href="{% url 'motion_set_status' motion.id 'adj' %}">{% trans 'Adjourned' %}</a></li>
{% endif %} {% endif %}
{% if "noc" in actions %} {% if "noc" in actions %}
<li><a href='{% url motion_set_status motion.id 'noc' %}'>{% trans 'Not Concerned' %}</a></li> <li><a href="{% url 'motion_set_status' motion.id 'noc' %}">{% trans 'Not Concerned' %}</a></li>
{% endif %} {% endif %}
{% if "com" in actions %} {% if "com" in actions %}
<li><a href='{% url motion_set_status motion.id 'com' %}'>{% trans 'Commited a bill' %}</a></li> <li><a href="{% url 'motion_set_status' motion.id 'com' %}">{% trans 'Commited a bill' %}</a></li>
{% endif %} {% endif %}
{% if "wit" in actions %} {% if "wit" in actions %}
<li><a href='{% url motion_set_status motion.id 'wit' %}'>{% trans 'Withdrawed by Submitter' %}</a></li> <li><a href="{% url 'motion_set_status' motion.id 'wit' %}">{% trans 'Withdrawed by Submitter' %}</a></li>
{% endif %} {% endif %}
</ul> </ul>
</div> </div>
@ -335,7 +335,7 @@
<p></p> <p></p>
<hr> <hr>
<h5>{% trans "For Administration only:" %}</h5> <h5>{% trans "For Administration only:" %}</h5>
<a href='{% url motion_reset motion.id %}' class="btn btn-danger"> <a href="{% url 'motion_reset' motion.id %}" class="btn btn-danger">
{% trans 'Reset' %} {% trans 'Reset' %}
</a> </a>
</div> <!--/well--> </div> <!--/well-->

View File

@ -5,7 +5,7 @@
<ul style="line-height: 180%"> <ul style="line-height: 180%">
{% for motion in motions %} {% for motion in motions %}
<li class="{% if motion.active %}activeline{% endif %}"> <li class="{% if motion.active %}activeline{% endif %}">
<a href="{% url projector_activate_slide motion.sid %}" class="activate_link {% if motion.active %}active{% endif %}"> <a href="{% url 'projector_activate_slide' motion.sid %}" class="activate_link {% if motion.active %}active{% endif %}">
<div></div> <div></div>
</a> </a>
<a href="{% model_url motion 'delete' %}" title="{% trans 'Delete' %}" class="icon delete right"> <a href="{% model_url motion 'delete' %}" title="{% trans 'Delete' %}" class="icon delete right">
@ -14,7 +14,7 @@
<a href="{% model_url motion 'edit' %}" title="{% trans 'Edit' %}" class="icon edit right"> <a href="{% model_url motion 'edit' %}" title="{% trans 'Edit' %}" class="icon edit right">
<span></span> <span></span>
</a> </a>
<a href="{% url projctor_preview_slide motion.sid %}" title="{% trans 'Preview' %}" class="icon preview right"> <a href="{% url 'projctor_preview_slide' motion.sid %}" title="{% trans 'Preview' %}" class="icon preview right">
<span></span> <span></span>
</a> </a>
<a href="{% model_url motion 'view' %}"> <a href="{% model_url motion 'view' %}">

View File

@ -10,16 +10,10 @@
:license: GNU GPL, see LICENSE for more details. :license: GNU GPL, see LICENSE for more details.
""" """
# for python 2.5 support
from __future__ import with_statement
import csv import csv
import os import os
try: from urlparse import parse_qs
from urlparse import parse_qs
except ImportError: # python <= 2.5
from cgi import parse_qs
from reportlab.lib import colors from reportlab.lib import colors
from reportlab.lib.units import cm from reportlab.lib.units import cm

View File

@ -10,9 +10,6 @@
:license: GNU GPL, see LICENSE for more details. :license: GNU GPL, see LICENSE for more details.
""" """
# for python 2.5 support
from __future__ import with_statement
from random import choice from random import choice
import csv import csv

View File

@ -13,6 +13,7 @@
from django import forms from django import forms
from django.contrib.auth.models import Permission from django.contrib.auth.models import Permission
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.conf import settings
from openslides.utils.forms import ( from openslides.utils.forms import (
CssClassMixin, LocalizedModelMultipleChoiceField) CssClassMixin, LocalizedModelMultipleChoiceField)
@ -101,6 +102,8 @@ class GroupForm(forms.ModelForm, CssClassMixin):
class UsersettingsForm(forms.ModelForm, CssClassMixin): class UsersettingsForm(forms.ModelForm, CssClassMixin):
language = forms.ChoiceField(choices=settings.LANGUAGES)
class Meta: class Meta:
model = User model = User
fields = ('username', 'first_name', 'last_name', 'gender', 'email', 'committee', 'about_me') fields = ('username', 'first_name', 'last_name', 'gender', 'email', 'committee', 'about_me')

View File

@ -12,7 +12,7 @@
{% include "form.html" %} {% include "form.html" %}
<p> <p>
{% include "formbuttons_save.html" %} {% include "formbuttons_save.html" %}
<a href='{% url config_participant %}' class="btn"> <a href="{% url 'config_participant' %}" class="btn">
{% trans 'Cancel' %} {% trans 'Cancel' %}
</a> </a>
</p> </p>

View File

@ -19,7 +19,7 @@
{% trans "New participant" %} {% trans "New participant" %}
{% endif %} {% endif %}
<small class="pull-right"> <small class="pull-right">
<a href="{% url user_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a> <a href="{% url 'user_overview' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
</small> </small>
</h1> </h1>
@ -27,12 +27,12 @@
{% include "form.html" %} {% include "form.html" %}
{% if edit_user %} {% if edit_user %}
<p> <p>
<a href="{% url user_reset_password edit_user.id %}">{% trans 'Reset to First Password' %}</a> <a href="{% url 'user_reset_password' edit_user.id %}">{% trans 'Reset to First Password' %}</a>
</p> </p>
{% endif %} {% endif %}
<p> <p>
{% include "formbuttons_saveapply.html" %} {% include "formbuttons_saveapply.html" %}
<a href='{% url user_overview %}' class="btn"> <a href="{% url 'user_overview' %}" class="btn">
{% trans 'Cancel' %} {% trans 'Cancel' %}
</a> </a>
</p> </p>

View File

@ -19,7 +19,7 @@
{% trans "New group" %} {% trans "New group" %}
{% endif %} {% endif %}
<small class="pull-right"> <small class="pull-right">
<a href="{% url user_group_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a> <a href="{% url 'user_group_overview' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
</small> </small>
</h1> </h1>
@ -27,7 +27,7 @@
{% include "form.html" %} {% include "form.html" %}
<p> <p>
{% include "formbuttons_saveapply.html" %} {% include "formbuttons_saveapply.html" %}
<a href='{% url user_group_overview %}' class="btn"> <a href="{% url 'user_group_overview' %}" class="btn">
{% trans 'Cancel' %} {% trans 'Cancel' %}
</a> </a>
</p> </p>

View File

@ -9,8 +9,8 @@
{% block content %} {% block content %}
<h1>{% trans "Groups" %} <h1>{% trans "Groups" %}
<small class="pull-right"> <small class="pull-right">
<a href="{% url user_group_new %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'New group' %}"><i class="icon-plus"></i> {% trans "New" %}</a> <a href="{% url 'user_group_new' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'New group' %}"><i class="icon-plus"></i> {% trans "New" %}</a>
<a href="{% url user_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Participants" %}</a> <a href="{% url 'user_overview' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Participants" %}</a>
</small> </small>
</h1> </h1>
@ -22,9 +22,9 @@
{% for group in groups %} {% for group in groups %}
<tr class="{% cycle '' 'odd' %}"> <tr class="{% cycle '' 'odd' %}">
<td><a href="{% model_url group 'view' %}">{{ group.name }}</a></td> <td><a href="{% model_url group 'view' %}">{{ group.name }}</a></td>
<td><a href="{% url user_group_edit group.id %}"><img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit group' %}"></a> <td><a href="{% url 'user_group_edit' group.id %}"><img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit group' %}"></a>
{% if group.name|lower != 'anonymous' and group.name|lower != 'registered' %} {% if group.name|lower != 'anonymous' and group.name|lower != 'registered' %}
<a href="{% url user_group_delete group.id %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete group' %}"></a> <a href="{% url 'user_group_delete' group.id %}"><img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete group' %}"></a>
{% endif %} {% endif %}
</td> </td>
</tr> </tr>

View File

@ -5,7 +5,7 @@
{% for group in groups %} {% for group in groups %}
{% if group.name != 'Anonymous' and group.name != 'Registered' %} {% if group.name != 'Anonymous' and group.name != 'Registered' %}
<li class="{% if group.active %}activeline{% endif %}"> <li class="{% if group.active %}activeline{% endif %}">
<a href="{% url projector_activate_slide group.sid %}" class="activate_link {% if group.active %}active{% endif %}"> <a href="{% url 'projector_activate_slide' group.sid %}" class="activate_link {% if group.active %}active{% endif %}">
<div></div> <div></div>
</a> </a>
<a href="{% model_url group 'delete' %}" title="{% trans 'Delete' %}" class="icon delete right"> <a href="{% model_url group 'delete' %}" title="{% trans 'Delete' %}" class="icon delete right">
@ -14,7 +14,7 @@
<a href="{% model_url group 'edit' %}" title="{% trans 'Edit' %}" class="icon edit right"> <a href="{% model_url group 'edit' %}" title="{% trans 'Edit' %}" class="icon edit right">
<span></span> <span></span>
</a> </a>
<a href="{% url projctor_preview_slide group.sid %}" title="{% trans 'Preview' %}" class="icon preview right"> <a href="{% url 'projctor_preview_slide' group.sid %}" title="{% trans 'Preview' %}" class="icon preview right">
<span></span> <span></span>
</a> </a>
<a href="{% model_url group 'view' %}">{{ group }}</a> <a href="{% model_url group 'view' %}">{{ group }}</a>

View File

@ -8,7 +8,7 @@
<h1> <h1>
{% trans 'Import participants' %} {% trans 'Import participants' %}
<small class="pull-right"> <small class="pull-right">
<a href="{% url user_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a> <a href="{% url 'user_overview' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
</small> </small>
</h1> </h1>
@ -29,7 +29,7 @@
<button class="btn btn-primary" type="submit"> <button class="btn btn-primary" type="submit">
<span class="icon import">{% trans 'Import' %}</span> <span class="icon import">{% trans 'Import' %}</span>
</button> </button>
<a href="{% url user_overview%}" class="btn"> <a href="{% url 'user_overview' %}" class="btn">
{% trans 'Cancel' %} {% trans 'Cancel' %}
</a> </a>
</p> </p>

View File

@ -22,7 +22,13 @@
<em>{{ first_time_message|safe }}</em> <em>{{ first_time_message|safe }}</em>
</div> </div>
{% endif %} {% endif %}
<form method="post" action="{% url user_login %}{% if next %}?next={{ next }}{% endif %}" class="well">
<script>
$("div.notification").click(function () {
$(this).hide("fast");
});
</script>
<form method="post" action="{% url 'user_login' %}{% if next %}?next={{ next }}{% endif %}" class="well">
{% csrf_token %} {% csrf_token %}
<div class="input-prepend"> <div class="input-prepend">
<span class="add-on"><i class="icon-user"></i></span> <span class="add-on"><i class="icon-user"></i></span>
@ -48,7 +54,7 @@
{% if os_enable_anonymous_login %} {% if os_enable_anonymous_login %}
<script> <script>
$("#anonymous_login").live('click', function () { $("#anonymous_login").live('click', function () {
window.location.href = '{% url item_overview %}'; window.location.href = "{% url 'item_overview' %}";
return false; return false;
}); });
</script> </script>

View File

@ -19,9 +19,9 @@
<small class="pull-right"> <small class="pull-right">
<div class="btn-toolbar"> <div class="btn-toolbar">
{% if perms.participant.can_manage_participant %} {% if perms.participant.can_manage_participant %}
<a href="{% url user_new %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'New participant' %}"><i class="icon-plus"></i> {% trans "New" %}</a> <a href="{% url 'user_new' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'New participant' %}"><i class="icon-plus"></i> {% trans "New" %}</a>
<a href="{% url user_group_overview %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'All user groups' %}"><i class="icon-user"></i> {% trans "User groups" %}</a> <a href="{% url 'user_group_overview' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'All user groups' %}"><i class="icon-user"></i> {% trans "User groups" %}</a>
<a href="{% url user_import %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Import participants' %}"><i class="icon-share-alt"></i> {% trans 'Import' %}</a> <a href="{% url 'user_import' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Import participants' %}"><i class="icon-share-alt"></i> {% trans 'Import' %}</a>
{% endif %} {% endif %}
{% if perms.participant.can_see_participant and perms.participant.can_manage_participant %} {% if perms.participant.can_see_participant and perms.participant.can_manage_participant %}
<div class="btn-group pull-right"> <div class="btn-group pull-right">
@ -31,20 +31,20 @@
<span class="caret"></span> <span class="caret"></span>
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
{% url user_settings as url_usersettings %} {% url 'user_settings' as url_usersettings %}
<li><a href="{% url user_print %}"><i class="icon-list"></i> {% trans 'List of participants' %}</a></li> <li><a href="{% url 'user_print' %}"><i class="icon-list"></i> {% trans 'List of participants' %}</a></li>
<li><a href="{% url print_passwords %}"><i class="icon-th-large"></i> {% trans 'First time passwords' %}</a></li> <li><a href="{% url 'print_passwords' %}"><i class="icon-th-large"></i> {% trans 'First time passwords' %}</a></li>
</ul> </ul>
{% else %} {% else %}
<a href="{% url user_login %}" class="btn">{% trans "Login" %}</a> <a href="{% url 'user_login' %}" class="btn">{% trans "Login" %}</a>
{% endif %} {% endif %}
</div> </div>
{% else %} {% else %}
{% if perms.participant.can_see_participant %} {% if perms.participant.can_see_participant %}
<a href="{% url user_print %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print list of participants as PDF' %}"><i class="icon-print"></i> PDF</a> <a href="{% url 'user_print' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print list of participants as PDF' %}"><i class="icon-print"></i> PDF</a>
{% endif %} {% endif %}
{% if perms.participant.can_manage_participant %} {% if perms.participant.can_manage_participant %}
<a href="{% url print_passwords %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print first time passwords as PDF' %}"><i class="icon-print"></i> PDF</a> <a href="{% url 'print_passwords' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print first time passwords as PDF' %}"><i class="icon-print"></i> PDF</a>
{% endif %} {% endif %}
{% endif %} {% endif %}
</div> </div>
@ -126,19 +126,19 @@
</td> </td>
<td> <td>
<span style="width: 1px; white-space: nowrap;"> <span style="width: 1px; white-space: nowrap;">
<a href="{% url user_edit user.id %}"> <a href="{% url 'user_edit' user.id %}">
<img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit participant' %}"> <img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit participant' %}">
</a> </a>
{% if user != request_user %} {% if user != request_user %}
<a href="{% url user_delete user.id %}"> <a href="{% url 'user_delete' user.id %}">
<img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete participant' %}"> <img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete participant' %}">
</a> </a>
{% endif %} {% endif %}
{% if user != request_user and not user.is_superuser %} {% if user != request_user and not user.is_superuser %}
<a class="status_link deactivate" href="{% url user_status_deactivate user.id %}" title="{% trans 'Change status to inactive' %}"{% if not user.is_active %} style="display:none"{% endif %}> <a class="status_link deactivate" href="{% url 'user_status_deactivate' user.id %}" title="{% trans 'Change status to inactive' %}"{% if not user.is_active %} style="display:none"{% endif %}>
<span></span> <span></span>
</a> </a>
<a class="status_link activate" href="{% url user_status_activate user.id %}" title="{% trans 'Change status to active' %}"{% if user.is_active %} style="display:none"{% endif %}> <a class="status_link activate" href="{% url 'user_status_activate' user.id %}" title="{% trans 'Change status to active' %}"{% if user.is_active %} style="display:none"{% endif %}>
<span></span> <span></span>
</a> </a>
{% endif %} {% endif %}

View File

@ -4,6 +4,17 @@
{% block title %}{{ block.super }} {% trans "Personal Settings" %}{% endblock %} {% block title %}{{ block.super }} {% trans "Personal Settings" %}{% endblock %}
<<<<<<< .merge_file_gQQrGK
=======
{% block submenu %}
<h4 class="sectiontitle">{% trans "User Settings" %}</h4>
<ul>
<li class="selected"><a href="{% url 'user_settings' %}">{% trans "Personal Settings" %}</a></li>
<li><a href="{% url 'password_change' %}">{% trans "Password Settings" %}</a></li>
</ul>
{% endblock %}
>>>>>>> .merge_file_n8pEk9
{% block content %} {% block content %}
<h1>{% trans "Personal Settings" %}</h1> <h1>{% trans "Personal Settings" %}</h1>

View File

@ -4,7 +4,7 @@
<ul style="line-height: 180%"> <ul style="line-height: 180%">
{% for user in users %} {% for user in users %}
<li class="{% if user.active %}activeline{% endif %}"> <li class="{% if user.active %}activeline{% endif %}">
<a href="{% url projector_activate_slide user.sid %}" class="activate_link {% if user.active %}active{% endif %}"> <a href="{% url 'projector_activate_slide' user.sid %}" class="activate_link {% if user.active %}active{% endif %}">
<div></div> <div></div>
</a> </a>
<a href="{% model_url user 'delete' %}" title="{% trans 'Delete' %}" class="icon delete right"> <a href="{% model_url user 'delete' %}" title="{% trans 'Delete' %}" class="icon delete right">
@ -13,7 +13,7 @@
<a href="{% model_url user 'edit' %}" title="{% trans 'Edit' %}" class="icon edit right"> <a href="{% model_url user 'edit' %}" title="{% trans 'Edit' %}" class="icon edit right">
<span></span> <span></span>
</a> </a>
<a href="{% url projctor_preview_slide user.sid %}" title="{% trans 'Preview' %}" class="icon preview right"> <a href="{% url 'projctor_preview_slide' user.sid %}" title="{% trans 'Preview' %}" class="icon preview right">
<span></span> <span></span>
</a> </a>
<a href="{% model_url user 'view' %}">{{ user }}</a> <a href="{% model_url user 'view' %}">{{ user }}</a>

View File

@ -10,15 +10,8 @@
:license: GNU GPL, see LICENSE for more details. :license: GNU GPL, see LICENSE for more details.
""" """
# for python 2.5 support
from __future__ import with_statement
from urllib import urlencode from urllib import urlencode
from urlparse import parse_qs
try:
from urlparse import parse_qs
except ImportError: # python <= 2.5 grab it from cgi
from cgi import parse_qs
from reportlab.lib import colors from reportlab.lib import colors
from reportlab.lib.units import cm from reportlab.lib.units import cm
@ -31,7 +24,7 @@ from django.contrib.auth.forms import PasswordChangeForm
from django.contrib.auth.views import login as django_login from django.contrib.auth.views import login as django_login
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.shortcuts import redirect from django.shortcuts import redirect
from django.utils.translation import ugettext as _, ugettext_lazy from django.utils.translation import ugettext as _, ugettext_lazy, activate
from openslides.utils.pdf import stylesheet from openslides.utils.pdf import stylesheet
from openslides.utils.template import Tab from openslides.utils.template import Tab
@ -500,14 +493,18 @@ def user_settings(request):
Edit own user account. Edit own user account.
""" """
if request.method == 'POST': if request.method == 'POST':
form = UsersettingsForm(request.POST, instance=request.user) form_user = UsersettingsForm(request.POST, instance=request.user)
if form.is_valid(): if form_user.is_valid():
form.save() form_user.save()
language = request.LANGUAGE_CODE = \
request.session['django_language'] = form_user.cleaned_data['language']
activate(language)
messages.success(request, _('User settings successfully saved.')) messages.success(request, _('User settings successfully saved.'))
else: else:
messages.error(request, _('Please check the form for errors.')) messages.error(request, _('Please check the form for errors.'))
else: else:
form = UsersettingsForm(instance=request.user) language = request.session.get('django_language', request.LANGUAGE_CODE)
form_user = UsersettingsForm(instance=request.user, initial={'language': language})
return { return {
'form': form, 'form': form,

View File

@ -8,16 +8,17 @@
<input class="projector_countdown_spinval" id="countdown_time" name="countdown_time" type="number" min="0" value="{{ countdown_time }}"> <input class="projector_countdown_spinval" id="countdown_time" name="countdown_time" type="number" min="0" value="{{ countdown_time }}">
<span class="add-on">{% trans "s" context "seconds" %}</span> <span class="add-on">{% trans "s" context "seconds" %}</span>
</div> </div>
<a id="countdown_set" class="countdown_control btn btn-small" href="{% url countdown_set_default %}" title="{% trans 'Save as default' %}"> <a id="countdown_set" class="countdown_control btn btn-small" href="{% url 'countdown_set_default' %}" title="{% trans 'Save as default' %}">
<img src="{% static 'images/icons/document-save.png' %}" alt="{% url countdown_set_default %}"> <img src="{% static 'images/icons/document-save.png' %}" alt="{% url 'countdown_set_default' %}">
</a> </a>
<a id="countdown_reset" class="countdown_control btn btn-small" href="{% url countdown_reset %}" title="{% trans 'Reset countdown' %}">
<a id="countdown_reset" class="countdown_control btn btn-small" href="{% url 'countdown_reset' %}" title="{% trans 'Reset countdown' %}">
<i class="icon-fast-backward"></i> <i class="icon-fast-backward"></i>
</a> </a>
<a id="countdown_play" class="countdown_control btn btn-small" href="{% url countdown_start %}" title="{% trans 'Start countdown' %}"{% if countdown_state == 'active' %} style="display:none"{% endif %}> <a id="countdown_play" class="countdown_control btn btn-small" href="{% url 'countdown_start' %}" title="{% trans 'Start countdown' %}"{% if countdown_state == 'active' %} style="display:none"{% endif %}>
<i class="icon-play"></i> <i class="icon-play"></i>
</a> </a>
<a id="countdown_stop" class="countdown_control btn btn-small" href="{% url countdown_stop %}" title="{% trans 'Stop countdown' %}"{% if countdown_state == 'inactive' or countdown_state == 'paused' or countdown_state == 'expired' %} style="display:none"{% endif %}> <a id="countdown_stop" class="countdown_control btn btn-small" href="{% url 'countdown_stop' %}" title="{% trans 'Stop countdown' %}"{% if countdown_state == 'inactive' or countdown_state == 'paused' or countdown_state == 'expired' %} style="display:none"{% endif %}>
<i class="icon-pause"></i> <i class="icon-pause"></i>
</a> </a>
</div> </div>

View File

@ -2,7 +2,7 @@
{% load i18n %} {% load i18n %}
{% load tags %} {% load tags %}
<form id="overlay_message" action="{% url projector_overlay_message %}" method="post" style="display:inline-block;">{% csrf_token %} <form id="overlay_message" action="{% url 'projector_overlay_message' %}" method="post" style="display:inline-block;">{% csrf_token %}
<div class="input-append"> <div class="input-append">
<input id="overlay_message_text" name='message_text' type='text' value="{% get_config 'projector_message' %}"> <input id="overlay_message_text" name='message_text' type='text' value="{% get_config 'projector_message' %}">
<button type="submit" class="btn btn-primary" name="message" rel="tooltip" data-original-title="{% trans 'Apply' %}"> <button type="submit" class="btn btn-primary" name="message" rel="tooltip" data-original-title="{% trans 'Apply' %}">
@ -13,4 +13,3 @@
</button> </button>
</div> </div>
</form> </form>

View File

@ -2,13 +2,12 @@
{% load i18n %} {% load i18n %}
{% load tags %} {% load tags %}
<ul style="line-height: 180%"> <ul style="line-height: 180%">
<li class="{% if welcomepage_is_active %}activeline{% endif %}"> <li class="{% if welcomepage_is_active %}activeline{% endif %}">
<a href="{% url projector_activate_welcomepage %}" class="activate_link {% if welcomepage_is_active %}active{% endif %}"> <a href="{% url 'projector_activate_welcomepage' %}" class="activate_link {% if welcomepage_is_active %}active{% endif %}">
<div></div> <div></div>
</a> </a>
<a href="{% url projctor_preview_welcomepage %}" title="{% trans 'Preview' %}" class="icon preview right"> <a href="{% url 'projctor_preview_welcomepage' %}" title="{% trans 'Preview' %}" class="icon preview right">
<span></span> <span></span>
</a> </a>
{% trans 'Welcome Page' %} {% trans 'Welcome Page' %}
@ -16,27 +15,26 @@
</ul> </ul>
<hr> <hr>
<div class="pull-right"> <div class="pull-right">
<a href='{% url customslide_new %}' class="btn btn-mini"> <a href="{% url 'customslide_new' %}" class="btn btn-mini">
<i class="icon-plus"></i>{% trans 'New' %} <i class="icon-plus"></i>{% trans 'New' %}
</a> </a>
</div> </div>
<ul style="line-height: 180%"> <ul style="line-height: 180%">
{% for slide in slides %} {% for slide in slides %}
<li class="{% if slide.active %}activeline{% endif %}"> <li class="{% if slide.active %}activeline{% endif %}">
<a href="{% url projector_activate_slide slide.sid %}" class="activate_link {% if slide.active %}active{% endif %}"> <a href="{% url 'projector_activate_slide' slide.sid %}" class="activate_link {% if slide.active %}active{% endif %}">
<div></div> <div></div>
</a> </a>
<a href="{% url customslide_edit slide.id %}">{{ slide }}</a> <a href="{% url 'customslide_edit' slide.id %}">{{ slide }}</a>
<a href="{% url customslide_edit slide.id %}" title="{% trans 'Edit' %}" class="btn btn-mini"> <a href="{% url 'customslide_edit' slide.id %}" title="{% trans 'Edit' %}" class="btn btn-mini">
<i class="icon-pencil"></i> <i class="icon-pencil"></i>
</a> </a>
<a href="{% url customslide_delete slide.id %}" title="{% trans 'Delete' %}" class="btn btn-mini"> <a href="{% url 'customslide_delete' slide.id %}" title="{% trans 'Delete' %}" class="btn btn-mini">
<i class="icon-remove"></i> <i class="icon-remove"></i>
</a> </a>
<a href="{% url projctor_preview_slide slide.sid %}" title="{% trans 'Preview' %}" class="btn btn-mini"> <a href="{% url 'projctor_preview_slide' slide.sid %}" title="{% trans 'Preview' %}" class="btn btn-mini">
<i class="icon-search"></i> <i class="icon-search"></i>
</a> </a>
</li> </li>
{% empty %} {% empty %}
<li>{% trans 'No items available.' %}</li> <li>{% trans 'No items available.' %}</li>

View File

@ -17,7 +17,7 @@
{% block content %} {% block content %}
<h1>{% trans 'Dashboard' %} <h1>{% trans 'Dashboard' %}
<small class="pull-right"> <small class="pull-right">
<a href="{% url projector_select_widgets %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Manage widgets' %}"><i class="icon-th-large"></i> {% trans 'Widgets' %}</a> <a href="{% url 'projector_select_widgets' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Manage widgets' %}"><i class="icon-th-large"></i> {% trans 'Widgets' %}</a>
</small> </small>
</h1> </h1>

View File

@ -6,23 +6,23 @@
{% if perms.projector.can_manage_projector %} {% if perms.projector.can_manage_projector %}
<div style="float: right;"> <div style="float: right;">
<p> <p>
<a class="projector_edit" href="{% url projector_bigger %}" title="{% trans 'Zoom in' %}"> <a class="projector_edit" href="{% url 'projector_bigger' %}" title="{% trans 'Zoom in' %}">
<img src="{% static 'images/icons/zoom-in.png' %}" /> <img src="{% static 'images/icons/zoom-in.png' %}" />
</a><br> </a><br>
<a class="projector_edit" href="{% url projector_smaller %}" title="{% trans 'Zoom out' %}"> <a class="projector_edit" href="{% url 'projector_smaller' %}" title="{% trans 'Zoom out' %}">
<img src="{% static 'images/icons/zoom-out.png' %}" /> <img src="{% static 'images/icons/zoom-out.png' %}" />
</a> </a>
</p> </p>
<p> <p>
<a class="projector_edit" href="{% url projector_up %}" title="{% trans 'Scroll text up' %}"> <a class="projector_edit" href="{% url 'projector_up' %}" title="{% trans 'Scroll text up' %}">
<img src="{% static 'images/icons/go-up.png' %}" /> <img src="{% static 'images/icons/go-up.png' %}" />
</a><br> </a><br>
<a class="projector_edit" href="{% url projector_down %}" title="{% trans 'Scroll text down' %}"> <a class="projector_edit" href="{% url 'projector_down' %}" title="{% trans 'Scroll text down' %}">
<img src="{% static 'images/icons/go-down.png' %}" /> <img src="{% static 'images/icons/go-down.png' %}" />
</a> </a>
</p> </p>
<p> <p>
<a class="projector_edit" href="{% url projector_clean %}" title="{% trans 'Reset projector view' %}"> <a class="projector_edit" href="{% url 'projector_clean' %}" title="{% trans 'Reset projector view' %}">
<img src="{% static 'images/icons/view-reset.png' %}" /> <img src="{% static 'images/icons/view-reset.png' %}" />
</a> </a>
</p> </p>
@ -30,9 +30,9 @@
{% endif %} {% endif %}
<!-- projector live view --> <!-- projector live view -->
<a href="{% url projector_show %}" target="_blank"> <a href="{% url 'projector_show' %}" target="_blank">
<div id="iframewrapper"> <div id="iframewrapper">
<iframe id="iframe" src="{% url projector_show %}" frameborder="0"></iframe> <iframe id="iframe" src="{% url 'projector_show' %}" frameborder="0"></iframe>
<div id="iframeoverlay"></div> <div id="iframeoverlay"></div>
</div> </div>
</a> </a>

View File

@ -8,7 +8,7 @@
{% block content %} {% block content %}
<h1>{% trans 'Custom slide' %} <h1>{% trans 'Custom slide' %}
<small class="pull-right"> <small class="pull-right">
<a href="{% url dashboard %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a> <a href="{% url 'dashboard' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
</small> </small>
</h1> </h1>
<form action="" method="post">{% csrf_token %} <form action="" method="post">{% csrf_token %}

View File

@ -4,10 +4,10 @@
<ul> <ul>
{% for overlay in overlays %} {% for overlay in overlays %}
<li> <li>
<a id="{{ overlay.def_name }}_inactive" href="{% url projector_overlay_activate overlay.def_name %}" class="overlay"{% if overlay.active %} style="display:none"{% endif %}> <a id="{{ overlay.def_name }}_inactive" href="{% url 'projector_overlay_activate' overlay.def_name %}" class="overlay"{% if overlay.active %} style="display:none"{% endif %}>
<div></div> <div></div>
</a> </a>
<a id="{{ overlay.def_name }}_active" href="{% url projector_overlay_deactivate overlay.def_name %}" class="overlay active"{% if not overlay.active %} style="display:none"{% endif %}> <a id="{{ overlay.def_name }}_active" href="{% url 'projector_overlay_deactivate' overlay.def_name %}" class="overlay active"{% if not overlay.active %} style="display:none"{% endif %}>
<div></div> <div></div>
</a> </a>

View File

@ -7,7 +7,7 @@
{% block content %} {% block content %}
<h1>{% trans 'Select widgets' %} <h1>{% trans 'Select widgets' %}
<small class="pull-right"> <small class="pull-right">
<a href="{% url dashboard %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a> <a href="{% url 'dashboard' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
</small> </small>
</h1> </h1>

View File

@ -16,6 +16,7 @@
<link href="{% static 'styles/bootstrap-responsive.css' %}" type="text/css" rel="stylesheet"> <link href="{% static 'styles/bootstrap-responsive.css' %}" type="text/css" rel="stylesheet">
<link href="{% static 'styles/base.css' %}" type="text/css" rel="stylesheet"> <link href="{% static 'styles/base.css' %}" type="text/css" rel="stylesheet">
<link href="{% static 'img/favicon.png' %}" type="image/png" rel="shortcut icon" /> <link href="{% static 'img/favicon.png' %}" type="image/png" rel="shortcut icon" />
{% block header %} {% block header %}
{% endblock %} {% endblock %}
</head> </head>
@ -34,14 +35,14 @@
<span class="caret"></span> <span class="caret"></span>
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
{% url user_settings as url_usersettings %} {% url 'user_settings' as url_usersettings %}
<li><a href="{% url user_settings %}"><i class="icon-cog"></i> {% trans "Profile" %}</a></li> <li><a href="{% url 'user_settings' %}"><i class="icon-cog"></i> {% trans "Profile" %}</a></li>
<li><a href="{% url password_change %}"><i class="icon-lock"></i> {% trans "Change password" %}</a></li> <li><a href="{% url 'password_change' %}"><i class="icon-lock"></i> {% trans "Change password" %}</a></li>
<li class="divider"></li> <li class="divider"></li>
<li><a href="{% url user_logout %}"><i class="icon-off"></i> {% trans "Logout" %}</a></li> <li><a href="{% url 'user_logout' %}"><i class="icon-off"></i> {% trans "Logout" %}</a></li>
</ul> </ul>
{% else %} {% else %}
<a href="{% url user_login %}" class="btn">{% trans "Login" %}</a> <a href="{% url 'user_login' %}" class="btn">{% trans "Login" %}</a>
{% endif %} {% endif %}
</div> </div>
</div> <!--/#header--> </div> <!--/#header-->
@ -109,7 +110,7 @@
<script src="{% static 'javascript/jquery.js' %}" type="text/javascript"></script> <script src="{% static 'javascript/jquery.js' %}" type="text/javascript"></script>
<script src="{% static 'javascript/utils.js' %}" type="text/javascript"></script> <script src="{% static 'javascript/utils.js' %}" type="text/javascript"></script>
<script src="{% static 'javascript/bootstrap.min.js' %}" type="text/javascript"></script> <script src="{% static 'javascript/bootstrap.min.js' %}" type="text/javascript"></script>
<script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script> <script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
{% block javascript %} {% block javascript %}
{% endblock %} {% endblock %}
</body> </body>

View File

@ -1,8 +1,8 @@
import json
from django.db import models from django.db import models
from django.core.serializers.json import DjangoJSONEncoder from django.core.serializers.json import DjangoJSONEncoder
from django.utils import simplejson as json
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.forms.fields import Field from django.forms.fields import Field
from django.forms.util import ValidationError as FormValidationError from django.forms.util import ValidationError as FormValidationError

View File

@ -21,8 +21,7 @@ from reportlab.rl_config import defaultPageSize
from django.conf import settings from django.conf import settings
from django.utils import formats from django.utils import formats
# Import gettext for python 2.5 support from django.utils.translation import ugettext as _
from django.utils.translation import ugettext as _, gettext
from openslides.config.models import config from openslides.config.models import config

View File

@ -11,11 +11,7 @@
""" """
import sys import sys
import json
try:
import json
except ImportError: # For python 2.5 support
import simplejson as json
from django.contrib import messages from django.contrib import messages
from django.contrib.auth.models import Permission from django.contrib.auth.models import Permission

View File

@ -10,11 +10,7 @@
:license: GNU GPL, see LICENSE for more details. :license: GNU GPL, see LICENSE for more details.
""" """
try: import json
import json
except ImportError:
# for python 2.5 support
import simplejson as json
try: try:
from cStringIO import StringIO from cStringIO import StringIO

View File

@ -1,8 +1,7 @@
Django==1.4.2 Django==1.5b2
django-mptt django-mptt==0.5.5
reportlab reportlab==2.6
PIL PIL==1.1.7
simplejson coverage==3.6b1
coverage django-discover-runner==0.2.2
django-discover-runner pep8==1.3.3
pep8