Updated template with twitter bootstrap. Step 1: agenda and application.
This commit is contained in:
parent
34a690c713
commit
7fde53a09e
@ -18,7 +18,3 @@
|
|||||||
.close_link.closed span {
|
.close_link.closed span {
|
||||||
background-image: url(../images/icons/close.png);
|
background-image: url(../images/icons/close.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
table#menu-overview {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{% extends "agenda/base_agenda.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
@ -12,26 +12,42 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
<h1>
|
||||||
{% if item %}
|
{% if item %}
|
||||||
<h1>{% trans "Edit item" %}</h1>
|
{% trans "Edit item" %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<h1>{% trans "New item" %}</h1>
|
{% trans "New item" %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<small class="pull-right">
|
||||||
|
<a href="{% url item_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
|
||||||
|
</small>
|
||||||
|
</h1>
|
||||||
<form action="" method="post">{% csrf_token %}
|
<form action="" method="post">{% csrf_token %}
|
||||||
{{ form.as_p }}
|
{% for field in form %}
|
||||||
<p>
|
<div class="control-group{% if field.errors %} error{% endif%}">
|
||||||
<button class="button" type="submit">
|
<label for="id_{{ field.name }}">{{ field.label }}{% if field.field.required %}<span class="required">*</span>{% endif %}:</label>
|
||||||
<span class="icon ok">{% trans 'Save' %}</span>
|
{{ field }}
|
||||||
</button>
|
{% if field.errors %}
|
||||||
<button class="button" type="submit" name="apply">
|
<span class="help-inline">{{ field.errors }}</span>
|
||||||
<span class="icon apply">{% trans 'Apply' %}</span>
|
{% endif %}
|
||||||
</button>
|
{% if field.help_text %}
|
||||||
<a href='{% url item_overview %}'>
|
<span class="help-inline">{{ field.help_text }})</span>
|
||||||
<button class="button" type="button" onclick="window.location='{% url item_overview %}'">
|
{% endif %}
|
||||||
<span class="icon cancel">{% trans 'Cancel' %}</span>
|
</div>
|
||||||
</button>
|
{% endfor %}
|
||||||
</a>
|
<div class="control-group">
|
||||||
</p>
|
<button class="btn btn-primary" type="submit">
|
||||||
|
{% trans 'Save' %}
|
||||||
|
</button>
|
||||||
|
<button class="btn" type="submit" name="apply">
|
||||||
|
{% trans 'Apply' %}
|
||||||
|
</button>
|
||||||
|
<a href='{% url item_overview %}'>
|
||||||
|
<button class="btn" type="button" onclick="window.location='{% url item_overview %}'">
|
||||||
|
{% trans 'Cancel' %}</span>
|
||||||
|
</button>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<small>* {% trans "required" %}</small>
|
<small>* {% trans "required" %}</small>
|
||||||
</form>
|
</form>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
</td>
|
</td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.agenda.can_manage_agenda %}
|
{% if perms.agenda.can_manage_agenda %}
|
||||||
<td class="tabledrag-hide">
|
<td class="tabledrag-hide" style="display: none;">
|
||||||
{% with form=item.weight_form %}
|
{% with form=item.weight_form %}
|
||||||
{{ form.weight }}
|
{{ form.weight }}
|
||||||
{{ form.self }}
|
{{ form.self }}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{% extends "agenda/base_agenda.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% load tags %}
|
{% load tags %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
@ -10,6 +10,9 @@
|
|||||||
{% block header %}
|
{% block header %}
|
||||||
<link type="text/css" rel="stylesheet" media="all" href="{% static 'styles/tabledrag.css' %}" />
|
<link type="text/css" rel="stylesheet" media="all" href="{% static 'styles/tabledrag.css' %}" />
|
||||||
<link type="text/css" rel="stylesheet" media="all" href="{% static 'styles/agenda.css' %}" />
|
<link type="text/css" rel="stylesheet" media="all" href="{% static 'styles/agenda.css' %}" />
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block javascript %}
|
||||||
<script type="text/javascript" src="{% static 'javascript/agenda.js' %}"></script>
|
<script type="text/javascript" src="{% static 'javascript/agenda.js' %}"></script>
|
||||||
<script type="text/javascript" src="{% static 'javascript/jquery.cookie.js' %}"></script>
|
<script type="text/javascript" src="{% static 'javascript/jquery.cookie.js' %}"></script>
|
||||||
{% if perms.agenda.can_manage_agenda %}
|
{% if perms.agenda.can_manage_agenda %}
|
||||||
@ -37,29 +40,38 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form action="" method="post">{% csrf_token %}
|
<form action="" method="post">{% csrf_token %}
|
||||||
{% if perms.agenda.can_manage_agenda %}
|
{% if perms.agenda.can_manage_agenda %}
|
||||||
<div id="changed-order-message" style="display:none" class="notification warning">
|
<div id="changed-order-message" style="display:none" class="alert alert-warning">
|
||||||
<em>{% trans "Do you want to save the changed order of agenda items?" %}<br>
|
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||||
<input type="submit" value="{% trans 'Yes' %}">
|
<p>{% trans "Do you want to save the changed order of agenda items?" %}</p>
|
||||||
<input type="button" onclick="window.location.href='{% url item_overview %}';" value="{% trans 'No' %}">
|
<p>
|
||||||
</em>
|
<button class="btn" type="submit">{% trans 'Yes' %}</button>
|
||||||
|
<a href="{% url item_overview %}" class="btn">{% trans 'No' %}</a>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<h1>{% trans "Agenda" %}</h1>
|
<h1>{% trans "Agenda" %}
|
||||||
|
<small class="pull-right">
|
||||||
|
{% 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>
|
||||||
|
{% 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>
|
||||||
|
</small>
|
||||||
|
</h1>
|
||||||
|
|
||||||
<p>
|
<label class="checkbox">
|
||||||
{% trans "Filter" %}:
|
|
||||||
<input type="checkbox" id="hide_closed_items"> {% trans "Hide closed items" %}
|
<input type="checkbox" id="hide_closed_items"> {% trans "Hide closed items" %}
|
||||||
</p>
|
</label>
|
||||||
{{ items|length }}
|
|
||||||
|
<small><i>{{ items|length }}
|
||||||
{% blocktrans count counter=items|length %}item{% plural %}items{% endblocktrans %}<span id="hiddencount"></span>
|
{% blocktrans count counter=items|length %}item{% plural %}items{% endblocktrans %}<span id="hiddencount"></span>
|
||||||
<table id="menu-overview" class="agendatable">
|
</i></small>
|
||||||
|
<table id="menu-overview" class="table table-striped table-bordered">
|
||||||
<tr>
|
<tr>
|
||||||
<th width="50">{% trans "Done" %}</th>
|
<th width="10px"></th>
|
||||||
<th>{% trans "Item" %}</th>
|
<th>{% trans "Item" %}</th>
|
||||||
{% if perms.agenda.can_manage_agenda %}
|
{% if perms.agenda.can_manage_agenda %}
|
||||||
<th width="200">{% trans "Comment" %}</th>
|
<th width="200">{% trans "Comment" %}</th>
|
||||||
@ -68,7 +80,7 @@
|
|||||||
<th width="50">{% trans "Actions" %}</th>
|
<th width="50">{% trans "Actions" %}</th>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.agenda.can_manage_agenda %}
|
{% if perms.agenda.can_manage_agenda %}
|
||||||
<th class="tabledrag-hide">{% trans "Weight" %}</th>
|
<th class="tabledrag-hide" style="display: none;">{% trans "Weight" %}</th>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="topline{% if active_sid == 'agenda' %} activeline{% endif %}">
|
<tr class="topline{% if active_sid == 'agenda' %} activeline{% endif %}">
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{% extends "agenda/base_agenda.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
|
@ -212,6 +212,7 @@ def register_tab(request):
|
|||||||
selected = request.path.startswith('/agenda/')
|
selected = request.path.startswith('/agenda/')
|
||||||
return Tab(
|
return Tab(
|
||||||
title=_('Agenda'),
|
title=_('Agenda'),
|
||||||
|
app='agenda',
|
||||||
url=reverse('item_overview'),
|
url=reverse('item_overview'),
|
||||||
permission=request.user.has_perm('agenda.can_see_agenda')
|
permission=request.user.has_perm('agenda.can_see_agenda')
|
||||||
or request.user.has_perm('agenda.can_manage_agenda'),
|
or request.user.has_perm('agenda.can_manage_agenda'),
|
||||||
|
@ -1,66 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% load tags %}
|
|
||||||
{% load i18n %}
|
|
||||||
{% load staticfiles %}
|
|
||||||
|
|
||||||
{% block submenu %}
|
|
||||||
{% url application_overview as url_applicationoverview %}
|
|
||||||
<h4>{% trans "Motions" %}</h4>
|
|
||||||
<ul>
|
|
||||||
<li class="{% if request.path == url_applicationoverview %}selected{% endif %}"><a href="{% url application_overview %}">{% trans "All motions" %}</a></li>
|
|
||||||
{% if perms.application.can_create_application or perms.application.can_manage_application %}
|
|
||||||
<li class="{% active request '/application/new' %}"><a href="{% url application_new %}">{% trans "New motion" %}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.application.can_manage_application %}
|
|
||||||
<li class="{% active request '/application/import' %}"><a href="{% url application_import %}">{% trans 'Import motions' %}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
<li><a href="{% url print_applications %}"><img src="{% static 'images/icons/pdf.png' %}"> {% trans 'All motions as PDF' %}</a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
{# second submenu #}
|
|
||||||
{% if application %}
|
|
||||||
<br>
|
|
||||||
<h3>{% trans "Application No." %}
|
|
||||||
{% if application.number != None %}
|
|
||||||
{{ application.number }}
|
|
||||||
{% else %}
|
|
||||||
<i>[-]</i>
|
|
||||||
{% endif %}
|
|
||||||
</h3>
|
|
||||||
<ul>
|
|
||||||
{# view application #}
|
|
||||||
{% url application_view application.id as url_applicationview %}
|
|
||||||
<li class="{% if request.path == url_applicationview %}selected{% endif %}"><a href="{% url application_view application.id %}">{% trans 'View motion' %}</a></li>
|
|
||||||
{# edit application #}
|
|
||||||
{% if "edit" in actions %}
|
|
||||||
{% url application_edit application.id as url_applicationedit %}
|
|
||||||
<li class="{% if request.path == url_applicationedit %}selected{% endif %}"><a href="{% url application_edit application.id %}"><img src="{% static 'images/icons/edit.png' %}"> {% trans 'Edit motion' %}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{# delete application #}
|
|
||||||
{% if "delete" in actions %}
|
|
||||||
<li><a href="{% url application_delete application.id %}"><img src="{% static 'images/icons/delete.png' %}"> {% trans 'Delete motion' %}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{# PDF #}
|
|
||||||
<li><a href="{% url print_application application.id %}"><img src="{% static 'images/icons/pdf.png' %}"> {% trans 'Motion as PDF' %}</a></li>
|
|
||||||
{# activate and polls #}
|
|
||||||
{% if perms.projector.can_manage_projector %}
|
|
||||||
<li>
|
|
||||||
<a class="activate_link {% if item.active %}active{% endif %}" href="{% url projector_activate_slide application.sid %}"><img src="{% static 'images/icons/projector.png' %}"> {% trans 'Show Application' %}</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% if perms.application.can_manage_application %}
|
|
||||||
{% for poll in application.polls %}
|
|
||||||
{% url application_poll_view poll.id as url_applicationpollview %}
|
|
||||||
<li class="{% if request.path == url_applicationpollview %}selected{% endif %}"><a href="{% url application_poll_view poll.id %}"><img src="{% static 'images/icons/edit.png' %}"> {{ forloop.counter }}. {% trans "Vote" %}</a></li>
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
{# Agenda Item #}
|
|
||||||
{% if perms.agenda.can_manage_agenda %}
|
|
||||||
<li>
|
|
||||||
<a href="{% url application_create_agenda application.id %}">{% trans 'New agenda item' %}</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
|
@ -1,4 +1,4 @@
|
|||||||
{% extends "application/base_application.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
@ -12,28 +12,43 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
<h1>
|
||||||
{% if application %}
|
{% if application %}
|
||||||
<h1>{% trans "Edit motion" %}</h1>
|
{% trans "Edit motion" %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<h1>{% trans "New motion" %}</h1>
|
{% trans "New motion" %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<small class="pull-right">
|
||||||
|
<a href="{% url application_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
|
||||||
|
</small>
|
||||||
|
</h1>
|
||||||
<form action="" method="post">{% csrf_token %}
|
<form action="" method="post">{% csrf_token %}
|
||||||
{{ form.as_p }}
|
{% for field in form %}
|
||||||
|
<div class="control-group{% if field.errors %} error{% endif%}">
|
||||||
|
<label for="id_{{ field.name }}">{{ field.label }}{% if field.field.required %}<span class="required">*</span>{% endif %}:</label>
|
||||||
|
{{ field }}
|
||||||
|
{% if field.errors %}
|
||||||
|
<span class="help-inline">{{ field.errors }}</span>
|
||||||
|
{% endif %}
|
||||||
|
{% if field.help_text %}
|
||||||
|
<span class="help-inline">{{ field.help_text }})</span>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
{{ managerform.as_p }}
|
{{ managerform.as_p }}
|
||||||
<p>
|
<div class="control-group">
|
||||||
<button class="button" type="submit">
|
<button class="btn btn-primary" type="submit">
|
||||||
<span class="icon ok">{% trans 'Save' %}</span>
|
{% trans 'Save' %}
|
||||||
</button>
|
</button>
|
||||||
<button class="button" type="submit" name="apply">
|
<button class="btn" type="submit" name="apply">
|
||||||
<span class="icon apply">{% trans 'Apply' %}</span>
|
{% trans 'Apply' %}
|
||||||
</button>
|
</button>
|
||||||
<a href='{% url application_overview %}'>
|
<a href='{% url application_overview %}'>
|
||||||
<button class="button" type="button" onclick="window.location='{% url application_overview %}'">
|
<button class="btn" type="button" onclick="window.location='{% url application_overview %}'">
|
||||||
<span class="icon cancel">{% trans 'Cancel' %}</span>
|
{% trans 'Cancel' %}</span>
|
||||||
</button>
|
</button>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</div>
|
||||||
<small>* {% trans "required" %}</small>
|
<small>* {% trans "required" %}</small>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
{% extends "application/base_application.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} – {% trans "Import motions" %} {% endblock %}
|
{% block title %}{{ block.super }} – {% trans "Import motions" %} {% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{% trans "Import motions" %}</h1>
|
<h1>{% trans "Import motions" %}
|
||||||
<p>{% trans 'Select a CSV file to import motions!' %}</p>
|
<small class="pull-right">
|
||||||
|
<a href="{% url application_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
|
||||||
|
</small>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<p>{% trans 'Select a CSV file to import motions!' %}</p>
|
||||||
<p>{% trans 'Required comma separated values: <code>{number, title, text, reason, first_name, last_name}</code> (<code>number</code> and <code>reason</code> are optional and may be empty)' %}
|
<p>{% trans 'Required comma separated values: <code>{number, title, text, reason, first_name, last_name}</code> (<code>number</code> and <code>reason</code> are optional and may be empty)' %}
|
||||||
<br>
|
<br>
|
||||||
{% trans 'Required CSV file encoding: UTF-8 (Unicode).' %}
|
{% trans 'Required CSV file encoding: UTF-8 (Unicode).' %}
|
||||||
@ -17,17 +21,26 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<form enctype="multipart/form-data" action="" method="post">{% csrf_token %}
|
<form enctype="multipart/form-data" action="" method="post">{% csrf_token %}
|
||||||
{{ form.as_p }}
|
{% for field in form %}
|
||||||
<p>
|
<div class="control-group{% if field.errors %} error{% endif%}">
|
||||||
<button class="button" type="submit">
|
<label for="id_{{ field.name }}">{{ field.label }}{% if field.field.required %}<span class="required">*</span>{% endif %}:</label>
|
||||||
<span class="icon import">{% trans 'Import' %}</span>
|
{{ field }}
|
||||||
</button>
|
{% if field.errors %}
|
||||||
<a href="{% url application_overview%}">
|
<span class="help-inline">{{ field.errors }}</span>
|
||||||
<button class="button" type="button" onclick="window.location='{% url application_overview %}'">
|
{% endif %}
|
||||||
<span class="icon cancel">{% trans 'Cancel' %}</span>
|
{% if field.help_text %}
|
||||||
|
<span class="help-inline">{{ field.help_text }})</span>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
<div class="control-group">
|
||||||
|
<button class="btn btn-primary" type="submit">
|
||||||
|
{% trans 'Import' %}
|
||||||
</button>
|
</button>
|
||||||
|
<a href='{% url application_overview %}' class="btn">
|
||||||
|
{% trans 'Cancel' %}
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</div>
|
||||||
<small>* {% trans "required" %}</small>
|
<small>* {% trans "required" %}</small>
|
||||||
</form>
|
</form>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{% extends "application/base_application.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% load tags %}
|
{% load tags %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
@ -7,17 +7,31 @@
|
|||||||
{% block title %}{{ block.super }} – {% trans "Motions" %}{% endblock %}
|
{% block title %}{{ block.super }} – {% trans "Motions" %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{% trans "Motions" %}</h1>
|
<h1>{% trans "Motions" %}
|
||||||
<p><form action="{{ request.url }}" name="filter" method="get">
|
<small class="pull-right">
|
||||||
{% trans "Filter" %}:
|
{% if perms.application.can_manage_application %}
|
||||||
|
<a href="{% url application_new %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'New motion' %}"><i class="icon-plus"></i> {% trans "New" %}</a>
|
||||||
|
<a href="{% url application_import %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Import motions' %}"><i class="icon-share-alt"></i> {% trans 'Import' %}</a>
|
||||||
|
{% endif %}
|
||||||
|
<a href="{% url print_applications %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print all motions as PDF' %}"><i class="icon-print"></i> PDF</a>
|
||||||
|
</small>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<form action="{{ request.url }}" name="filter" method="get" class="form-inline">
|
||||||
{% if min_supporters > 0 %}
|
{% if min_supporters > 0 %}
|
||||||
|
<label class="checkbox">
|
||||||
<input type="checkbox" name="needsup" onchange="document.forms['filter'].submit()"
|
<input type="checkbox" name="needsup" onchange="document.forms['filter'].submit()"
|
||||||
{% if 'on' in request.GET.needsup %}checked{% endif %}> {% trans "Need supporters" %}
|
{% if 'on' in request.GET.needsup %}checked{% endif %}> {% trans "Need supporters" %}
|
||||||
|
</label>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<label class="checkbox">
|
||||||
<input type="checkbox" name="number" onchange="document.forms['filter'].submit()"
|
<input type="checkbox" name="number" onchange="document.forms['filter'].submit()"
|
||||||
{% if 'on' in request.GET.number %}checked{% endif %}> {% trans "Without number" %}
|
{% if 'on' in request.GET.number %}checked{% endif %}> {% trans "Without number" %}
|
||||||
|
</label>
|
||||||
|
<label class="checkbox">
|
||||||
<input type="checkbox" name="status" onchange="document.forms['filter'].submit()"
|
<input type="checkbox" name="status" onchange="document.forms['filter'].submit()"
|
||||||
{% if 'on' in request.GET.status %}checked{% endif %}> {% trans "Status" %}:
|
{% if 'on' in request.GET.status %}checked{% endif %}> {% trans "Status" %}:
|
||||||
|
</label>
|
||||||
<select class="default-input" name="statusvalue" onchange="{% if 'on' in request.GET.status %}document.forms['filter'].submit(){% endif %}">
|
<select class="default-input" name="statusvalue" onchange="{% if 'on' in request.GET.status %}document.forms['filter'].submit(){% endif %}">
|
||||||
<option value="pub" {% if 'pub' in request.GET.statusvalue %}selected{% endif %}>{% trans "Not yet authorized" %}</option>
|
<option value="pub" {% if 'pub' in request.GET.statusvalue %}selected{% endif %}>{% trans "Not yet authorized" %}</option>
|
||||||
<option value="per" {% if 'on' in request.GET.status and 'per' in request.GET.statusvalue %}selected{% endif %}>{% trans "Authorized" %}</option>
|
<option value="per" {% if 'on' in request.GET.status and 'per' in request.GET.statusvalue %}selected{% endif %}>{% trans "Authorized" %}</option>
|
||||||
@ -26,11 +40,12 @@
|
|||||||
<option value="wit" {% if 'on' in request.GET.status and 'wit' in request.GET.statusvalue %}selected{% endif %}>{% trans "Withdrawen (by submitter)" %}</option>
|
<option value="wit" {% if 'on' in request.GET.status and 'wit' in request.GET.statusvalue %}selected{% endif %}>{% trans "Withdrawen (by submitter)" %}</option>
|
||||||
<option value="rev" {% if 'rev' in request.GET.statusvalue %}selected{% endif %}>{% trans "Needs Review" %}</option>
|
<option value="rev" {% if 'rev' in request.GET.statusvalue %}selected{% endif %}>{% trans "Needs Review" %}</option>
|
||||||
</select>
|
</select>
|
||||||
</form>
|
|
||||||
</p>
|
</form>
|
||||||
{{ applications|length }}
|
<small><i>{{ applications|length }}
|
||||||
{% blocktrans count counter=applications|length %}motion{% plural %}motions{% endblocktrans %}
|
{% blocktrans count counter=applications|length %}motion{% plural %}motions{% endblocktrans %}
|
||||||
<table>
|
</i></small>
|
||||||
|
<table class="table table-striped table-bordered">
|
||||||
<tr>
|
<tr>
|
||||||
<th><a href="?sort=number{% if 'number' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Number" %}</a></th>
|
<th><a href="?sort=number{% if 'number' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Number" %}</a></th>
|
||||||
<th><a href="?sort=title{% if 'title' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Motion title" %}</a></th>
|
<th><a href="?sort=title{% if 'title' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Motion title" %}</a></th>
|
||||||
|
@ -1,22 +1,48 @@
|
|||||||
{% extends 'application/base_application.html' %}
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load staticfiles %}
|
{% load staticfiles %}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
{{ block.super }} – {% trans "Motion" %} "{{ application.public_version.title }}"
|
{{ block.super }} - {% trans "Motion" %} {{ application.number }}, {{ ballot }}. {% trans "Vote" %}
|
||||||
– {{ ballot }}. {% trans "Vote" %}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{{ application.public_version.title }} ({% trans "Motion" %}
|
<h1>
|
||||||
{{ application.number }}) – {{ ballot }}. {% trans "Vote" %}</h1>
|
{{ application.title }}
|
||||||
<i class="helptext">{% trans "Special values" %}: -1 = {% trans 'majority' %}; -2 = {% trans 'undocumented' %}</i>
|
<small>
|
||||||
|
{% trans "Motion" %} {{ application.number }}, {{ ballot }}. {% trans "Vote" %}
|
||||||
|
</small>
|
||||||
|
<small class="pull-right">
|
||||||
|
<div class="btn-toolbar">
|
||||||
|
<a href="{% url application_view application.id %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to motion" %}</a>
|
||||||
|
<div class="btn-group">
|
||||||
|
<a data-toggle="dropdown" href="#" class="btn btn-mini dropdown-toggle">
|
||||||
|
{% trans 'More actions' %}
|
||||||
|
<span class="caret"></span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu pull-right">
|
||||||
|
<!-- delete -->
|
||||||
|
{% if "delete" in actions %}
|
||||||
|
<li><a href="{% url application_poll_delete poll.id %}"><i class="icon-remove"></i> {% trans 'Delete Vote' %}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
<!-- activate projector -->
|
||||||
|
{% if perms.projector.can_manage_projector %}
|
||||||
|
<li>
|
||||||
|
<a class="activate_link {% if item.active %}active{% endif %}" href="{% url projector_activate_slide application.sid %}"><i class="icon-facetime-video"></i> {% trans 'Show Application' %}</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</small>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<i class="helptext">{% trans "Special values" %}: -1 = {% trans 'majority' %}; -2 = {% trans 'undocumented' %}</i>
|
||||||
<form action="" method="post" class="small-form">{% csrf_token %}
|
<form action="" method="post" class="small-form">{% csrf_token %}
|
||||||
{{ pre_form }}
|
{{ pre_form }}
|
||||||
<span id="poll_id" style="display:none">{{ poll.id }}</span>
|
<span id="poll_id" style="display:none">{{ poll.id }}</span>
|
||||||
|
<table class="table table-striped table-bordered" style="width: auto;">
|
||||||
<table class="table" style="width: auto;">
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>{% trans "Option" %}</th>
|
<th>{% trans "Option" %}</th>
|
||||||
<th>{% trans "Votes" %}</th>
|
<th>{% trans "Votes" %}</th>
|
||||||
@ -36,29 +62,24 @@
|
|||||||
<td>{{ pollform.votescast.errors }}{{ pollform.votescast }}</td>
|
<td>{{ pollform.votescast.errors }}{{ pollform.votescast }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
{{ post_form }}
|
{{ post_form }}
|
||||||
|
<!-- ballot paper button -->
|
||||||
<p>
|
<p>
|
||||||
<a href='{% url print_application_poll poll.id %}'>
|
<a href='{% url print_application_poll poll.id %}' class="btn">
|
||||||
<button class="button" type="button" onclick="window.location='{% url print_application_poll poll.id %}'">
|
<i class="icon-print"></i> {% trans 'Ballot paper as PDF' %}
|
||||||
<span class="icon pdf">{% trans 'Ballot paper as PDF' %}</span>
|
|
||||||
</button>
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<button class="button" type="submit">
|
|
||||||
<span class="icon ok">{% trans 'Save' %}</span>
|
|
||||||
</button>
|
|
||||||
<button class="button" type="submit" name="apply">
|
|
||||||
<span class="icon apply">{% trans 'Apply' %}</span>
|
|
||||||
</button>
|
|
||||||
<a href='{% url application_view application.id %}'>
|
|
||||||
<button class="button" type="button" onclick="window.location='{% url application_view application.id %}'">
|
|
||||||
<span class="icon cancel">{% trans 'Cancel' %}</span>
|
|
||||||
</button>
|
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
<!-- Control buttons -->
|
||||||
|
<div class="control-group">
|
||||||
|
<button type="submit" class="btn btn-primary">
|
||||||
|
{% trans 'Save' %}
|
||||||
|
</button>
|
||||||
|
<button type="submit" name="apply" class="btn">
|
||||||
|
{% trans 'Apply' %}
|
||||||
|
</button>
|
||||||
|
<a href='{% url application_view application.id %}' class="btn">
|
||||||
|
{% trans 'Cancel' %}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,221 +1,73 @@
|
|||||||
{% extends "application/base_application.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% load tags %}
|
{% load tags %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load staticfiles %}
|
{% load staticfiles %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} – {% trans "Motion" %} "{{ version.title }}"{% endblock %}
|
{% block title %}
|
||||||
|
{{ block.super }} - {% trans "Motion" %}
|
||||||
|
{% if application.number != None %}
|
||||||
{% block submenu %}
|
{{ application.number }}
|
||||||
{{ block.super }}
|
{% else %}
|
||||||
|
[{% trans "no number" %}]
|
||||||
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div id="sidebar">
|
<h1>
|
||||||
<div class="box">
|
{{ version.title }}
|
||||||
<h4>{% trans "Submitter" %}:</h4>
|
<small>
|
||||||
{{ application.submitter }}
|
{% if application.number != None %}
|
||||||
{% if user == application.submitter.user %}
|
{% trans "Motion" %} {{ application.number }},
|
||||||
<img src="{% static 'images/icons/user-information.png' %}" title="{% trans 'You!' %}">
|
{% else %}
|
||||||
|
<i>[{% trans "no number" %}]</i>,
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if min_supporters > 0 %}
|
|
||||||
<h4>{% trans "Supporters" %}: *</h4>
|
|
||||||
{% if not application.supporters %}
|
|
||||||
-
|
|
||||||
{% else %}
|
|
||||||
<ol>
|
|
||||||
{% for supporter in application.supporters %}
|
|
||||||
<li> {{ supporter }}</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ol>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<h4>{% trans "Status" %}:</h4>
|
|
||||||
{% if application.status != "pub" %}
|
|
||||||
{% trans application.get_status_display %}
|
|
||||||
<br>
|
|
||||||
{% endif %}
|
|
||||||
{% for note in application.notes %}
|
|
||||||
{{ note }}
|
|
||||||
{% if not forloop.last %}<br>{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<h4>{% trans "Vote results" %}:</h4>
|
|
||||||
{% with application.polls as polls %}
|
|
||||||
{% if not polls.exists %}
|
|
||||||
{% if perms.application.can_manage_application %}
|
|
||||||
{% if "genpoll" in actions %}
|
|
||||||
<a href='{% url application_gen_poll application.id %}'>
|
|
||||||
<span class="button">
|
|
||||||
<span class="icon statistics">{% trans 'New vote' %}</span>
|
|
||||||
</span>
|
|
||||||
</a>
|
|
||||||
{% else %}
|
|
||||||
-
|
|
||||||
{% endif %}
|
|
||||||
{% else %}
|
|
||||||
-
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
<ul class="results">
|
|
||||||
{% for poll in polls %}
|
|
||||||
{% if perms.application.can_manage_application or poll.has_votes %}
|
|
||||||
<li>
|
|
||||||
{% if perms.application.can_manage_application %}
|
|
||||||
<strong>{{ forloop.counter }}. {% trans "Vote" %} </strong>
|
|
||||||
<a class="icon edit" href="{% url application_poll_view poll.id %}" title="{% trans 'Edit Vote' %}">
|
|
||||||
<span></span>
|
|
||||||
</a>
|
|
||||||
<a class="icon delete" href="{% url application_poll_delete poll.id %}" title="{% trans 'Delete Vote' %}">
|
|
||||||
<span></span>
|
|
||||||
</a>
|
|
||||||
{% elif poll.has_votes %}
|
|
||||||
<strong>{{ forloop.counter }}. {% trans "Vote" %}:</strong>
|
|
||||||
{% endif %}
|
|
||||||
<br>
|
|
||||||
{% if poll.has_votes %}
|
|
||||||
{% with poll.get_options.0 as option %}
|
|
||||||
<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.Abstain }}<br>
|
|
||||||
<img src="{% static 'images/icons/voting-invalid.png' %}" title="{% trans 'Invalid' %}"> {{ poll.print_votesinvalid }}<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' %}"> {{ poll.print_votescast }}
|
|
||||||
</div>
|
|
||||||
{% endwith %}
|
|
||||||
{% if perms.application.can_manage_application %}
|
|
||||||
{% if forloop.last %}
|
|
||||||
{% if "genpoll" in actions %}
|
|
||||||
<a href='{% url application_gen_poll application.id %}'>
|
|
||||||
<span class="button"><span class="icon statistics">{% trans 'New vote' %}</span></span>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% else %}
|
|
||||||
{% if perms.application.can_manage_application %}
|
|
||||||
<a href='{% url application_poll_view poll.id %}'>
|
|
||||||
<span class="button"><span class="icon statistics">{% trans 'Enter result' %}</span></span>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endwith %}
|
|
||||||
|
|
||||||
<h4>{% trans "Creation Time" %}:</h4>
|
|
||||||
{{ application.creation_time }}
|
|
||||||
|
|
||||||
<p></p>
|
|
||||||
{% if "wit" in actions and user == application.submitter.user %}
|
|
||||||
<p></p>
|
|
||||||
<a href='{% url application_set_status application.id 'wit' %}'>
|
|
||||||
<span class="button"><span class="icon revert">{% trans 'Withdraw' %}</span></span>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if perms.application.can_support_application and min_supporters > 0 %}
|
|
||||||
{% if "unsupport" in actions %}
|
|
||||||
<p></p>
|
|
||||||
<a href='{% url application_unsupport application.id %}'>
|
|
||||||
<span class="button"><span class="icon remove">{% trans 'Unsupport' %}</span></span>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
{% if "support" in actions %}
|
|
||||||
<p></p>
|
|
||||||
<a href='{% url application_support application.id %}'>
|
|
||||||
<span class="button"><span class="icon add">{% trans 'Support' %}</span></span>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
{% if min_supporters > 0 %}
|
|
||||||
<small>* {% trans "minimum required supporters" %}: {{ min_supporters }}</small>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<br><br>
|
|
||||||
|
|
||||||
{% if perms.application.can_manage_application %}
|
|
||||||
<div class="box">
|
|
||||||
<h4><b>{% trans "Manage motion" %}</b></h4>
|
|
||||||
|
|
||||||
{% if "pub" in actions or "per" in actions or "nop" in actions or "setnumber" in actions %}
|
|
||||||
<h4>{% trans "Formal validation" %}:</h4>
|
|
||||||
{% if "pub" in actions %}
|
|
||||||
<a href='{% url application_set_status application.id 'pub' %}'><span class="button"><span class="icon ok-blue">{% trans 'Publish' %}</span></span></a>
|
|
||||||
{% endif %}
|
|
||||||
{% if "per" in actions %}
|
|
||||||
<a href='{% url application_permit application.id %}'><span class="button"><span class="icon ok-blue">{% trans 'Permit' %}</span></span></a>
|
|
||||||
{% endif %}
|
|
||||||
{% if "nop" in actions %}
|
|
||||||
<a href='{% url application_notpermit application.id %}'><span class="button"><span class="icon reject">{% trans 'Not permit (reject)' %}</span></span></a>
|
|
||||||
{% endif %}
|
|
||||||
{% if "setnumber" in actions %}
|
|
||||||
<a href='{% url application_set_number application.id %}'><span class="button"><span class="icon number">{% trans 'Set Number' %}</span></span></a>
|
|
||||||
{% endif %}
|
|
||||||
</p>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<h4></h4>
|
|
||||||
{% if "acc" in actions or "rej" in actions %}
|
|
||||||
<h4>{% trans "Result after vote" %}:</h4>
|
|
||||||
{% if "acc" in actions %}
|
|
||||||
<a href='{% url application_set_status application.id 'acc' %}'>
|
|
||||||
<span class="button"><span class="icon done">{% trans 'Accepted' %}</span></span>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
{% if "rej" in actions %}
|
|
||||||
<a href='{% url application_set_status application.id 'rej' %}'>
|
|
||||||
<span class="button"><span class="icon reject">{% trans 'Rejected' %}</span></span>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if "adj" in actions or "noc" in actions or "com" in actions or "wit" in actions %}
|
|
||||||
<h4>{% trans 'Result after debate' %}:</h4>
|
|
||||||
{% if "adj" in actions %}
|
|
||||||
<a href='{% url application_set_status application.id 'adj' %}'><span class="button">{% trans 'Adjourned' %}</span></a><br>
|
|
||||||
{% endif %}
|
|
||||||
{% if "noc" in actions %}
|
|
||||||
<a href='{% url application_set_status application.id 'noc' %}'><span class="button">{% trans 'Not Concerned' %}</span></a><br>
|
|
||||||
{% endif %}
|
|
||||||
{% if "com" in actions %}
|
|
||||||
<a href='{% url application_set_status application.id 'com' %}'><span class="button">{% trans 'Commited a bill' %}</span></a><br>
|
|
||||||
{% endif %}
|
|
||||||
{% if "wit" in actions %}
|
|
||||||
<a href='{% url application_set_status application.id 'wit' %}'><span class="button">{% trans 'Withdrawed by Submitter' %}</span></a>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
<p></p>
|
|
||||||
<hr>
|
|
||||||
<h4>{% trans "For Administration only:" %}</h4>
|
|
||||||
<a href='{% url application_reset application.id %}'>
|
|
||||||
<span class="button"><span class="icon undo">{% trans 'Reset' %}</span></span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %} {# end perms.application.can_support_application #}
|
|
||||||
</div> <!-- end sidebar -->
|
|
||||||
|
|
||||||
|
|
||||||
<div id="main">
|
|
||||||
<h1>
|
|
||||||
{{ version.title }}
|
|
||||||
({% trans "Motion" %}
|
|
||||||
{% if application.number != None %}
|
|
||||||
{{ application.number }})
|
|
||||||
{% else %}
|
|
||||||
<i>[{% trans "no number" %}]</i>)
|
|
||||||
{% endif %}
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
{% trans "Version" %} {{ version.aid }}
|
{% trans "Version" %} {{ version.aid }}
|
||||||
|
</small>
|
||||||
|
<small class="pull-right">
|
||||||
|
<div class="btn-toolbar">
|
||||||
|
<a href="{% url application_overview %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
|
||||||
|
<a href="{% url print_application application.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">
|
||||||
|
<a data-toggle="dropdown" href="#" class="btn btn-mini dropdown-toggle">
|
||||||
|
{% trans 'More actions' %}
|
||||||
|
<span class="caret"></span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu pull-right">
|
||||||
|
<!-- edit -->
|
||||||
|
{% if "edit" in actions %}
|
||||||
|
<li><a href="{% url application_edit application.id %}"><i class="icon-edit"></i> {% trans 'Edit motion' %}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
<!-- delete -->
|
||||||
|
{% if "delete" in actions %}
|
||||||
|
<li><a href="{% url application_delete application.id %}"><i class="icon-remove"></i> {% trans 'Delete motion' %}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
<!-- activate projector -->
|
||||||
|
{% if perms.projector.can_manage_projector %}
|
||||||
|
<li>
|
||||||
|
<a class="activate_link {% if item.active %}active{% endif %}" href="{% url projector_activate_slide application.sid %}"><i class="icon-facetime-video"></i> {% trans 'Show Application' %}</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
<!-- edit poll -->
|
||||||
|
{% if perms.application.can_manage_application %}
|
||||||
|
{% for poll in application.polls %}
|
||||||
|
<li><a href="{% url application_poll_view poll.id %}"><i class="icon-edit"></i> {{ forloop.counter }}. {% trans "Vote" %}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
<!-- create agenda item -->
|
||||||
|
{% if perms.agenda.can_manage_agenda %}
|
||||||
|
<li>
|
||||||
|
<a href="{% url application_create_agenda application.id %}"><i class="icon-plus"></i> {% trans 'New agenda item' %}</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</small>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span9">
|
||||||
{% if application.public_version != application.last_version %}
|
{% if application.public_version != application.last_version %}
|
||||||
⋅
|
⋅
|
||||||
{% if version == application.public_version %}
|
{% if version == application.public_version %}
|
||||||
@ -225,82 +77,271 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<h2>{% trans "Motion" %}:</h2>
|
<!-- Text -->
|
||||||
|
<h4>{% trans "Motion text" %}:</h4>
|
||||||
{{ version.text|linebreaks }}
|
{{ version.text|linebreaks }}
|
||||||
|
<br>
|
||||||
<h2>{% trans "Reason" %}:</h2>
|
<!-- Reason -->
|
||||||
|
<h4>{% trans "Reason" %}:</h4>
|
||||||
{% if version.reason %}
|
{% if version.reason %}
|
||||||
{{ version.reason|linebreaks }}
|
{{ version.reason|linebreaks }}
|
||||||
{% else %}
|
{% else %}
|
||||||
–
|
–
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<br>
|
||||||
|
<!-- Version history -->
|
||||||
{% if application.versions|length > 1 %}
|
{% if application.versions|length > 1 %}
|
||||||
<h2>{% trans "Version History" %}:</h2>
|
<h4>{% trans "Version History" %}:</h4>
|
||||||
|
<table class="table table-striped table-bordered">
|
||||||
<table class="table valigntop" style="width: auto;">
|
<tr>
|
||||||
<tr>
|
<th></th>
|
||||||
<th></th>
|
<th>{% trans "Version" %}</th>
|
||||||
<th>{% trans "Version" %}</th>
|
<th>{% trans "Time" %}</th>
|
||||||
<th>{% trans "Time" %}</th>
|
<th>{% trans "Title" %}</th>
|
||||||
<th>{% trans "Title" %}</th>
|
<th>{% trans "Text" %}</th>
|
||||||
<th>{% trans "Text" %}</th>
|
<th>{% trans "Reason" %}</th>
|
||||||
|
</tr>
|
||||||
<th>{% trans "Reason" %}</th>
|
{% for revision in application.versions %}
|
||||||
</tr>
|
<tr>
|
||||||
{% for revision in application.versions %}
|
<td style="white-space:nowrap;">
|
||||||
<tr class="{% cycle 'odd' '' %}">
|
{% if application.status != "pub" %}
|
||||||
<td style="white-space:nowrap;">
|
{% if revision == application.permitted %}
|
||||||
{% if application.status != "pub" %}
|
<img title="{% trans 'Version authorized' %}" src="{% static 'images/icons/accept.png' %}">
|
||||||
{% if revision == application.permitted %}
|
|
||||||
<img title="{% trans 'Version authorized' %}" src="{% static 'images/icons/accept.png' %}">
|
|
||||||
{% else %}
|
|
||||||
{% if perms.application.can_manage_application %}
|
|
||||||
<a href="{% url application_version_permit revision.id %}"><img title="{% trans 'Permit Version' %}" src="{% static 'images/icons/accept-grey.png' %}"></a>
|
|
||||||
{% endif %}
|
|
||||||
{% if not revision.rejected and revision.id > application.permitted.id and perms.application.can_manage_application %}
|
|
||||||
<a href="{% url application_version_reject revision.id %}"><img title="{% trans 'Reject Version' %}" src="{% static 'images/icons/reject-grey.png' %}"></a>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% if revision.rejected %}
|
|
||||||
<img title="{% trans 'Version rejected' %}" src="{% static 'images/icons/reject.png' %}">
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
<td>{{ revision.aid }}</td>
|
|
||||||
<td><i>{{ revision.time }}</i></td>
|
|
||||||
<td>
|
|
||||||
{% ifchanged %}
|
|
||||||
<b>{{ revision.title }}</b>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<i>[{% trans "unchanged" %}]</i>
|
{% if perms.application.can_manage_application %}
|
||||||
{% endifchanged %}
|
<a href="{% url application_version_permit revision.id %}"><img title="{% trans 'Permit Version' %}" src="{% static 'images/icons/accept-grey.png' %}"></a>
|
||||||
</td>
|
{% endif %}
|
||||||
<td>
|
{% if not revision.rejected and revision.id > application.permitted.id and perms.application.can_manage_application %}
|
||||||
{% ifchanged %}
|
<a href="{% url application_version_reject revision.id %}"><img title="{% trans 'Reject Version' %}" src="{% static 'images/icons/reject-grey.png' %}"></a>
|
||||||
{{ revision.text|linebreaks }}
|
{% endif %}
|
||||||
{% else %}
|
{% endif %}
|
||||||
<i>[{% trans "unchanged" %}]</i>
|
{% if revision.rejected %}
|
||||||
{% endifchanged %}
|
<img title="{% trans 'Version rejected' %}" src="{% static 'images/icons/reject.png' %}">
|
||||||
</td>
|
{% endif %}
|
||||||
<td>
|
{% endif %}
|
||||||
{% ifchanged %}
|
</td>
|
||||||
{{ revision.reason|linebreaks }}
|
<td>{{ revision.aid }}</td>
|
||||||
{% else %}
|
<td><i>{{ revision.time }}</i></td>
|
||||||
<i>[{% trans "unchanged" %}]</i>
|
<td>
|
||||||
{% endifchanged %}
|
{% ifchanged %}
|
||||||
</td>
|
<b>{{ revision.title }}</b>
|
||||||
</tr>
|
{% else %}
|
||||||
{% endfor %}
|
<i>[{% trans "unchanged" %}]</i>
|
||||||
</table>
|
{% endifchanged %}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{% ifchanged %}
|
||||||
|
{{ revision.text|linebreaks }}
|
||||||
|
{% else %}
|
||||||
|
<i>[{% trans "unchanged" %}]</i>
|
||||||
|
{% endifchanged %}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{% ifchanged %}
|
||||||
|
{{ revision.reason|linebreaks }}
|
||||||
|
{% else %}
|
||||||
|
<i>[{% trans "unchanged" %}]</i>
|
||||||
|
{% endifchanged %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<!-- Log -->
|
||||||
|
{% if perms.application.can_manage_application %}
|
||||||
|
<h4>{% trans "Log" %}:</h4>
|
||||||
|
<small>{{ application.log|linebreaks }}</small>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
</div> <!--/span-->
|
||||||
|
|
||||||
|
<div class="span3">
|
||||||
|
<div class="well">
|
||||||
|
<!-- Submitter -->
|
||||||
|
<h5>{% trans "Submitter" %}:</h5>
|
||||||
|
{{ application.submitter }}
|
||||||
|
{% if user == application.submitter.user %}
|
||||||
|
<img src="{% static 'images/icons/user-information.png' %}" title="{% trans 'Me' %}">
|
||||||
|
{% endif %}
|
||||||
|
<!-- Supporters -->
|
||||||
|
{% if min_supporters > 0 %}
|
||||||
|
<h5>{% trans "Supporters" %}: *</h5>
|
||||||
|
{% if not application.supporters %}
|
||||||
|
-
|
||||||
|
{% else %}
|
||||||
|
<ol>
|
||||||
|
{% for supporter in application.supporters %}
|
||||||
|
<li> {{ supporter }}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ol>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
<!-- Status -->
|
||||||
|
<h5>{% trans "Status" %}:</h5>
|
||||||
|
{% if application.status != "pub" %}
|
||||||
|
{% trans application.get_status_display %}
|
||||||
|
<br>
|
||||||
|
{% endif %}
|
||||||
|
{% for note in application.notes %}
|
||||||
|
{{ note }}
|
||||||
|
{% if not forloop.last %}<br>{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
<!-- Vote results -->
|
||||||
|
<h5>{% trans "Vote results" %}:</h5>
|
||||||
|
{% with application.polls as polls %}
|
||||||
|
{% if not polls.exists %}
|
||||||
|
{% if perms.application.can_manage_application %}
|
||||||
|
{% if "genpoll" in actions %}
|
||||||
|
<a href='{% url application_gen_poll application.id %}' class="btn btn-mini">
|
||||||
|
<i class="icon-signal"></i> {% trans 'New vote' %}
|
||||||
|
</a>
|
||||||
|
{% else %}
|
||||||
|
-
|
||||||
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
-
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
<ol>
|
||||||
|
{% for poll in polls %}
|
||||||
|
{% if perms.application.can_manage_application or poll.has_votes %}
|
||||||
|
<li>{% trans "Vote" %}
|
||||||
|
{% if perms.application.can_manage_application %}
|
||||||
|
<a class="btn btn-mini" href="{% url application_poll_view poll.id %}" title="{% trans 'Edit Vote' %}"><i class="icon-edit"></i></a>
|
||||||
|
<a class="btn btn-mini" href="{% url application_poll_delete poll.id %}" title="{% trans 'Delete Vote' %}"><i class="icon-remove"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
<br>
|
||||||
|
{% if poll.has_votes %}
|
||||||
|
{% with poll.get_options.0 as option %}
|
||||||
|
<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.Abstain }}<br>
|
||||||
|
<img src="{% static 'images/icons/voting-invalid.png' %}" title="{% trans 'Invalid' %}"> {{ poll.print_votesinvalid }}<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' %}"> {{ poll.print_votescast }}
|
||||||
|
</div>
|
||||||
|
{% endwith %}
|
||||||
|
{% if perms.application.can_manage_application %}
|
||||||
|
{% if forloop.last %}
|
||||||
|
{% if "genpoll" in actions %}
|
||||||
|
<a href='{% url application_gen_poll application.id %}' class="btn btn-mini">
|
||||||
|
<i class="icon-signal"></i> {% trans 'New vote' %}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
{% if perms.application.can_manage_application %}
|
||||||
|
<span class="label label-info">{% trans 'No results' %}</span>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</ol>
|
||||||
|
{% endwith %}
|
||||||
|
<!-- Creation Time -->
|
||||||
|
<h5>{% trans "Creation Time" %}:</h5>
|
||||||
|
{{ application.creation_time }}
|
||||||
|
<!-- Widthdraw button -->
|
||||||
|
{% if "wit" in actions and user == application.submitter.user %}
|
||||||
|
<br><br>
|
||||||
|
<a href='{% url application_set_status application.id 'wit' %}' class="btn">
|
||||||
|
<span class="icon revert">{% trans 'Withdraw motion' %}</span>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
<!-- Support/Unsupport button -->
|
||||||
|
{% if perms.application.can_support_application and min_supporters > 0 %}
|
||||||
|
{% if "unsupport" in actions %}
|
||||||
|
<br><br>
|
||||||
|
<a href='{% url application_unsupport application.id %}' class="btn">
|
||||||
|
{% trans 'Unsupport motion' %}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
{% if "support" in actions %}
|
||||||
|
<br><br>
|
||||||
|
<a href='{% url application_support application.id %}'>
|
||||||
|
{% trans 'Support' %}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
<!-- Footnote: requried supporters -->
|
||||||
|
{% if min_supporters > 0 %}
|
||||||
|
<br><br>
|
||||||
|
<small>* {% trans "minimum required supporters" %}: {{ min_supporters }}</small>
|
||||||
|
{% endif %}
|
||||||
|
</div> <!--/well-->
|
||||||
|
|
||||||
{% if perms.application.can_manage_application %}
|
{% if perms.application.can_manage_application %}
|
||||||
<h2>{% trans "Log" %}:</h2>
|
<!-- Manage application box -->
|
||||||
{{ application.log|linebreaks }}
|
<div class="well">
|
||||||
|
<h4>{% trans "Manage motion" %}</h4>
|
||||||
|
<!-- Formal validation -->
|
||||||
|
{% if "pub" in actions or "per" in actions or "nop" in actions or "setnumber" in actions %}
|
||||||
|
<h5>{% trans "Formal validation" %}:</h5>
|
||||||
|
<div class="btn-group btn-group-vertical">
|
||||||
|
{% if "pub" in actions %}
|
||||||
|
<a href='{% url application_set_status application.id 'pub' %}' class="btn">{% trans 'Publish' %}</a>
|
||||||
|
{% endif %}
|
||||||
|
{% if "per" in actions %}
|
||||||
|
<a href='{% url application_permit application.id %}' class="btn btn-info">{% trans 'Permit' %}</a>
|
||||||
|
{% endif %}
|
||||||
|
{% if "nop" in actions %}
|
||||||
|
<a href='{% url application_notpermit application.id %}' class="btn">{% trans 'Not permit' %}</a>
|
||||||
|
{% endif %}
|
||||||
|
{% if "setnumber" in actions %}
|
||||||
|
<a href='{% url application_set_number application.id %}' class="btn">{% trans 'Set number' %}</a>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
<!-- Result after vote -->
|
||||||
|
{% if "acc" in actions or "rej" in actions %}
|
||||||
|
<h5>{% trans "Result after vote" %}:</h5>
|
||||||
|
<div class="btn-group btn-group-vertical">
|
||||||
|
{% if "acc" in actions %}
|
||||||
|
<a href='{% url application_set_status application.id 'acc' %}' class="btn btn-success">
|
||||||
|
<i class="icon-ok icon-white"></i> {% trans 'Accepted' %}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
{% if "rej" in actions %}
|
||||||
|
<a href='{% url application_set_status application.id 'rej' %}' class="btn btn-danger">
|
||||||
|
<i class="icon-ban-circle icon-white"></i> {% trans 'Rejected' %}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<!-- Result after debate -->
|
||||||
|
{% if "adj" in actions or "noc" in actions or "com" in actions or "wit" in actions %}
|
||||||
|
<br><br>
|
||||||
|
<div class="btn-group">
|
||||||
|
<a data-toggle="dropdown" href="#" class="btn dropdown-toggle">
|
||||||
|
{% trans 'More actions' %}
|
||||||
|
<span class="caret"></span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu pull-right">
|
||||||
|
{% if "adj" in actions %}
|
||||||
|
<li><a href='{% url application_set_status application.id 'adj' %}'>{% trans 'Adjourned' %}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% if "noc" in actions %}
|
||||||
|
<li><a href='{% url application_set_status application.id 'noc' %}'>{% trans 'Not Concerned' %}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% if "com" in actions %}
|
||||||
|
<li><a href='{% url application_set_status application.id 'com' %}'>{% trans 'Commited a bill' %}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% if "wit" in actions %}
|
||||||
|
<li><a href='{% url application_set_status application.id 'wit' %}'>{% trans 'Withdrawed by Submitter' %}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<p></p>
|
||||||
|
<hr>
|
||||||
|
<h5>{% trans "For Administration only:" %}</h5>
|
||||||
|
<a href='{% url application_reset application.id %}' class="btn btn-danger">
|
||||||
|
{% trans 'Reset' %}
|
||||||
|
</a>
|
||||||
|
</div> <!--/well-->
|
||||||
|
{% endif %} {# end perms.application.can_support_application #}
|
||||||
|
</div> <!--/span-->
|
||||||
|
</div> <!--/row-->
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -909,6 +909,7 @@ def register_tab(request):
|
|||||||
selected = True if request.path.startswith('/application/') else False
|
selected = True if request.path.startswith('/application/') else False
|
||||||
return Tab(
|
return Tab(
|
||||||
title=_('Applications'),
|
title=_('Applications'),
|
||||||
|
app='application',
|
||||||
url=reverse('application_overview'),
|
url=reverse('application_overview'),
|
||||||
permission=request.user.has_perm('application.can_see_application') or request.user.has_perm('application.can_support_application') or request.user.has_perm('application.can_support_application') or request.user.has_perm('application.can_manage_application'),
|
permission=request.user.has_perm('application.can_see_application') or request.user.has_perm('application.can_support_application') or request.user.has_perm('application.can_support_application') or request.user.has_perm('application.can_manage_application'),
|
||||||
selected=selected,
|
selected=selected,
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
</p>
|
</p>
|
||||||
{{ assignments|length }}
|
{{ assignments|length }}
|
||||||
{% blocktrans count counter=assignments|length %}election{% plural %}elections{% endblocktrans %}
|
{% blocktrans count counter=assignments|length %}election{% plural %}elections{% endblocktrans %}
|
||||||
<table>
|
<table class="table table-striped table-bordered">
|
||||||
<tr>
|
<tr>
|
||||||
<th><a href="?sort=name{% if 'name' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Election" %}</a></th>
|
<th><a href="?sort=name{% if 'name' in request.GET.sort and 'reverse' not in request.GET %}&reverse{%endif%}">{% trans "Election" %}</a></th>
|
||||||
<th>{% trans "Candidates" %}</th>
|
<th>{% trans "Candidates" %}</th>
|
||||||
|
@ -646,6 +646,7 @@ def register_tab(request):
|
|||||||
selected = request.path.startswith('/assignment/')
|
selected = request.path.startswith('/assignment/')
|
||||||
return Tab(
|
return Tab(
|
||||||
title=_('Elections'),
|
title=_('Elections'),
|
||||||
|
app='assignment',
|
||||||
url=reverse('assignment_overview'),
|
url=reverse('assignment_overview'),
|
||||||
permission=request.user.has_perm('assignment.can_see_assignment')
|
permission=request.user.has_perm('assignment.can_see_assignment')
|
||||||
or request.user.has_perm('assignment.can_nominate_other')
|
or request.user.has_perm('assignment.can_nominate_other')
|
||||||
|
@ -117,6 +117,7 @@ def register_tab(request):
|
|||||||
selected = request.path.startswith('/config/')
|
selected = request.path.startswith('/config/')
|
||||||
return Tab(
|
return Tab(
|
||||||
title=_('Configuration'),
|
title=_('Configuration'),
|
||||||
|
app='config',
|
||||||
url=reverse('config_general'),
|
url=reverse('config_general'),
|
||||||
permission=request.user.has_perm('config.can_manage_config'),
|
permission=request.user.has_perm('config.can_manage_config'),
|
||||||
selected=selected,
|
selected=selected,
|
||||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -16,10 +16,7 @@
|
|||||||
<h1>{% trans "Login" %}</h1>
|
<h1>{% trans "Login" %}</h1>
|
||||||
|
|
||||||
{% if form.errors %}
|
{% if form.errors %}
|
||||||
<div class="notification error">
|
<div class="alert alert-error">
|
||||||
<a class="close" href="#">
|
|
||||||
<img alt="close" title="{% trans 'Close this notification' %}" src="{% static 'images/icons/cross.png' %}">
|
|
||||||
</a>
|
|
||||||
{% for msg in form.non_field_errors %}
|
{% for msg in form.non_field_errors %}
|
||||||
<em>{{ msg }}</em>
|
<em>{{ msg }}</em>
|
||||||
{% if not forloop.last %}<br />{% endif %}
|
{% if not forloop.last %}<br />{% endif %}
|
||||||
@ -29,18 +26,10 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if first_time_message %}
|
{% if first_time_message %}
|
||||||
<div class="notification info">
|
<div class="alert alert-info">
|
||||||
<a class="close" href="#">
|
|
||||||
<img alt="close" title="{% trans 'Close this notification' %}" src="{% static 'images/icons/cross.png' %}">
|
|
||||||
</a>
|
|
||||||
<em>{{ first_time_message|safe }}</em>
|
<em>{{ first_time_message|safe }}</em>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<script>
|
|
||||||
$("div.notification").click(function () {
|
|
||||||
$(this).hide("fast");
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<form method="post" action="{% url user_login %}{% if next %}?next={{ next }}{% endif %}">
|
<form method="post" action="{% url user_login %}{% if next %}?next={{ next }}{% endif %}">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<table>
|
<table>
|
||||||
|
@ -61,7 +61,7 @@
|
|||||||
{% else %}
|
{% else %}
|
||||||
{{ users.count }} {% trans "of" %} {{ allusers }} {% trans "Participants" %} (= {{ percent }} %)
|
{{ users.count }} {% trans "of" %} {{ allusers }} {% trans "Participants" %} (= {{ percent }} %)
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<table>
|
<table class="table table-striped table-bordered">
|
||||||
<tr>
|
<tr>
|
||||||
<th><a href="?sort=first_name&reverse={% if 'first_name' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{% trans "First Name" %}</a></th>
|
<th><a href="?sort=first_name&reverse={% if 'first_name' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{% trans "First Name" %}</a></th>
|
||||||
<th><a href="?sort=last_name&reverse={% if 'last_name' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{% trans "Last Name" %}</a></th>
|
<th><a href="?sort=last_name&reverse={% if 'last_name' in sortfilter.sort and 'reverse' not in sortfilter %}1{% else %}---{%endif%}">{% trans "Last Name" %}</a></th>
|
||||||
|
@ -495,6 +495,7 @@ def register_tab(request):
|
|||||||
selected = request.path.startswith('/participant/')
|
selected = request.path.startswith('/participant/')
|
||||||
return Tab(
|
return Tab(
|
||||||
title=_('Participants'),
|
title=_('Participants'),
|
||||||
|
app='participant',
|
||||||
url=reverse('user_overview'),
|
url=reverse('user_overview'),
|
||||||
permission=request.user.has_perm('participant.can_see_participant') or
|
permission=request.user.has_perm('participant.can_see_participant') or
|
||||||
request.user.has_perm('participant.can_manage_participant'),
|
request.user.has_perm('participant.can_manage_participant'),
|
||||||
|
@ -358,6 +358,7 @@ def register_tab(request):
|
|||||||
selected = True if request.path.startswith('/projector/') else False
|
selected = True if request.path.startswith('/projector/') else False
|
||||||
return Tab(
|
return Tab(
|
||||||
title=_('Dashboard'),
|
title=_('Dashboard'),
|
||||||
|
app='dashboard',
|
||||||
url=reverse('dashboard'),
|
url=reverse('dashboard'),
|
||||||
permission=request.user.has_perm('projector.can_manage_projector') or
|
permission=request.user.has_perm('projector.can_manage_projector') or
|
||||||
request.user.has_perm('projector.can_see_dashboard'),
|
request.user.has_perm('projector.can_see_dashboard'),
|
||||||
|
BIN
openslides/static/img/favicon.png
Normal file
BIN
openslides/static/img/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
BIN
openslides/static/img/glyphicons-halflings-white.png
Normal file
BIN
openslides/static/img/glyphicons-halflings-white.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
BIN
openslides/static/img/glyphicons-halflings.png
Normal file
BIN
openslides/static/img/glyphicons-halflings.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
openslides/static/img/logo.png
Normal file
BIN
openslides/static/img/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.1 KiB |
6
openslides/static/javascript/bootstrap.min.js
vendored
Normal file
6
openslides/static/javascript/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -43,3 +43,115 @@ function new_message(text, type) {
|
|||||||
$('#notifications').append(message);
|
$('#notifications').append(message);
|
||||||
message.slideDown('fast');
|
message.slideDown('fast');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Functios for sidebar navigation
|
||||||
|
$(document).ready(function(){
|
||||||
|
// Resize navigation
|
||||||
|
$(window).resize(function(){
|
||||||
|
if($(this).width() < 1124) {
|
||||||
|
iconmenu();
|
||||||
|
if($(window).width() < 570) {
|
||||||
|
$('.table').each(function(){
|
||||||
|
if($(this).find('.table-wrapper').size() == 0) {
|
||||||
|
$(this).wrap('<div class="table-wrapper"></div>');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fullmenu();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if($(window).width() < 1124) {
|
||||||
|
iconmenu();
|
||||||
|
if($(window).width() < 570) {
|
||||||
|
$('.table').each(function(){
|
||||||
|
if($(this).find('.table-wrapper').size() == 0) {
|
||||||
|
$(this).wrap('<div class="table-wrapper"></div>');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fullmenu();
|
||||||
|
}
|
||||||
|
// Sticky navigation
|
||||||
|
$(window).scroll(function(){
|
||||||
|
var el = $('.leftmenu > ul');
|
||||||
|
if($(window).width() > 479) {
|
||||||
|
if ( ($(this).scrollTop() > 80) && ($(this).scrollLeft() < 10)) {
|
||||||
|
el.css({'position':'fixed','top':'10px','width':'14.15%'});
|
||||||
|
} else {
|
||||||
|
el.css({'position': 'relative', 'top': '0','width':'auto'});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (($(this).scrollTop() > 130) && ($(this).scrollLeft() < 10)){
|
||||||
|
el.css({'position':'fixed','top':'10px','width':'14.15%'});
|
||||||
|
} else {
|
||||||
|
el.css({'position': 'relative', 'top': '0','width':'auto'});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// Submenu with drop down
|
||||||
|
$('.leftmenu a').click(function(e){
|
||||||
|
if($(this).siblings('ul').size() == 1){
|
||||||
|
e.preventDefault();
|
||||||
|
var submenu = $(this).siblings('ul');
|
||||||
|
if($(this).hasClass('open')) {
|
||||||
|
if($(this).parents('.leftmenu').hasClass('lefticon')) {
|
||||||
|
submenu.fadeOut();
|
||||||
|
} else {
|
||||||
|
submenu.slideUp('fast');
|
||||||
|
}
|
||||||
|
$(this).removeClass('open');
|
||||||
|
} else {
|
||||||
|
if($(this).parents('.leftmenu').hasClass('lefticon')) {
|
||||||
|
submenu.fadeIn();
|
||||||
|
} else {
|
||||||
|
submenu.slideDown('fast');
|
||||||
|
}
|
||||||
|
$(this).addClass('open');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// Tooltips
|
||||||
|
$('.leftmenu').tooltip({
|
||||||
|
selector: "a[rel=tooltip]",
|
||||||
|
placement: 'right'
|
||||||
|
});
|
||||||
|
$('h1').tooltip({
|
||||||
|
selector: "a[rel=tooltip]",
|
||||||
|
placement: 'bottom'
|
||||||
|
});
|
||||||
|
$('body').tooltip({
|
||||||
|
selector: '.tooltip'
|
||||||
|
});
|
||||||
|
$('.tooltip-left').tooltip({
|
||||||
|
placement: 'left'
|
||||||
|
});
|
||||||
|
$('.tooltip-right').tooltip({
|
||||||
|
placement: 'right'
|
||||||
|
});
|
||||||
|
$('.tooltip-top').tooltip({
|
||||||
|
placement: 'top'
|
||||||
|
});
|
||||||
|
$('.tooltip-bottom').tooltip({
|
||||||
|
placement: 'bottom'
|
||||||
|
});
|
||||||
|
// Resize menu and content container
|
||||||
|
function iconmenu(){
|
||||||
|
$('.leftmenu').removeClass('span2').addClass('lefticon').addClass('span1');
|
||||||
|
$('.leftmenu > ul > li > a').each(function(){
|
||||||
|
atitle = $(this).text();
|
||||||
|
$(this).attr({'rel':'tooltip','title':atitle});
|
||||||
|
});
|
||||||
|
$('#content').removeClass('span10').addClass('span11');
|
||||||
|
}
|
||||||
|
|
||||||
|
function fullmenu(){
|
||||||
|
$('.leftmenu').removeClass('span1').removeClass('lefticon').addClass('span2');
|
||||||
|
$('.leftmenu > ul > li > a').each(function(){
|
||||||
|
$(this).attr({'rel':'','title':''});
|
||||||
|
});
|
||||||
|
$('#content').removeClass('span11').addClass('span10');
|
||||||
|
}
|
||||||
|
});
|
@ -1,615 +1,196 @@
|
|||||||
/**
|
/* Header */
|
||||||
* OpenSlides default template style
|
|
||||||
*
|
|
||||||
* :copyright: 2011, 2012 by OpenSlides team, see AUTHORS.
|
|
||||||
* :license: GNU GPL, see LICENSE for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
body {
|
|
||||||
padding: 0 0 0px;
|
|
||||||
margin:0;
|
|
||||||
background:url("../images/bg-submenu.gif") repeat-y scroll 0 0 #FFFFFF;
|
|
||||||
color:#1B110F;
|
|
||||||
font-family:'Lucida Grande',"Trebuchet MS",Verdana,sans-serif;
|
|
||||||
font-size:12px;
|
|
||||||
position:relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* HEADER */
|
|
||||||
#header {
|
#header {
|
||||||
position:relative;
|
background-color: #333333;
|
||||||
background:url("../images/bg-header.gif") repeat-x scroll center top #3D3020;
|
background-image: -moz-linear-gradient(top, #444444, #222222);
|
||||||
height:150px;
|
background-image: -ms-linear-gradient(top, #444444, #222222);
|
||||||
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
|
||||||
|
background-image: -webkit-linear-gradient(top, #444444, #222222);
|
||||||
|
background-image: -o-linear-gradient(top, #444444, #222222);
|
||||||
|
background-image: linear-gradient(top, #444444, #222222);
|
||||||
|
box-shadow: 0 0 7px rgba(0,0,0,0.6);
|
||||||
|
height: 35px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
padding: 7px 20px 0;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
#logo {
|
#header .logo img {
|
||||||
position:absolute;
|
height: 30px;
|
||||||
top: 25px;
|
padding-left: 3px;
|
||||||
left: 75px;
|
|
||||||
}
|
}
|
||||||
#header_title {
|
#header .title {
|
||||||
position:absolute;
|
font-size: 20px;
|
||||||
height:40px;
|
color: #999999;
|
||||||
left:230px;
|
|
||||||
top:25px;
|
|
||||||
font-size:34px;
|
|
||||||
font-weight: bold;
|
|
||||||
color:#FFFFFF;
|
|
||||||
}
|
|
||||||
#header_subtitle {
|
|
||||||
position:absolute;
|
|
||||||
color:#B9A894;
|
|
||||||
left:230px;
|
|
||||||
top:70px;
|
|
||||||
font-size:14px;
|
|
||||||
}
|
|
||||||
#header_userprofile, #header_userprofile a {
|
|
||||||
color:#B9A894;
|
|
||||||
}
|
|
||||||
#header_userprofile {
|
|
||||||
position:absolute;
|
|
||||||
font-size:10px;
|
|
||||||
top:10px;
|
|
||||||
right:20px;
|
|
||||||
}
|
|
||||||
#header_userprofile li {
|
|
||||||
float:right;
|
|
||||||
margin:0 10px 0 0;
|
|
||||||
}
|
|
||||||
#header_userprofile li#last {
|
|
||||||
clear:both;
|
|
||||||
color:#6A5644;
|
|
||||||
padding:8px 0 0;
|
|
||||||
}
|
|
||||||
#header_userprofile li strong {
|
|
||||||
color:#ECE0D2;
|
|
||||||
font-weight:normal;
|
|
||||||
}
|
|
||||||
#header_userprofile li a {
|
|
||||||
color:#B9A894;
|
|
||||||
padding:1px 0 1px 10px;
|
|
||||||
text-decoration:none;
|
|
||||||
}
|
|
||||||
#header_userprofile li a:hover {
|
|
||||||
color:#ECE0D2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Main Menu */
|
h1 {
|
||||||
#mainmenu {
|
border-bottom: 1px solid #EEEEEE;
|
||||||
position:absolute;
|
margin: 0px 0 30px;
|
||||||
bottom:0;
|
padding-bottom: 9px;
|
||||||
left:197px;
|
|
||||||
z-index:1000;}
|
|
||||||
#mainmenu li {
|
|
||||||
float:left;
|
|
||||||
font-size:12px;
|
|
||||||
}
|
}
|
||||||
#mainmenu li a {
|
h5 {
|
||||||
border-radius:6px 6px 0px 0px;
|
margin-bottom: 0px;
|
||||||
background:none repeat scroll 0 0 #4F4743;
|
|
||||||
color:#A59A92;
|
|
||||||
display:block;
|
|
||||||
margin:0 3px;
|
|
||||||
padding:10px 12px;
|
|
||||||
text-decoration:none;
|
|
||||||
}
|
}
|
||||||
#mainmenu li a:hover {
|
/*h1 small a {
|
||||||
color:#ECE0D2;
|
background: none repeat scroll 0 0 #F1F1F1;
|
||||||
}
|
border: 0 none;
|
||||||
#mainmenu li.selected a {
|
font-family: sans-serif;
|
||||||
background:none repeat scroll 0 0 #FFFFFF;
|
font-size: 14px;
|
||||||
color:#333333;
|
margin-left: 4px;
|
||||||
|
padding: 3px 8px;
|
||||||
|
position: relative;
|
||||||
|
text-decoration: none;
|
||||||
|
top: -7px;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Wrapper */
|
|
||||||
#wrapper {
|
|
||||||
float:left;
|
|
||||||
line-height:140%;
|
/* Left Menu */
|
||||||
|
.leftmenu ul {
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.leftmenu ul ul {
|
||||||
|
display: none;
|
||||||
|
margin-left: 35px;
|
||||||
|
margin-top: -1px;
|
||||||
|
box-shadow: 0 1px 2px rgba(0,0,0,0.1);
|
||||||
|
}
|
||||||
|
.leftmenu ul li {
|
||||||
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
.leftmenu ul li a {
|
||||||
/* Sub Menu */
|
border-style: none solid solid;
|
||||||
#submenu {
|
border-width: 0 1px 1px;
|
||||||
float: left;
|
border-color: #dddddd;
|
||||||
width: 200px;
|
color: #666666;
|
||||||
margin-left: -100%;
|
display: block;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: #ffffff;
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
#submenu .section {
|
.leftmenu ul li:first-child a {
|
||||||
border-top:1px solid #2C2523;
|
border-top: 1px solid #DDDDDD;
|
||||||
}
|
|
||||||
#submenu .sectiontitle {
|
|
||||||
/*background-color: #2E2520*/
|
|
||||||
}
|
|
||||||
#submenu .section h4 {
|
|
||||||
border-top:1px solid #443C3A;
|
|
||||||
border-bottom:1px solid #B9A894;
|
|
||||||
color:#B9A894;
|
|
||||||
padding:15px 20px 10px 5px;
|
|
||||||
margin:0px;
|
|
||||||
margin-bottom:0px;
|
|
||||||
font-size: 16px;
|
|
||||||
text-align:right;
|
|
||||||
}
|
|
||||||
#submenu .section h3 {
|
|
||||||
border-bottom:1px dashed #B9A894;
|
|
||||||
color:#B9A894;
|
|
||||||
padding:15px 20px 10px 5px;
|
|
||||||
margin:0px;
|
|
||||||
margin-bottom:0px;
|
|
||||||
font-size: 16px;
|
|
||||||
text-align:right;
|
|
||||||
overflow:hidden;
|
|
||||||
}
|
|
||||||
#submenu li a {
|
|
||||||
color:#B9A894;
|
|
||||||
display:block;
|
|
||||||
font-size:11px;
|
|
||||||
padding:6px 20px 6px 2px;
|
|
||||||
text-align:right;
|
|
||||||
text-decoration:none;
|
|
||||||
}
|
|
||||||
.section li a:hover {
|
|
||||||
background:none repeat scroll 0 0 #443C3A;
|
|
||||||
}
|
|
||||||
#submenu li.selected a, .section li.selected a:hover {
|
|
||||||
background:none repeat scroll 0 0 #FFFFFF;
|
|
||||||
color:#333333;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.leftmenu ul li a span.ico {
|
||||||
/* Content */
|
|
||||||
#content {
|
|
||||||
margin-left: 200px;
|
|
||||||
padding: 3px 20px;
|
|
||||||
}
|
|
||||||
#content h1 {
|
|
||||||
font-size: 28px;
|
|
||||||
font-weight: normal;
|
|
||||||
line-height: 100%;
|
|
||||||
}
|
|
||||||
#content h2 {
|
|
||||||
margin-top: 40px;
|
|
||||||
}
|
|
||||||
#content h3 {
|
|
||||||
font-size: 20px;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Table */
|
|
||||||
table {
|
|
||||||
border-collapse:collapse;
|
|
||||||
border-color:#CCCCCC;
|
|
||||||
border-style:solid;
|
|
||||||
border-width:1px;
|
|
||||||
font-size:11px;
|
|
||||||
margin:0;
|
|
||||||
width:100%;
|
|
||||||
border-spacing:0px;
|
|
||||||
}
|
|
||||||
table th {
|
|
||||||
border-right:1px solid #CCCCCC;
|
|
||||||
color:#333333;
|
|
||||||
font-weight:bold;
|
|
||||||
padding:10px 10px 10px 10px;
|
|
||||||
text-align:left;
|
|
||||||
text-transform:uppercase;
|
|
||||||
}
|
|
||||||
table tr.odd td {
|
|
||||||
background:none repeat scroll 0 0 #F1F1F1;
|
|
||||||
}
|
|
||||||
table td {
|
|
||||||
background:none repeat scroll 0 0 #F7F7F7;
|
|
||||||
border-right:1px solid #CCCCCC;
|
|
||||||
line-height:120%;
|
|
||||||
padding: 10px 10px;
|
|
||||||
vertical-align:middle;
|
|
||||||
}
|
|
||||||
table tr:hover td, tr.odd:hover td {
|
|
||||||
background:none repeat scroll 0 0 #E8E4DE;
|
|
||||||
}
|
|
||||||
table a.table_delete {
|
|
||||||
background:url("../img/icons/cross.png") no-repeat scroll 0 0 transparent;
|
|
||||||
display:block;
|
|
||||||
float:left;
|
|
||||||
height:16px;
|
|
||||||
margin:0 10px 0 0;
|
|
||||||
padding:0;
|
|
||||||
text-indent:-9999px;
|
|
||||||
width:16px;
|
|
||||||
}
|
|
||||||
table a.table_edit {
|
|
||||||
background:url("../img/icons/pencil.png") no-repeat scroll 0 0 transparent;
|
|
||||||
display:block;
|
|
||||||
float:left;
|
|
||||||
height:16px;
|
|
||||||
margin:0 10px 0 0;
|
|
||||||
padding:0;
|
|
||||||
text-indent:-9999px;
|
|
||||||
width:16px;
|
|
||||||
}
|
|
||||||
.valigntop td {
|
|
||||||
vertical-align:top;
|
|
||||||
}
|
|
||||||
.agendatable td.dragcell {
|
|
||||||
padding: 0px 0 0px 10px;
|
|
||||||
}
|
|
||||||
.agendatable td img.center {
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.agendatable tr.activesummarychildline td {
|
|
||||||
background-color: #f5cfa2;
|
|
||||||
}
|
|
||||||
.cleantable, .cleantable td, .cleantable td:hover {
|
|
||||||
border:none;
|
|
||||||
background:none;
|
|
||||||
line-height:120%;
|
|
||||||
padding: 5px 0;
|
|
||||||
font-size:11px;
|
|
||||||
margin:0;
|
|
||||||
width: 0;
|
|
||||||
}
|
|
||||||
tr.total td {
|
|
||||||
border-top: 1px solid #333333;
|
|
||||||
background-color: #e3e3e3;
|
|
||||||
}
|
|
||||||
tr.topline td {
|
|
||||||
border-bottom: 1px solid #333333;
|
|
||||||
background-color: #e3e3e3;
|
|
||||||
}
|
|
||||||
table tr.emptyline, table tr.emptyline td, table tr.emptyline td:hover {
|
|
||||||
border-right: 0px;
|
|
||||||
border-top: 1px solid #CCCCCC;
|
|
||||||
border-bottom: 1px solid #CCCCCC;
|
|
||||||
background: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Links and Images */
|
|
||||||
a {
|
|
||||||
color:#41829F;
|
|
||||||
text-decoration: none;
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
background: #f9f9f9;
|
||||||
|
padding: 8px 10px 6px;
|
||||||
|
margin: 0 5px 0 0;
|
||||||
|
border-right: 1px solid #dddddd;
|
||||||
}
|
}
|
||||||
a:hover {
|
.leftmenu ul li a, .leftmenu ul li a span.ico {
|
||||||
text-decoration: underline;
|
-webkit-transition: background 0.2s ease-in-out;
|
||||||
|
-moz-transition: background 0.2s ease-in-out;
|
||||||
|
-ms-transition: background 0.2s ease-in-out;
|
||||||
|
-o-transition: background 0.2s ease-in-out;
|
||||||
|
transition: background 0.2s ease-in-out;
|
||||||
}
|
}
|
||||||
img {
|
.leftmenu ul li a:hover {
|
||||||
border:none;
|
background-color: #f5f5f5;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
.leftmenu ul li a:hover span.ico {
|
||||||
|
background-color: #efefef;
|
||||||
|
}
|
||||||
|
.leftmenu ul li.active a {
|
||||||
|
background-color: #333333;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
.leftmenu ul li.active a span.ico {
|
||||||
|
background-color: #111111;
|
||||||
|
border-right: 1px solid #444444;
|
||||||
|
}
|
||||||
|
.leftmenu ul li.active a span.ico i {
|
||||||
|
background-image: url("../img/glyphicons-halflings-white.png");
|
||||||
|
}
|
||||||
|
.leftmenu ul li.hider a {
|
||||||
|
margin-top: 5px;
|
||||||
|
height: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.leftmenu.lefticon > ul {
|
||||||
/*Forms*/
|
width: 37px !important;
|
||||||
form {
|
|
||||||
margin:0;
|
|
||||||
padding:0
|
|
||||||
}
|
}
|
||||||
label {
|
.leftmenu.lefticon ul ul {
|
||||||
/*clear:both;*/
|
position: absolute;
|
||||||
display:block;
|
z-index: 20;
|
||||||
padding:5px 0;
|
margin-top: -34px;
|
||||||
}
|
}
|
||||||
input[type="text"], input[type="email"], input[type="password"], input[type="number"], textarea, select {
|
.leftmenu.lefticon > ul > li > a > span.text {
|
||||||
background:none repeat scroll 0 0 #F7F7F7;
|
display: none;
|
||||||
border:1px solid #CCCCCC;
|
|
||||||
outline:medium none;
|
|
||||||
padding:5px;
|
|
||||||
font-size:13px;
|
|
||||||
width: 400px;
|
|
||||||
size:800px;
|
|
||||||
}
|
}
|
||||||
input[type="text"], input[type="email"], input[type="password"], input[type="number"] {
|
.leftmenu.lefticon ul ul > li > a {
|
||||||
height:17px;
|
min-width: 200px !important;
|
||||||
}
|
}
|
||||||
textarea {
|
.leftmenu.lefticon span.text {
|
||||||
height: 150px;
|
padding-right: 15px;
|
||||||
}
|
|
||||||
select {
|
|
||||||
padding:0px;
|
|
||||||
}
|
|
||||||
input[type="submit"], input[type="button"] {
|
|
||||||
background:url("../images/button.gif") repeat-x scroll left top #459300 !important;
|
|
||||||
border:1px solid #459300 !important;
|
|
||||||
color:#FFFFFF !important;
|
|
||||||
cursor:pointer;
|
|
||||||
display:inline-block;
|
|
||||||
padding:4px 10px !important;
|
|
||||||
margin: 2px 0 2px 0;
|
|
||||||
}
|
|
||||||
#id_permissions {
|
|
||||||
height: 310px;
|
|
||||||
}
|
|
||||||
.button {
|
|
||||||
border: 1px solid #D3D3D3;
|
|
||||||
border-radius: 4px 4px 4px 4px;
|
|
||||||
display: inline-block;
|
|
||||||
font-weight: normal;
|
|
||||||
padding: 4px 10px;
|
|
||||||
margin: 2px 0 2px 0;
|
|
||||||
text-align: center;
|
|
||||||
text-decoration: none;
|
|
||||||
background:#f9f9f9;
|
|
||||||
background:#f9f9f9 -webkit-gradient( linear,0% 0%,0% 100%,from(rgba(255,255,255,.2)),to(rgba(0,0,0,0)));
|
|
||||||
background:#f9f9f9 -moz-linear-gradient( top,rgba(255,255,255,.4),rgba(0,0,0,0));
|
|
||||||
color: #555555;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.button:hover {
|
|
||||||
border: 1px solid #999999;
|
|
||||||
background:#f9f9f9 -webkit-gradient(linear,0% 0%,0% 100%,from(rgba(255,255,255,.55)),to(rgba(0,0,0,0)));
|
|
||||||
background:#f9f9f9 -moz-linear-gradient( top,rgba(255,255,255,.55),rgba(0,0,0,0));
|
|
||||||
}
|
|
||||||
.button:active {
|
|
||||||
-webkit-box-shadow:inset 0 100% 0 0 rgba(0,0,0,0.2);
|
|
||||||
background:#f9f9f9 -webkit-gradient(linear,0% 0%,0% 100%,from(rgba(0,0,0,.3)),to(rgba(0,0,0,0)));
|
|
||||||
background:#f9f9f9 -moz-linear-gradient( top,rgba(0,0,0,.1),rgba(0,0,0,0));
|
|
||||||
}
|
|
||||||
.button .icon {
|
|
||||||
height: 16px;
|
|
||||||
text-indent:20px;
|
|
||||||
padding-top: 1px;
|
|
||||||
display:block;
|
|
||||||
text-transform:none;
|
|
||||||
white-space:nowrap;
|
|
||||||
}
|
|
||||||
.button .cancel{
|
|
||||||
background:url(../images/icons/dialog-cancel.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .ok{
|
|
||||||
background:url(../images/icons/dialog-ok-apply.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .ok-blue, .button .apply{
|
|
||||||
background:url(../images/icons/dialog-ok.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .edit{
|
|
||||||
background:url(../images/icons/edit.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .revert{
|
|
||||||
background:url(../images/icons/revert.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .undo{
|
|
||||||
background:url(../images/icons/undo.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .item{
|
|
||||||
background:url(../images/icons/view-list-details.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .projector{
|
|
||||||
background:url(../images/icons/projector.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .done{
|
|
||||||
background:url(../images/icons/done.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .close{
|
|
||||||
background:url(../images/icons/close.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .reject{
|
|
||||||
background:url(../images/icons/reject.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.statistics{
|
|
||||||
background:url(../images/icons/statistics.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .pdf{
|
|
||||||
background:url(../images/icons/pdf.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .adduser{
|
|
||||||
background:url(../images/icons/add-user.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .removeuser{
|
|
||||||
background:url(../images/icons/remove-user.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .export{
|
|
||||||
background:url(../images/icons/export.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .import{
|
|
||||||
background:url(../images/icons/import.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.add{
|
|
||||||
background:url(../images/icons/add.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .number{
|
|
||||||
background:url(../images/icons/number.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .guest{
|
|
||||||
background:url(../images/icons/guest.png) no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.button .clear{
|
|
||||||
background:url(../images/icons/clear.png) no-repeat 0px 0px;
|
|
||||||
text-indent:12px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.small-input {
|
/** Navigation icons (mapping to glyphicons-halflings) **/
|
||||||
width: 40px !important;
|
.icon-dashboard {
|
||||||
|
background-position: 0 -24px;
|
||||||
|
}
|
||||||
|
.icon-agenda {
|
||||||
|
background-position: -264px 0;
|
||||||
|
}
|
||||||
|
.icon-application {
|
||||||
|
background-position: -24px -24px;
|
||||||
|
}
|
||||||
|
.icon-assignment {
|
||||||
|
background-position: -408px 0;
|
||||||
|
}
|
||||||
|
.icon-participant {
|
||||||
|
background-position: -168px 0;
|
||||||
|
}
|
||||||
|
.icon-config {
|
||||||
|
background-position: -360px -144px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.small-form input {
|
/** Utils **/
|
||||||
width: 40px !important;
|
.nopadding {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.alert form {
|
||||||
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.medium-input {
|
/** Forms **/
|
||||||
width: 200px !important;
|
.errorlist{
|
||||||
|
margin: 0;
|
||||||
}
|
}
|
||||||
.default-input {
|
.errorlist li {
|
||||||
width: auto !important;
|
list-style: none outside none;
|
||||||
}
|
|
||||||
|
|
||||||
.errorlist {
|
|
||||||
color:#DA3939;
|
|
||||||
font-size:9px;
|
|
||||||
font-style:italic;
|
|
||||||
height:13px;
|
|
||||||
padding:0;
|
|
||||||
}
|
}
|
||||||
form .required label:after {
|
form .required label:after {
|
||||||
content: " *";
|
content: " *";
|
||||||
}
|
}
|
||||||
form .error {
|
|
||||||
font-weight: bold;
|
|
||||||
color:#DA3939;
|
|
||||||
}
|
|
||||||
form p.error {
|
|
||||||
margin-top:0;
|
|
||||||
}
|
|
||||||
form .error input, form .error textarea {
|
|
||||||
border:1px solid #DA3939;
|
|
||||||
}
|
|
||||||
form input:after {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.helptext {
|
.helptext {
|
||||||
font-size:9px;
|
font-size:9px;
|
||||||
display: block;
|
display: block;
|
||||||
color: #556652;
|
color: #556652;
|
||||||
}
|
}
|
||||||
/* Fieldsets */
|
textarea {
|
||||||
fieldset {
|
height: 100px;
|
||||||
width: 0px;
|
|
||||||
padding: 0 60px 0 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Lists */
|
/** Responsive **/
|
||||||
ul {
|
@media (max-width: 767px) {
|
||||||
list-style:none outside none;
|
body {
|
||||||
-moz-padding-start:0px;
|
padding: 0;
|
||||||
margin:0;
|
}
|
||||||
padding:0;
|
.row-fluid .leftmenu {
|
||||||
}
|
float: left;
|
||||||
ol {
|
}
|
||||||
-moz-padding-start:20px;
|
#content {
|
||||||
margin:0;
|
margin: 0 5px 0 45px;
|
||||||
padding-left:20px;
|
}
|
||||||
}
|
}
|
||||||
ul.results {
|
|
||||||
list-style:square outside none;
|
|
||||||
-moz-padding-start:0px;
|
|
||||||
margin-left: 20px;
|
|
||||||
padding:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Main container */
|
|
||||||
#main ul{
|
|
||||||
list-style: disc inside;
|
|
||||||
}
|
|
||||||
#main table {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Misc */
|
|
||||||
#sidebar {
|
|
||||||
width: 250px;
|
|
||||||
float: right;
|
|
||||||
margin:50px 0 20px 10px;
|
|
||||||
}
|
|
||||||
.box {
|
|
||||||
border:1px solid #808080;
|
|
||||||
padding: 0px 10px 10px 10px;
|
|
||||||
}
|
|
||||||
.box h4 {
|
|
||||||
margin-bottom: 0;
|
|
||||||
color: #333333;
|
|
||||||
font-weight: normal;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
|
|
||||||
.note {
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Footer */
|
|
||||||
#footer {
|
|
||||||
border-top:1px solid #CCCCCC;
|
|
||||||
font-size:12px;
|
|
||||||
margin:20px 0 0;
|
|
||||||
padding:5px 0;
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Notification */
|
|
||||||
.notification {
|
|
||||||
border-radius: 6px 6px 6px 6px;
|
|
||||||
background-position: 10px 11px !important;
|
|
||||||
background-repeat: no-repeat !important;
|
|
||||||
border: 1px solid;
|
|
||||||
font-size: 13px;
|
|
||||||
margin: 10px 0 15px 0;
|
|
||||||
padding: 0;
|
|
||||||
position: relative;
|
|
||||||
line-height: 100%;
|
|
||||||
width: 96%;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.notification .close {
|
|
||||||
color: #990000;
|
|
||||||
font-size: 9px;
|
|
||||||
position: absolute;
|
|
||||||
right: 5px;
|
|
||||||
top: 5px;
|
|
||||||
}
|
|
||||||
.notification em {
|
|
||||||
display: block;
|
|
||||||
font-style: normal;
|
|
||||||
line-height: 1.5em;
|
|
||||||
padding: 10px 20px 10px 36px;
|
|
||||||
}
|
|
||||||
.notification.success {
|
|
||||||
background: url("../images/icons/done.png") repeat scroll 0 0 #D5FFCE;
|
|
||||||
border-color: #9ADF8F;
|
|
||||||
color: #556652;
|
|
||||||
}
|
|
||||||
.notification.error {
|
|
||||||
background: url("../images/icons/error.png") repeat scroll 0 0 #FFCECE;
|
|
||||||
border-color: #DF8F8F;
|
|
||||||
color: #665252;
|
|
||||||
}
|
|
||||||
.notification.warning {
|
|
||||||
background: url("../images/icons/warning.png") repeat scroll 0 0 #FFFBCC;
|
|
||||||
border-color: #E6DB55;
|
|
||||||
color: #666452;
|
|
||||||
}
|
|
||||||
.notification.info {
|
|
||||||
background: url("../images/icons/information.png") repeat scroll 0 0 #DBE3FF;
|
|
||||||
border-color: #A2B4EE;
|
|
||||||
color: #585B66;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Icons */
|
|
||||||
.icon {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon span {
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: center;
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
.right {
|
|
||||||
float: right
|
|
||||||
}
|
|
||||||
.preview {
|
|
||||||
background:url("../images/icons/preview.png") no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.edit {
|
|
||||||
background:url("../images/icons/edit.png") no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
.delete {
|
|
||||||
background:url("../images/icons/delete.png") no-repeat 0px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* inactive/active */
|
|
||||||
a.activate_link span {
|
|
||||||
background-image: url(../images/icons/accept-grey.png);
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: center;
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
a.activate_link.active span {
|
|
||||||
background-image: url(../images/icons/accept.png);
|
|
||||||
}
|
|
||||||
tr.activeline td, li.activeline {
|
|
||||||
background-color: #bed4de !important;
|
|
||||||
}
|
|
1040
openslides/static/styles/bootstrap-responsive.css
vendored
Normal file
1040
openslides/static/styles/bootstrap-responsive.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
5624
openslides/static/styles/bootstrap.css
vendored
Normal file
5624
openslides/static/styles/bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@ -9,8 +9,6 @@ body.drag {
|
|||||||
.draggable a.tabledrag-handle {
|
.draggable a.tabledrag-handle {
|
||||||
cursor: move;
|
cursor: move;
|
||||||
float: left; /* LTR */
|
float: left; /* LTR */
|
||||||
height: 1.7em;
|
|
||||||
margin: -0.4em 0 -0.4em -0.5em; /* LTR */
|
|
||||||
padding-right: 0.5em ; /* LTR */
|
padding-right: 0.5em ; /* LTR */
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
@ -7,86 +7,122 @@
|
|||||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||||
<head>
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>{% block title %}{% get_config 'event_name' %}{% endblock %}</title>
|
<title>{% block title %}{% get_config 'event_name' %}{% endblock %}</title>
|
||||||
<link type="text/css" rel="stylesheet" media="all" href="{% static 'styles/base.css' %}" />
|
|
||||||
<link rel="shortcut icon" href="{% static 'images/favicon.png' %}" type="image/png" />
|
<!-- styles -->
|
||||||
<script type="text/javascript" src="{% static 'javascript/jquery.js' %}"></script>
|
<link href="{% static 'styles/bootstrap.css' %}" type="text/css" rel="stylesheet">
|
||||||
<script type="text/javascript" src="{% static 'javascript/utils.js' %}"></script>
|
<link href="{% static 'styles/bootstrap-responsive.css' %}" type="text/css" rel="stylesheet">
|
||||||
<script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script>
|
<link href="{% static 'styles/base.css' %}" type="text/css" rel="stylesheet">
|
||||||
|
|
||||||
|
<link href="{% static 'img/favicon.png' %}" type="image/png" rel="shortcut icon" />
|
||||||
{% block header %}
|
{% block header %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="header">
|
<!-- Navbar -->
|
||||||
<a href="/" title="{% trans 'Home' %}"><div id="logo"><img src="{% static 'images/logo.png' %}"></div></a>
|
<div class="container-fluid nopadding">
|
||||||
<div id="header_title">{% get_config 'event_name' %}</div>
|
<div class="row-fluid">
|
||||||
<div id="header_subtitle">{% get_config 'event_description' %}</div>
|
<div class="span12">
|
||||||
<div id="header_userprofile">
|
<div id="header">
|
||||||
<ul>
|
<a href="/" class="logo" title="{% trans 'Home' %}"><img src="{% static 'img/logo.png' %}"></a>
|
||||||
{% if user.is_authenticated %}
|
<!--<a class="title" href="#">{% get_config 'event_name' %}</a>-->
|
||||||
<li>|<a href="{% url user_logout %}">{% trans "Logout" %}</a></li>
|
<div class="btn-group pull-right">
|
||||||
{% url user_settings as url_usersettings %}
|
{% if user.is_authenticated %}
|
||||||
<li>|<a href="{% url user_settings %}">{% if request.path == url_usersettings %}<strong>{% endif %}{% trans "User Settings" %}{% if request.path == url_usersettings %}</strong>{% endif %}</a></li>
|
<a href="#" data-toggle="dropdown" class="btn btn-small dropdown-toggle">
|
||||||
<li>{% trans "Welcome" %}, <strong>{{ user.username }}</strong></li>
|
<i class="icon-user"></i> {{ user.username }}
|
||||||
{% else %}
|
<span class="caret"></span>
|
||||||
<li><a href="{% url user_login %}">{% trans "Login" %}</a></li>
|
</a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
{% 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 password_change %}"><i class="icon-lock"></i> {% trans "Change password" %}</a></li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
<li><a href="{% url user_logout %}"><i class="icon-off"></i> {% trans "Logout" %}</a></li>
|
||||||
|
</ul>
|
||||||
|
{% else %}
|
||||||
|
<a href="{% url user_login %}">{% trans "Login" %}</a>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div> <!--/#header-->
|
||||||
|
</div> <!--/.span12-->
|
||||||
|
</div>
|
||||||
|
</div> <!--/.container-fluid-->
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
{% block mainmenu %}
|
||||||
|
{% endblock %}
|
||||||
|
{% block submenu %}
|
||||||
|
{% endblock %}
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Container -->
|
||||||
|
<div class="container-fluid" id="container">
|
||||||
|
<div class="row-fluid">
|
||||||
|
|
||||||
|
<!-- Sidebar navigation-->
|
||||||
|
<div class="span2 leftmenu lefticon">
|
||||||
|
<ul>
|
||||||
|
{% for tab in tabs %}
|
||||||
|
{% if tab.permission %}
|
||||||
|
<li{% if tab.selected %} class="active"{% endif %}>
|
||||||
|
<a href="{{ tab.url }}">
|
||||||
|
<span class="ico"><i class="icon-{{tab.app}}"></i></span>
|
||||||
|
<span class="text">{{ tab.title }}</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ul>
|
{% endfor %}
|
||||||
</div>
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="mainmenu">
|
<!-- Content -->
|
||||||
{% block mainmenu %}
|
<div id="content" class="span10">
|
||||||
<ul>
|
<div class="row-fluid">
|
||||||
{% for tab in tabs %}
|
<div class="span12">
|
||||||
{% if tab.permission %}
|
<div id="notifications">
|
||||||
<li{% if tab.selected%} class="selected"{% endif %}>
|
<div id="dummy-notification" class="notification" style="display:none">
|
||||||
<a href="{{ tab.url }}">{{ tab.title }}</a>
|
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||||
</li>
|
</div>
|
||||||
{% endif %}
|
{% for message in messages %}
|
||||||
{% endfor %}
|
<div class="alert {% if message.tags %}alert-{{ message.tags }}{% endif %}">
|
||||||
</ul>
|
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||||
{% endblock %}
|
{{ message|safe }}
|
||||||
</div>
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<footer>
|
||||||
|
<small>
|
||||||
|
© Copyright 2012 | Powered by <a href="http://openslides.org" target="_blank">OpenSlides</a>
|
||||||
|
</small>
|
||||||
|
</footer>
|
||||||
|
</div><!--/content-->
|
||||||
|
|
||||||
|
</div><!--/row-->
|
||||||
|
</div><!--/container-fluid-->
|
||||||
|
|
||||||
<div id="wrapper">
|
|
||||||
<div id="content">
|
|
||||||
<div id="notifications">
|
|
||||||
<div id="dummy-notification" class="notification" style="display:none">
|
|
||||||
<a class="close" href="#">
|
|
||||||
<img alt="close" title="{% trans 'Close this notification' %}" src="{% static 'images/icons/cross.png' %}">
|
|
||||||
</a>
|
|
||||||
<em></em>
|
|
||||||
</div>
|
|
||||||
{% for message in messages %}
|
|
||||||
<div class="notification {% if message.tags %}{{ message.tags }}{% endif %}">
|
|
||||||
<a class="close" href="#">
|
|
||||||
<img alt="close" title="{% trans 'Close this notification' %}" src="{% static 'images/icons/cross.png' %}">
|
|
||||||
</a>
|
|
||||||
<em>{{ message|safe }}</em>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
<script>
|
|
||||||
$("div.notification").click(function () {
|
|
||||||
$(this).slideUp("fast");
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
{% block content %}
|
|
||||||
{% endblock %}
|
|
||||||
<div id="footer">
|
|
||||||
<small>
|
|
||||||
© Copyright 2012 | Powered by <a href="http://openslides.org" target="_blank">OpenSlides</a>
|
|
||||||
</small>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div> <!-- end wrapper -->
|
|
||||||
|
|
||||||
<div id="submenu">
|
|
||||||
<div class="section">
|
|
||||||
{% block submenu %}
|
|
||||||
{% endblock %}
|
|
||||||
</div>
|
|
||||||
</div>
|
<!-- JavaScript (Placed at the end of the document so the pages load faster) -->
|
||||||
|
<script src="{% static 'javascript/jquery.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 type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script>
|
||||||
|
{% block javascript %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -16,9 +16,10 @@ from django.template.loader_tags import BlockNode, ExtendsNode
|
|||||||
|
|
||||||
|
|
||||||
class Tab(object):
|
class Tab(object):
|
||||||
def __init__(self, title='', url='', permission='', selected=False):
|
def __init__(self, title='', app='', url='', permission='', selected=False):
|
||||||
self.selected = False
|
self.selected = False
|
||||||
self.title = title
|
self.title = title
|
||||||
|
self.app = app
|
||||||
self.permission = permission
|
self.permission = permission
|
||||||
self.selected = selected
|
self.selected = selected
|
||||||
self.url = url
|
self.url = url
|
||||||
|
@ -46,8 +46,8 @@ def gen_confirm_form(request, message, url):
|
|||||||
%s
|
%s
|
||||||
<form action="%s" method="post">
|
<form action="%s" method="post">
|
||||||
<input type="hidden" value="%s" name="csrfmiddlewaretoken">
|
<input type="hidden" value="%s" name="csrfmiddlewaretoken">
|
||||||
<input type="submit" value="%s">
|
<button type="submit" class="btn">%s</button>
|
||||||
<input type="button" value="%s">
|
<button class="btn">%s</button>
|
||||||
</form>
|
</form>
|
||||||
"""
|
"""
|
||||||
% (message, url, csrf(request)['csrf_token'], _("Yes"), _("No")))
|
% (message, url, csrf(request)['csrf_token'], _("Yes"), _("No")))
|
||||||
|
@ -127,7 +127,7 @@ class QuestionMixin(object):
|
|||||||
|
|
||||||
def confirm_form(self):
|
def confirm_form(self):
|
||||||
option_fields = "\n".join([
|
option_fields = "\n".join([
|
||||||
'<input type="submit" name="%s" value="%s">' % (option[0], unicode(option[1]))
|
'<button type="submit" class="btn" name="%s">%s</button>' % (option[0], unicode(option[1]))
|
||||||
for option in self.get_answer_options()])
|
for option in self.get_answer_options()])
|
||||||
messages.warning(self.request,
|
messages.warning(self.request,
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user