Merge pull request #709 from emanuelschuetze/fixes-for-1.4b2
Fixes and improvements for 1.4b2
This commit is contained in:
commit
37da0cc7bb
@ -42,6 +42,8 @@ Participants:
|
||||
- Added warning if non-superuser removes his last group containing permission to manage participants.
|
||||
Other:
|
||||
- New template based on twitter bootstrap.
|
||||
- New GUI frontend for the Windows portable version.
|
||||
- Added command to backup sqlite database.
|
||||
- Used Tornado web server (instead of Django's default development server).
|
||||
- New mediafile app (files) to upload/download files via frontend.
|
||||
- New config app: Apps have to define config vars only once; config pages and
|
||||
|
77
THANKS
77
THANKS
@ -5,29 +5,84 @@
|
||||
OpenSlides uses parts of the following projects:
|
||||
|
||||
* Django
|
||||
<https://www.djangoproject.com/>
|
||||
<https://www.djangoproject.com>
|
||||
License: BSD
|
||||
|
||||
* Django mptt
|
||||
<https://github.com/django-mptt/django-mptt>
|
||||
License: BSD
|
||||
|
||||
* jQuery
|
||||
<http://www.jquery.com/>
|
||||
and some addons: cookie, form, once, templating
|
||||
<http://www.jquery.com>
|
||||
License: MIT
|
||||
and some plugins:
|
||||
- jQuery DataTables Plugin
|
||||
<http://www.datatables.net>
|
||||
License: BSD/GPLv2
|
||||
- jQuery Cookie Plugin
|
||||
<https://github.com/carhartl/jquery-cookie/>
|
||||
License: MIT/GPL
|
||||
- jQuery Form Plugin
|
||||
<http://malsup.com/jquery/form/>
|
||||
License: MIT/GPLv2
|
||||
- jQuery Once Plugin
|
||||
<http://plugins.jquery.com/project/once/>
|
||||
License: MIT/GPL
|
||||
- jQuery Templating Plugin
|
||||
<https://github.com/BorisMoore/jquery-tmpl/>
|
||||
License: MIT/GPLv2
|
||||
|
||||
* jQuery UI
|
||||
<http://jqueryui.com/>
|
||||
custom ui components: core, widget, mouse, sortable, datepicker, slider
|
||||
with css theme 'smoothness'
|
||||
and some addons: slider access, timepicker
|
||||
|
||||
* nestedSortable jQuery Plugin
|
||||
<http://mjsarfatti.com/sandbox/nestedSortable/>
|
||||
<http://jqueryui.com>
|
||||
with custom ui components: core, widget, mouse, sortable, datepicker, slider
|
||||
and css theme 'smoothness'
|
||||
License: MIT
|
||||
and some addons:
|
||||
- jQuery UI Nested Sortable
|
||||
<http://mjsarfatti.com/code/nestedSortable/>
|
||||
License: MIT
|
||||
- jQuery UI Slider Access
|
||||
<http://trentrichardson.com/examples/jQuery-SliderAccess/>
|
||||
License: MIT/GPLv2
|
||||
- jQuery timepicker addon
|
||||
<http://trentrichardson.com/examples/timepicker/>
|
||||
License: MIT/GPLv2
|
||||
|
||||
* Twitter Bootstrap
|
||||
<http://twitter.github.com/bootstrap/>
|
||||
License: Apache License v2.0
|
||||
|
||||
* CKEditor
|
||||
<http://ckeditor.com>
|
||||
License: GPL, LGPL, MPL
|
||||
|
||||
* Beautiful Soup
|
||||
<http://www.crummy.com/software/BeautifulSoup/>
|
||||
License: MIT
|
||||
|
||||
* Bleach
|
||||
<https://github.com/jsocol/bleach/>
|
||||
License: BSD
|
||||
|
||||
* Pillow
|
||||
<https://github.com/python-imaging/Pillow>
|
||||
License: Standard PIL License
|
||||
|
||||
* qrcode
|
||||
<https://github.com/lincolnloop/python-qrcode>
|
||||
License: BSD
|
||||
|
||||
* ReportLab
|
||||
<http://www.reportlab.com/software/opensource/rl-toolkit/>
|
||||
License: BSD
|
||||
|
||||
* Tornado
|
||||
<http://www.tornadoweb.org/en/stable/>
|
||||
License: Apache License v2.0
|
||||
|
||||
* Ubuntu TrueType Font
|
||||
<http://font.ubuntu.com/>
|
||||
<http://font.ubuntu.com>
|
||||
License: Ubuntu Font Licence 1.0
|
||||
|
||||
* Sphinx
|
||||
<http://sphinx-doc.org/>
|
||||
|
@ -51,15 +51,15 @@ def setup_agenda_config_page(sender, **kwargs):
|
||||
validators=[validate_start_time, ],
|
||||
widget=forms.DateTimeInput(format='%d.%m.%Y %H:%M'),
|
||||
required=False,
|
||||
label=_('Begin of event'),
|
||||
help_text=_('Input format: DD.MM.YYYY HH:MM')))
|
||||
label=ugettext_lazy('Begin of event'),
|
||||
help_text=ugettext_lazy('Input format: DD.MM.YYYY HH:MM')))
|
||||
|
||||
agenda_show_last_speakers = ConfigVariable(
|
||||
name='agenda_show_last_speakers',
|
||||
default_value=1,
|
||||
form_field=forms.IntegerField(
|
||||
min_value=0,
|
||||
label=_('Number of last speakers to be shown on the projector')))
|
||||
label=ugettext_lazy('Number of last speakers to be shown on the projector')))
|
||||
|
||||
extra_stylefiles = ['styles/timepicker.css', 'styles/jquery-ui/jquery-ui.custom.min.css']
|
||||
extra_javascript = ['javascript/jquery-ui.custom.min.js',
|
||||
|
@ -37,6 +37,9 @@ ol.agenda_list {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 );
|
||||
overflow: auto;
|
||||
}
|
||||
.agenda_list li > div.activeline {
|
||||
background: #bed4de !important;
|
||||
}
|
||||
.agenda_list.sortable li > div {
|
||||
cursor: move;
|
||||
}
|
||||
@ -52,13 +55,14 @@ ol.agenda_list {
|
||||
|
||||
.agenda_list .openclose { width: 40px; float: left; min-height: 1px; }
|
||||
.agenda_list .duration { width: 92px; float: right; min-height: 1px; padding-left: 5px; }
|
||||
.agenda_list .manage { width: 150px; float: right; min-height: 1px; padding-left: 5px; }
|
||||
.agenda_list .title { float: left; }
|
||||
.agenda_list .manage { width: 200px; float: right; min-height: 1px; padding-left: 5px; }
|
||||
.agenda_list .title { float: left; padding-left: 5px;}
|
||||
.agenda_list .optional { float: left; }
|
||||
.agenda_list .opener_closer { float: left; margin-right: 10px; }
|
||||
.agenda_list .opener_closer { float: left; margin-right: 10px; margin-left:-6px;}
|
||||
.agenda_list .opener_closer .btn { padding: 0 2px; }
|
||||
.agenda_list .optional { float: right; width: 208px; padding-left: 8px;}
|
||||
|
||||
#menu-overview .manage { width: 150px; }
|
||||
#menu-overview .manage { width: 200px; }
|
||||
#menu-overview .duration { width: 75px; }
|
||||
#menu-overview .optional { width: 200px; }
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
{% load i18n %}
|
||||
{% load tags %}
|
||||
|
||||
<div>
|
||||
<div class="{% if node.active %}activeline{% endif %}">
|
||||
{% if perms.agenda.can_manage_agenda or perms.projector.can_manage_projector %}
|
||||
<div class="manage">
|
||||
<span style="width: 1px; white-space: nowrap;">
|
||||
{% if perms.projector.can_manage_projector %}
|
||||
<a href="{% url 'projector_activate_slide' node.sid %}"
|
||||
class="activate_link btn {% if node.active and not show_list %}btn-primary{% endif %} btn-mini"
|
||||
class="activate_link btn {% if node.active and not show_list and not summary %}btn-primary{% endif %} btn-mini"
|
||||
rel="tooltip" data-original-title="{% trans 'Show agenda item' %}">
|
||||
<i class="icon-facetime-video {% if node.active and not show_list %}icon-white{% endif %}"></i>
|
||||
<i class="icon-facetime-video {% if node.active and not show_list and not summary %}icon-white{% endif %}"></i>
|
||||
</a>
|
||||
<a href="{% url 'projector_activate_slide' node.sid 'show_list_of_speakers' %}"
|
||||
class="activate_link btn btn-mini {% if node.active and show_list %}btn-primary{% endif %}"
|
||||
@ -18,15 +18,22 @@
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if perms.agenda.can_manage_agenda %}
|
||||
<a href="{% model_url node 'edit' %}" title="{% trans 'Edit' %}" class="btn btn-mini">
|
||||
<a href="{% model_url node 'edit' %}" rel="tooltip" data-original-title="{% trans 'Edit' %}" class="btn btn-mini">
|
||||
<i class="icon-pencil"></i>
|
||||
</a>
|
||||
<a href="{% model_url node 'delete' %}" title="{% trans 'Delete' %}" class="btn btn-mini">
|
||||
<a href="{% model_url node 'delete' %}" rel="tooltip" data-original-title="{% trans 'Delete' %}" class="btn btn-mini">
|
||||
<i class="icon-remove"></i>
|
||||
</a>
|
||||
<a href="{% if node.closed %}{% url 'item_open' node.id %}{% else %}{% url 'item_close' node.id %}{% endif %}"
|
||||
class="close_link btn btn-mini {% if node.closed %}btn-success{% endif %} tooltip-left"
|
||||
rel="tooltip" data-original-title="{% trans 'Change status (open/closed)' %}">
|
||||
<i class="{% if node.closed %}icon-checked-new{% else %}icon-unchecked-new{% endif %}"></i>
|
||||
</a>
|
||||
{% if not node.is_leaf_node %}
|
||||
<a href="{% url 'projector_activate_slide' node.sid 'summary' %}" class="activate_link btn btn-mini" title="{% trans 'Show summary for this item' %}">
|
||||
<i class="icon-summary"></i>
|
||||
<a href="{% url 'projector_activate_slide' node.sid 'summary' %}"
|
||||
class="activate_link btn btn-mini {% if node.active and summary %}btn-primary{% endif %}"
|
||||
title="{% trans 'Show summary for this item' %}">
|
||||
<i class="icon-summary {% if node.active and summary %}icon-white{% endif %}"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
@ -37,36 +44,36 @@
|
||||
{% if perms.agenda.can_see_orga_items %}
|
||||
<div class="duration">
|
||||
{% if node.duration %}
|
||||
{{ node.duration }}h {% if start and end %}<a {% if node.tooltip %}rel="tooltip" data-original-title="{% trans 'End' %}: {{ node.tooltip|date:"DATETIME_FORMAT" }}"{% endif %}><i class="icon-clock"></i></a>{% endif %}
|
||||
{{ node.duration }} h
|
||||
{% if start and end %}
|
||||
<a rel="tooltip" data-original-title="{% trans 'End' %}:
|
||||
{{ end|date:"DATETIME_FORMAT" }}"><i class="icon-clock"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if perms.agenda.can_manage_agenda %}
|
||||
<div class="optional">
|
||||
{{ node.comment|first_line }}
|
||||
{% if node.comment %}
|
||||
{{ node.comment|first_line }}
|
||||
<a class="btn btn-mini" rel="popover" data-content="{{ node.comment|linebreaks }}">
|
||||
<i class="icon icon-search"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="opener_closer">
|
||||
<a href="#" class="opener btn btn-mini"><span class="icon-plus"></span></a>
|
||||
<a href="#" class="closer btn btn-mini"><span class="icon-minus"></span></a>
|
||||
</div>
|
||||
|
||||
<div class="openclose">
|
||||
{% if perms.agenda.can_manage_agenda %}
|
||||
<a href="{% if node.closed %}{% url 'item_open' node.id %}{% else %}{% url 'item_close' node.id %}{% endif %}"
|
||||
class="close_link btn btn-mini {% if node.closed %}btn-success{% endif %}" title="{% trans 'Change status (open/closed)' %}">
|
||||
<i class="{% if node.closed %}icon-checked-new{% else %}icon-unchecked-new{% endif %}"></i>
|
||||
</a>
|
||||
{% else %}
|
||||
<span class="close_link">
|
||||
<i class="{% if node.closed %}icon-checked-new{% else %}icon-unchecked-new{% endif %}"></i>
|
||||
</span>
|
||||
{% endif %}
|
||||
<a class="opener btn btn-mini" rel="tooltip" data-original-title="{% trans 'Expand items' %}"><span class="icon-plus"></span></a>
|
||||
<a class="closer btn btn-mini" rel="tooltip" data-original-title="{% trans 'Collapse items' %}"><span class="icon-minus"></span></a>
|
||||
</div>
|
||||
|
||||
<div class="title">
|
||||
<a class="closed" rel="tooltip" data-original-title="{% trans 'Item closed' %}">
|
||||
<i class="{% if node.closed %}icon-checked-new{% endif %}"></i>
|
||||
</a>
|
||||
{% with form=node.weight_form %}
|
||||
{{ form.weight }}
|
||||
{{ form.self }}
|
||||
|
@ -14,18 +14,19 @@
|
||||
margin: 1em;
|
||||
z-index: 2;
|
||||
width: 45%;
|
||||
min-width: 200px}
|
||||
min-width: 200px;}
|
||||
#overlay_list_of_speaker_box h3 {
|
||||
margin: 5px}
|
||||
margin: 5px;}
|
||||
#overlay_list_of_speaker_box ul {
|
||||
margin: 5px}
|
||||
list-style-type: none;
|
||||
margin: 5px;}
|
||||
#overlay_list_of_speaker_box li {
|
||||
font-size: 120%;
|
||||
line-height: 120%}
|
||||
line-height: 120%;}
|
||||
#overlay_list_of_speaker_box .old_speaker {
|
||||
color: #777777}
|
||||
color: #777777;}
|
||||
#overlay_list_of_speaker_box .actual_speaker {
|
||||
margin-bottom: 0em}
|
||||
margin-bottom: 0em;}
|
||||
</style>
|
||||
|
||||
<div id="overlay_list_of_speaker_box">
|
||||
|
@ -46,18 +46,22 @@
|
||||
</h1>
|
||||
|
||||
{% if perms.agenda.can_see_orga_items %}
|
||||
{% if start and end %}
|
||||
<table id="agendatime" class="table table-bordered">
|
||||
<tr>
|
||||
<td>{% trans "Start of event" %}:</td>
|
||||
<td>{{ start|date:"DATETIME_FORMAT" }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans "Estimated end" %}:</td>
|
||||
<td>{{ end|date:"DATETIME_FORMAT" }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% if start and end %}
|
||||
<table id="agendatime" class="table table-bordered">
|
||||
<tr>
|
||||
<td>{% trans "Start of event" %}:</td>
|
||||
<td>{{ start|date:"DATETIME_FORMAT" }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans "Estimated end" %}:</td>
|
||||
<td>{{ end|date:"DATETIME_FORMAT" }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% else %}
|
||||
<div style="float: right;">
|
||||
<a href="{% url 'config_agenda' %}" class="btn btn-mini">{% trans 'Set start time of event' %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" id="hide_closed_items"> {% trans "Hide closed items" %}
|
||||
@ -68,7 +72,6 @@
|
||||
</i></small>
|
||||
<table id="menu-overview" class="table table-striped table-bordered">
|
||||
<tr>
|
||||
<th class="openclose"></th>
|
||||
<th class="title">{% trans "Item" %}</th>
|
||||
{% if perms.agenda.can_manage_agenda %}
|
||||
<th class="optional">{% trans "Comment" %}</th>
|
||||
@ -81,7 +84,6 @@
|
||||
{% endif %}
|
||||
</tr>
|
||||
<tr class="topline{% if active_sid == 'agenda' %} activeline{% endif %}">
|
||||
<td class="openclose"></td>
|
||||
<td class="title">
|
||||
{% trans "Agenda" %}
|
||||
</td>
|
||||
@ -89,7 +91,7 @@
|
||||
<td class="optional"></td>
|
||||
{% endif %}
|
||||
{% if perms.agenda.can_see_orga_items %}
|
||||
<td class="duration">{{ duration }}h</td>
|
||||
<td class="duration">{{ duration }} h</td>
|
||||
{% endif %}
|
||||
{% if perms.agenda.can_manage_agenda or perms.projector.can_manage_projector %}
|
||||
<td class="manage">
|
||||
|
@ -4,7 +4,7 @@
|
||||
<p><a href="{% url 'agenda_add_to_current_list_of_speakers' %}" class="btn"><i class="icon icon-speaker"></i> {% trans 'Put me on the current list of speakers' %}</a></p>
|
||||
{% endif %}
|
||||
|
||||
<p><a href="{% url 'agenda_current_list_of_speakers' %}" class="btn"><i class="icon icon-bell"></i> {% trans 'Go to current list of speakers' %}</a></p>
|
||||
<p><a href="{% url 'agenda_current_list_of_speakers' %}" class="btn"> {% trans 'Go to current list of speakers' %}</a></p>
|
||||
|
||||
{% if perms.agenda.can_manage_agenda %}
|
||||
<hr>
|
||||
|
@ -24,7 +24,7 @@
|
||||
{% if perms.projector.can_manage_projector %}
|
||||
<a href="{% url 'projector_activate_slide' item.sid %}"
|
||||
class="activate_link btn btn-mini {% if item.active and not show_list %}btn-primary{% endif %}"
|
||||
rel="tooltip" data-original-title="{% trans 'Show' %}">
|
||||
rel="tooltip" data-original-title="{% trans 'Show item' %}">
|
||||
<i class="icon icon-facetime-video {% if item.active and not show_list %}icon-white{% endif %}"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
@ -46,7 +46,7 @@
|
||||
{% if not item.related_sid %}
|
||||
{{ item.text|safe|linebreaks }}
|
||||
{% else %}
|
||||
<a href="{% model_url item.get_related_slide %}" class="btn btn-small">{% trans 'View' %} "{{ item.get_related_slide }}" ({% trans item.get_related_type %})</a>
|
||||
<a href="{% model_url item.get_related_slide %}" class="btn btn-small">{% trans item.get_related_type %} {{ item.get_related_slide }}</a>
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
@ -124,9 +124,11 @@
|
||||
{% if speaker_dict.type == 'actual_speaker' %}
|
||||
<a href="{% url 'agenda_speaker_end_speach' item.pk %}" class="btn btn-mini btn-danger"><i class="icon-bell icon-white"></i> {% trans 'End speach' %}</a>
|
||||
{% elif speaker_dict.type == 'coming_speaker' %}
|
||||
<a href="{% url 'agenda_speaker_speak' item.pk speaker_dict.speaker.person.person_id %}" class="btn btn-mini"><i class="icon-bell"></i> {% trans "Begin speach" %}</a>
|
||||
<a href="{% url 'agenda_speaker_speak' item.pk speaker_dict.speaker.person.person_id %}"
|
||||
class="btn btn-mini"><i class="icon-bell"></i> {% trans "Begin speach" %}</a>
|
||||
{% endif %}
|
||||
<a href="{% model_url speaker_dict.speaker 'delete' %}" title="{% trans 'Delete' %}" class="btn btn-mini">
|
||||
<a href="{% model_url speaker_dict.speaker 'delete' %}"
|
||||
rel="tooltip" data-original-title="{% trans 'Delete' %}" class="btn btn-mini">
|
||||
<i class="icon-remove"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
@ -138,9 +140,9 @@
|
||||
|
||||
<p>
|
||||
{% if is_on_the_list_of_speakers %}
|
||||
<a href="{% url 'agenda_speaker_delete' object.id %}" class="btn">{% trans "Remove me from the list" %}</a>
|
||||
<a href="{% url 'agenda_speaker_delete' object.id %}" class="btn"><i class="icon icon-speaker"></i> {% trans "Remove me from the list" %}</a>
|
||||
{% elif not object.speaker_list_closed and perms.agenda.can_be_speaker %}
|
||||
<a href="{% url 'agenda_speaker_append' object.id %}" class="btn">{% trans "Put me on the list" %}</a>
|
||||
<a href="{% url 'agenda_speaker_append' object.id %}" class="btn"><i class="icon icon-speaker"></i> {% trans "Put me on the list" %}</a>
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
@ -150,9 +152,9 @@
|
||||
<label>{{ field.label }}:</label>
|
||||
<div class="control-group input-append {% if field.errors %}error{% endif %}">
|
||||
{{ field }}
|
||||
<button class="btn btn-primary" type="submit" title="{% trans 'Apply' %}"><i class="icon-ok icon-white"></i></button>
|
||||
<button class="btn btn-primary tooltip-bottom" type="submit" data-original-title="{% trans 'Apply' %}"><i class="icon-ok icon-white"></i></button>
|
||||
{% if perms.participant.can_see_participant and perms.participant.can_manage_participant %}
|
||||
<a href="{% url 'user_new' %}" class="btn" title="{% trans 'Add new participant' %}"><i class="icon-add-user"></i></a>
|
||||
<a href="{% url 'user_new' %}" class="btn" rel="tooltip" data-original-title="{% trans 'Add new participant' %}"><i class="icon-add-user"></i></a>
|
||||
{% endif %}
|
||||
{% if field.errors %}
|
||||
<span class="help-inline">{{ field.errors }}</span>
|
||||
|
@ -9,15 +9,15 @@
|
||||
/* List of speakers – projector slide */
|
||||
ul#list_of_speakers {
|
||||
list-style-type: none;
|
||||
padding: 0}
|
||||
padding: 0;}
|
||||
#list_of_speakers li {
|
||||
font-size: 130%;
|
||||
line-height: 150%}
|
||||
line-height: 150%;}
|
||||
#list_of_speakers .old_speaker {
|
||||
color: #9FA9B7}
|
||||
color: #9FA9B7;}
|
||||
#list_of_speakers .actual_speaker {
|
||||
font-weight: bold;
|
||||
margin-bottom: 0.5em}
|
||||
margin-bottom: 0.5em;}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
|
@ -83,6 +83,7 @@ class Overview(TemplateView):
|
||||
'duration': duration,
|
||||
'start': start,
|
||||
'end': end,
|
||||
'summary': config['presentation_argument'] == 'summary',
|
||||
'show_list': config['presentation_argument'] == 'show_list_of_speakers'})
|
||||
return context
|
||||
|
||||
|
@ -53,20 +53,25 @@
|
||||
<td>
|
||||
<span style="width: 1px; white-space: nowrap;">
|
||||
{% if perms.projector.can_manage_projector %}
|
||||
<a href="{% url 'projector_activate_slide' assignment.sid %}" class="activate_link btn {% if assignment.active %}btn-primary{% endif %} btn-mini" title="{% trans 'Show' %}">
|
||||
<a href="{% url 'projector_activate_slide' assignment.sid %}"
|
||||
class="activate_link btn {% if assignment.active %}btn-primary{% endif %} btn-mini"
|
||||
rel="tooltip" data-original-title="{% trans 'Show election' %}">
|
||||
<i class="icon-facetime-video {% if assignment.active %}icon-white{% endif %}"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if perms.assignment.can_manage_assignment %}
|
||||
<a href="{% url 'assignment_edit' assignment.id %}" title="{% trans 'Edit' %}" class="btn btn-mini">
|
||||
<i class="icon-pencil"></i>
|
||||
<a href="{% url 'assignment_edit' assignment.id %}"
|
||||
rel="tooltip" data-original-title="{% trans 'Edit' %}"
|
||||
class="btn btn-mini"><i class="icon-pencil"></i>
|
||||
</a>
|
||||
<a href="{% url 'assignment_delete' assignment.id %}" title="{% trans 'Delete' %}" class="btn btn-mini">
|
||||
<i class="icon-remove"></i>
|
||||
<a href="{% url 'assignment_delete' assignment.id %}"
|
||||
rel="tooltip" data-original-title="{% trans 'Delete' %}"
|
||||
class="btn btn-mini"><i class="icon-remove"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
<a href="{% url 'print_assignment' assignment.id %}" class="btn btn-mini" title="{% trans 'Print election as PDF' %}" target="_blank">
|
||||
<i class="icon-print"></i> PDF
|
||||
<a href="{% url 'print_assignment' assignment.id %}"
|
||||
data-original-title="{% trans 'Print election as PDF' %}" target="_blank"
|
||||
class="btn btn-mini tooltip-left"><i class="icon-print"></i> PDF
|
||||
</a>
|
||||
</span>
|
||||
</td>
|
||||
|
@ -106,9 +106,11 @@
|
||||
<label>{{ field.label }}:</label>
|
||||
<div class="input-append">
|
||||
{{ field }}
|
||||
<button class="btn btn-primary" type="submit" title="{% trans 'Apply' %}"><i class="icon-ok icon-white"></i></button>
|
||||
<button class="btn btn-primary tooltip-bottom" type="submit"
|
||||
data-original-title="{% trans 'Apply' %}"><i class="icon-ok icon-white"></i></button>
|
||||
{% if perms.participant.can_see_participant and perms.participant.can_manage_participant %}
|
||||
<a href="{% url 'user_new' %}" target="_blank" class="btn" title="{% trans 'Add new participant' %}"><i class="icon-add-user"></i></a>
|
||||
<a href="{% url 'user_new' %}" target="_blank" class="btn"
|
||||
rel="tooltip" data-original-title="{% trans 'Add new participant' %}"><i class="icon-add-user"></i></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
@ -124,7 +126,8 @@
|
||||
{% for person in blocked_candidates %}
|
||||
<li>
|
||||
<a href="{% model_url person 'view' %}">{{ person }}</a>
|
||||
<a class="btn btn-mini" href="{% url 'assignment_delother' assignment.id person.person_id %}" title="{% trans 'Remove candidate' %}">
|
||||
<a class="btn btn-mini" href="{% url 'assignment_delother' assignment.id person.person_id %}"
|
||||
rel="tooltip" data-original-title="{% trans 'Remove candidate' %}">
|
||||
<i class="icon-ban-circle"></i>
|
||||
</a>
|
||||
</li>
|
||||
@ -164,8 +167,10 @@
|
||||
<i class="icon-unchecked-new"></i>
|
||||
{% endif %}
|
||||
</a>
|
||||
<a href="{% url 'assignment_poll_view' poll.id %}" class="btn btn-mini" title="{% trans 'Edit' %}"><i class="icon-pencil"></i></a>
|
||||
<a href="{% url 'assignment_poll_delete' poll.id %}" class="btn btn-mini" title="{% trans 'Delete' %}"><i class="icon-remove"></i></a>
|
||||
<a href="{% url 'assignment_poll_view' poll.id %}" class="btn btn-mini"
|
||||
rel="tooltip" data-original-title="{% trans 'Edit' %}"><i class="icon-pencil"></i></a>
|
||||
<a href="{% url 'assignment_poll_delete' poll.id %}" class="btn btn-mini"
|
||||
rel="tooltip" data-original-title="{% trans 'Delete' %}"><i class="icon-remove"></i></a>
|
||||
{% endif %}
|
||||
</th>
|
||||
{% endfor %}
|
||||
@ -182,10 +187,11 @@
|
||||
<td>
|
||||
{% if candidate in assignment.elected %}
|
||||
{% if perms.assignment.can_manage_assignment %}
|
||||
<a class="election_link elected" href="{% url 'assignment_user_not_elected' assignment.id candidate.person_id %}"></a>
|
||||
<a class="election_link elected" href="{% url 'assignment_user_not_elected' assignment.id candidate.person_id %}"
|
||||
rel="tooltip" data-original-title="{% trans 'Mark candidate as elected' %}"></a>
|
||||
{% else %}
|
||||
<a class="elected">
|
||||
<img src="{% static 'img/voting-yes.png' %}" title="{% trans 'Candidate is elected' %}">
|
||||
<img src="{% static 'img/voting-yes.png' %}" class="tooltip-bottom" data-original-title="{% trans 'Candidate is elected' %}">
|
||||
</a>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
@ -198,11 +204,11 @@
|
||||
{% for vote in poll_list %}
|
||||
<td style="white-space:nowrap;">
|
||||
{% if 'Yes' in vote and 'No' in vote and 'Abstain' in vote %}
|
||||
<img src="{% static 'img/voting-yes.png' %}" title="{% trans 'Yes' %}"> {{ vote.Yes }}<br>
|
||||
<img src="{% static 'img/voting-no.png' %}" title="{% trans 'No' %}"> {{ vote.No }}<br>
|
||||
<img src="{% static 'img/voting-abstention.png' %}" title="{% trans 'Abstention' %}"> {{ vote.Abstain }}<br>
|
||||
<img src="{% static 'img/voting-yes.png' %}" class="tooltip-left" data-original-title="{% trans 'Yes' %}"> {{ vote.Yes }}<br>
|
||||
<img src="{% static 'img/voting-no.png' %}" class="tooltip-left" data-original-title="{% trans 'No' %}"> {{ vote.No }}<br>
|
||||
<img src="{% static 'img/voting-abstention.png' %}" class="tooltip-left" data-original-title="{% trans 'Abstention' %}"> {{ vote.Abstain }}<br>
|
||||
{% elif 'Votes' in vote %}
|
||||
<img src="{% static 'img/voting-yes.png' %}" title="{% trans 'Yes' %}"> {{ vote.Votes }}
|
||||
<img src="{% static 'img/voting-yes.png' %}" class="tooltip-left" data-original-title="{% trans 'Yes' %}"> {{ vote.Votes }}
|
||||
{% elif vote == None %}
|
||||
{% trans 'was not a <br> candidate'%}
|
||||
{% else %}
|
||||
@ -221,7 +227,7 @@
|
||||
{% if poll.published or perms.assignment.can_manage_assignment %}
|
||||
<td style="white-space:nowrap;">
|
||||
{% if poll.has_votes %}
|
||||
<img src="{% static 'img/voting-invalid.png' %}" title="{% trans 'Invalid' %}">
|
||||
<img src="{% static 'img/voting-invalid.png' %}" class="tooltip-left" data-original-title="{% trans 'Invalid' %}">
|
||||
{{ poll.print_votesinvalid }}
|
||||
{% endif %}
|
||||
</td>
|
||||
@ -237,7 +243,7 @@
|
||||
{% if poll.published or perms.assignment.can_manage_assignment %}
|
||||
<td style="white-space:nowrap;">
|
||||
{% if poll.has_votes %}
|
||||
<img src="{% static 'img/voting-total.png' %}" title="{% trans 'Votes cast' %}">
|
||||
<img src="{% static 'img/voting-total.png' %}" class="tooltip-left" data-original-title="{% trans 'Votes cast' %}">
|
||||
<strong>{{ poll.print_votescast }}</strong>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-06-01 21:13+0200\n"
|
||||
"POT-Creation-Date: 2013-06-03 22:50+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -3,13 +3,14 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# <moosline@savvy.ch>, 2012.
|
||||
# moosline <moosline@savvy.ch>, 2013
|
||||
# moosline <moosline@savvy.ch>, 2012
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenSlides\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-06-01 21:13+0200\n"
|
||||
"PO-Revision-Date: 2012-12-09 11:46+0000\n"
|
||||
"POT-Creation-Date: 2013-06-04 00:21+0200\n"
|
||||
"PO-Revision-Date: 2013-06-03 15:05+0000\n"
|
||||
"Last-Translator: moosline <moosline@savvy.ch>\n"
|
||||
"Language-Team: French (http://www.transifex.com/projects/p/openslides/"
|
||||
"language/fr/)\n"
|
||||
@ -22,191 +23,191 @@ msgstr ""
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:9
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:39
|
||||
msgid "en"
|
||||
msgstr ""
|
||||
msgstr "en"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:10
|
||||
msgid "previous month"
|
||||
msgstr ""
|
||||
msgstr "le mois dernier"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:11
|
||||
msgid "next month"
|
||||
msgstr ""
|
||||
msgstr "le mois prochain"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:13
|
||||
msgid "January"
|
||||
msgstr ""
|
||||
msgstr "Janvier"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:13
|
||||
msgid "February"
|
||||
msgstr ""
|
||||
msgstr "Février"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:13
|
||||
msgid "March"
|
||||
msgstr ""
|
||||
msgstr "Mars"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:14
|
||||
msgid "April"
|
||||
msgstr ""
|
||||
msgstr "Avril"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:14
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:20
|
||||
msgid "May"
|
||||
msgstr ""
|
||||
msgstr "Mai"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:14
|
||||
msgid "June"
|
||||
msgstr ""
|
||||
msgstr "Juin"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:15
|
||||
msgid "July"
|
||||
msgstr ""
|
||||
msgstr "Juillet"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:15
|
||||
msgid "August"
|
||||
msgstr ""
|
||||
msgstr "Août"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:15
|
||||
msgid "September"
|
||||
msgstr ""
|
||||
msgstr "Septembre"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:16
|
||||
msgid "October"
|
||||
msgstr ""
|
||||
msgstr "Octobre"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:16
|
||||
msgid "November"
|
||||
msgstr ""
|
||||
msgstr "Novembre"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:16
|
||||
msgid "December"
|
||||
msgstr ""
|
||||
msgstr "Décembre"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:19
|
||||
msgid "Jan"
|
||||
msgstr ""
|
||||
msgstr "Jan"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:19
|
||||
msgid "Feb"
|
||||
msgstr ""
|
||||
msgstr "Feb"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:19
|
||||
msgid "Mar"
|
||||
msgstr ""
|
||||
msgstr "Mar"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:20
|
||||
msgid "Apr"
|
||||
msgstr ""
|
||||
msgstr "Apr"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:20
|
||||
msgid "Jun"
|
||||
msgstr ""
|
||||
msgstr "Jui"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:21
|
||||
msgid "Jul"
|
||||
msgstr ""
|
||||
msgstr "Jul"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:21
|
||||
msgid "Aug"
|
||||
msgstr ""
|
||||
msgstr "Aou"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:21
|
||||
msgid "Sep"
|
||||
msgstr ""
|
||||
msgstr "Sep"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:22
|
||||
msgid "Oct"
|
||||
msgstr ""
|
||||
msgstr "Oct"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:22
|
||||
msgid "Nov"
|
||||
msgstr ""
|
||||
msgstr "Nov"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:22
|
||||
msgid "Dec"
|
||||
msgstr ""
|
||||
msgstr "Déc"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:25
|
||||
msgid "Sunday"
|
||||
msgstr ""
|
||||
msgstr "Dimanche"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:25
|
||||
msgid "Monday"
|
||||
msgstr ""
|
||||
msgstr "Lundi"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:25
|
||||
msgid "Tuesdey"
|
||||
msgstr ""
|
||||
msgstr "Mardi"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:25
|
||||
msgid "Wednesday"
|
||||
msgstr ""
|
||||
msgstr "Mecredi"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:26
|
||||
msgid "Thursday"
|
||||
msgstr ""
|
||||
msgstr "Jeudi"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:26
|
||||
msgid "Friday"
|
||||
msgstr ""
|
||||
msgstr "Vendredi"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:26
|
||||
msgid "Saturday"
|
||||
msgstr ""
|
||||
msgstr "Samedi"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:29
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:33
|
||||
msgid "Su"
|
||||
msgstr ""
|
||||
msgstr "Di"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:29
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:33
|
||||
msgid "Mo"
|
||||
msgstr ""
|
||||
msgstr "Lu"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:29
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:33
|
||||
msgid "Tu"
|
||||
msgstr ""
|
||||
msgstr "Ma"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:29
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:33
|
||||
msgid "We"
|
||||
msgstr ""
|
||||
msgstr "Me"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:30
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:34
|
||||
msgid "Th"
|
||||
msgstr ""
|
||||
msgstr "Je"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:30
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:34
|
||||
msgid "Fr"
|
||||
msgstr ""
|
||||
msgstr "Ve"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:30
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:34
|
||||
msgid "Sa"
|
||||
msgstr ""
|
||||
msgstr "Sa"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:45
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
msgstr "Heure"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:46
|
||||
msgid "Hour"
|
||||
msgstr ""
|
||||
msgstr "Heure"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:47
|
||||
msgid "Minute"
|
||||
msgstr ""
|
||||
msgstr "Minute"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:48
|
||||
msgid "Current time"
|
||||
msgstr ""
|
||||
msgstr "heure actuelle"
|
||||
|
||||
#: agenda/static/javascript/agenda-config-datepicker.js:49
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
msgstr "Fermer"
|
||||
|
||||
#: agenda/static/javascript/agenda.js:17
|
||||
#, c-format
|
||||
@ -215,40 +216,40 @@ msgstr ", dans %s sont cachés"
|
||||
|
||||
#: static/javascript/dataTables.bootstrap.js:19
|
||||
msgid "_MENU_ entries per page"
|
||||
msgstr ""
|
||||
msgstr "_MENU_ Entrées par page"
|
||||
|
||||
#: static/javascript/dataTables.bootstrap.js:20
|
||||
msgid "Search:"
|
||||
msgstr ""
|
||||
msgstr "Recherche:"
|
||||
|
||||
#: static/javascript/dataTables.bootstrap.js:21
|
||||
msgid "Showing _START_ to _END_ of _TOTAL_ entries"
|
||||
msgstr ""
|
||||
msgstr "Voici _START_ à _END_ sur _TOTAL_ entrées"
|
||||
|
||||
#: static/javascript/dataTables.bootstrap.js:22
|
||||
msgid "Showing 0 entries"
|
||||
msgstr ""
|
||||
msgstr "Affichage de 0 entrées"
|
||||
|
||||
#: static/javascript/dataTables.bootstrap.js:23
|
||||
msgid "(filtered from _MAX_ total entries)"
|
||||
msgstr ""
|
||||
msgstr "(filtrée à partir des entrées totales _Max_)"
|
||||
|
||||
#: static/javascript/dataTables.bootstrap.js:24
|
||||
msgid "No matching records found"
|
||||
msgstr ""
|
||||
msgstr "Aucun enregistrement correspondant n'a été trouvé"
|
||||
|
||||
#: static/javascript/dataTables.bootstrap.js:26
|
||||
msgid "First"
|
||||
msgstr ""
|
||||
msgstr "Premier"
|
||||
|
||||
#: static/javascript/dataTables.bootstrap.js:27
|
||||
msgid "Last"
|
||||
msgstr ""
|
||||
msgstr "Dernier"
|
||||
|
||||
#: static/javascript/dataTables.bootstrap.js:28
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
msgstr "Prochain"
|
||||
|
||||
#: static/javascript/dataTables.bootstrap.js:29
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
msgstr "Avant"
|
||||
|
@ -34,8 +34,8 @@
|
||||
{% if perms.mediafile.can_manage %}
|
||||
<td>
|
||||
<span style="width: 1px; white-space: nowrap;">
|
||||
<a href="{% model_url mediafile 'update' %}" title="{% trans 'Edit' %}" class="btn btn-mini"><i class="icon-pencil"></i></a>
|
||||
<a href="{% model_url mediafile 'delete' %}" title="{% trans 'Delete' %}" class="btn btn-mini"><i class="icon-remove"></i></a>
|
||||
<a href="{% model_url mediafile 'update' %}" rel="tooltip" data-original-title="{% trans 'Edit' %}" class="btn btn-mini"><i class="icon-pencil"></i></a>
|
||||
<a href="{% model_url mediafile 'delete' %}" rel="tooltip" data-original-title="{% trans 'Delete' %}" class="btn btn-mini"><i class="icon-remove"></i></a>
|
||||
</span>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
@ -27,11 +27,11 @@
|
||||
<td>{{ category.prefix }}</td>
|
||||
<td><a href="{% model_url category 'update' %}">{{ category }}</a></td>
|
||||
<td><span style="width: 1px; white-space: nowrap;">
|
||||
<a href="{% model_url category 'update' %}" title="{% trans 'Edit' %}" class="btn btn-mini">
|
||||
<i class="icon-pencil"></i>
|
||||
<a href="{% model_url category 'update' %}" rel="tooltip" data-original-title="{% trans 'Edit' %}"
|
||||
class="btn btn-mini"><i class="icon-pencil"></i>
|
||||
</a>
|
||||
<a href="{% model_url category 'delete' %}" title="{% trans 'Delete' %}" class="btn btn-mini">
|
||||
<i class="icon-remove"></i>
|
||||
<a href="{% model_url category 'delete' %}" rel="tooltip" data-original-title="{% trans 'Delete' %}"
|
||||
class="btn btn-mini"><i class="icon-remove"></i>
|
||||
</a>
|
||||
</span>
|
||||
</td>
|
||||
|
@ -20,8 +20,12 @@
|
||||
{% trans "Version" %} {{ version.version_number }}
|
||||
</small>
|
||||
<small class="pull-right">
|
||||
<a href="{% url 'motion_list' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
|
||||
<a href="{% url 'motion_detail_pdf' motion.id %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print motion as PDF' %}" target="_blank"><i class="icon-print"></i> PDF</a>
|
||||
<a href="{% url 'motion_list' %}" class="btn btn-mini"
|
||||
rel="tooltip" data-original-title="{% trans 'Show item' %}">
|
||||
<i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
|
||||
<a href="{% url 'motion_detail_pdf' motion.id %}" class="btn btn-mini"
|
||||
rel="tooltip" data-original-title="{% trans 'Print motion as PDF' %}" target="_blank">
|
||||
<i class="icon-print"></i> PDF</a>
|
||||
<!-- activate projector -->
|
||||
{% if perms.projector.can_manage_projector %}
|
||||
<a href="{% url 'projector_activate_slide' motion.sid %}" class="activate_link btn {% if motion.active %}btn-primary{% endif %} btn-mini" rel="tooltip" data-original-title="{% trans 'Show motion' %}">
|
||||
@ -34,11 +38,11 @@
|
||||
{% trans 'More actions' %} <span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu pull-right">
|
||||
<!-- edit -->
|
||||
{% if allowed_actions.edit %}
|
||||
<li><a href="{% model_url motion 'edit' %}"><i class="icon-pencil"></i> {% trans 'Edit motion' %}</a></li>
|
||||
{% endif %}
|
||||
{% if perms.motion.can_manage_motion %}
|
||||
<!-- edit -->
|
||||
{% if allowed_actions.edit %}
|
||||
<li><a href="{% model_url motion 'edit' %}"><i class="icon-pencil"></i> {% trans 'Edit motion' %}</a></li>
|
||||
{% endif %}
|
||||
<!-- delete -->
|
||||
{% if allowed_actions.delete %}
|
||||
<li><a href="{% model_url motion 'delete' %}"><i class="icon-remove"></i> {% trans 'Delete motion' %}</a></li>
|
||||
@ -136,6 +140,7 @@
|
||||
|
||||
<!-- Log -->
|
||||
{% if perms.motion.can_manage_motion %}
|
||||
<p>
|
||||
<div class="btn-group" data-toggle="buttons-checkbox">
|
||||
<button type="button" class="btn" data-toggle="collapse" data-target="#log">
|
||||
{% trans "Show log" %}
|
||||
@ -148,6 +153,7 @@
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div> <!--/span-->
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if perms.motion.can_manage_motion %}
|
||||
<a href="{% url 'motion_category_list' %}" class="btn btn-mini"><i class="icon-th-large"></i> {% trans 'Categories' %}</a>
|
||||
<a href="{% url 'motion_category_list' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Manage categories' %}"><i class="icon-th-large"></i> {% trans 'Categories' %}</a>
|
||||
<a href="{% url 'motion_csv_import' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Import motions' %}"><i class="icon-import"></i> {% trans 'Import' %}</a>
|
||||
{% endif %}
|
||||
<a href="{% url 'motion_list_pdf' %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print all motions as PDF' %}" target="_blank"><i class="icon-print"></i> PDF</a>
|
||||
@ -79,15 +79,15 @@
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if perms.motion.can_manage_motion %}
|
||||
<a href="{% model_url motion 'edit' %}" title="{% trans 'Edit' %}" class="btn btn-mini">
|
||||
<i class="icon-pencil"></i>
|
||||
<a href="{% model_url motion 'edit' %}" rel="tooltip" data-original-title="{% trans 'Edit' %}"
|
||||
class="btn btn-mini"><i class="icon-pencil"></i>
|
||||
</a>
|
||||
<a href="{% model_url motion 'delete' %}" title="{% trans 'Delete' %}" class="btn btn-mini">
|
||||
<i class="icon-remove"></i>
|
||||
<a href="{% model_url motion 'delete' %}" rel="tooltip" data-original-title="{% trans 'Delete' %}"
|
||||
class="btn btn-mini"><i class="icon-remove"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
<a href="{% url 'motion_detail_pdf' motion.id %}" class="btn btn-mini" title="{% trans 'Print motion as PDF' %}" target="_blank">
|
||||
<i class="icon-print"></i> PDF
|
||||
<a href="{% url 'motion_detail_pdf' motion.id %}" data-original-title="{% trans 'Print motion as PDF' %}"
|
||||
class="btn btn-mini tooltip-left" target="_blank"><i class="icon-print"></i> PDF
|
||||
</a>
|
||||
</span>
|
||||
</td>
|
||||
|
@ -731,7 +731,10 @@ class MotionCSVImportView(FormView):
|
||||
if count_success:
|
||||
messages.success(
|
||||
self.request,
|
||||
"<strong>%s</strong><br>%s" % (_('Summary'), _('%d of %d motions successfully imported.') % (count_success, count_lines)))
|
||||
"<strong>%s</strong><br>%s" % (
|
||||
_('Summary'),
|
||||
_('%(counts)d of %(total)d motions successfully imported.')
|
||||
% {'counts': count_success, 'total': count_lines}))
|
||||
return super(MotionCSVImportView, self).form_valid(form)
|
||||
|
||||
motion_csv_import = MotionCSVImportView.as_view()
|
||||
|
@ -46,8 +46,7 @@
|
||||
<tr>
|
||||
<th>{% trans "Present" %}</th>
|
||||
<th class="optional">{% trans "Title" %}</th>
|
||||
<th>{% trans "First Name" %}</th>
|
||||
<th>{% trans "Last Name" %}</th>
|
||||
<th>{% trans "Name" %}</th>
|
||||
<th class="optional">{% trans "Structure level" %}</th>
|
||||
<th class="optional">{% trans "Group" %}</th>
|
||||
<th class="optional">{% trans "Committee" %}</th>
|
||||
@ -65,19 +64,24 @@
|
||||
{% if user != request_user and not user.is_superuser %}
|
||||
<a href="{% url 'user_status_toggle' user.id %}"
|
||||
class="status_link btn btn-mini {% if user.is_active %}btn-success{% endif %}"
|
||||
title="{% if user.is_active %}{% trans 'present' %}{% else %}{% trans 'absent' %}{% endif %}">
|
||||
rel="tooltip" data-original-title="{% if user.is_active %}{% trans 'present' %}{% else %}{% trans 'absent' %}{% endif %}">
|
||||
<i class="{% if user.is_active %}icon-on{% else %}icon-off{% endif %}"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<span class="status_link">
|
||||
<i class="status_link {% if user.is_active %}icon-on{% else %}icon-off{% endif %}"
|
||||
title="{% if user.is_active %}{% trans 'present' %}{% else %}{% trans 'absent' %}{% endif %}"></i>
|
||||
<i class="status_link {% if user.is_active %}icon-on{% else %}icon-off{% endif %} tooltip-bottom"
|
||||
data-original-title="{% if user.is_active %}{% trans 'present' %}{% else %}{% trans 'absent' %}{% endif %}"></i>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="optional">{{ user.title }}</td>
|
||||
<td><a href="{% url 'user_view' user.id %}">{{ user.first_name }}</a></td>
|
||||
<td><a href="{% url 'user_view' user.id %}">{{ user.last_name }}</a></td>
|
||||
<td>
|
||||
{% if 'participant_sort_users_by_first_name'|get_config %}
|
||||
<a href="{% url 'user_view' user.id %}">{{ user.first_name }} {{ user.last_name }}</a>
|
||||
{% else %}
|
||||
<a href="{% url 'user_view' user.id %}">{{ user.last_name }}, {{ user.first_name }}</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="optional">{{ user.structure_level }}</td>
|
||||
<td class="optional">
|
||||
{% for group in user.groups.all %}
|
||||
@ -89,7 +93,13 @@
|
||||
</td>
|
||||
<td class="optional">{{ user.committee }}</td>
|
||||
{% if perms.participant.can_manage_participant %}
|
||||
<td class="optional">{{ user.comment|first_line }}</td>
|
||||
<td class="optional">
|
||||
{% if user.comment %}
|
||||
<a class="btn btn-mini" rel="popover" data-content="{{ user.comment|linebreaks }}">
|
||||
<i class="icon icon-search"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="optional">
|
||||
{% if user.last_login > user.date_joined %}
|
||||
{{ user.last_login }}
|
||||
@ -98,15 +108,18 @@
|
||||
<td>
|
||||
<span style="width: 1px; white-space: nowrap;">
|
||||
{% if perms.projector.can_manage_projector %}
|
||||
<a href="{% url 'projector_activate_slide' user.sid %}" class="activate_link btn {% if user.active %}btn-primary{% endif %} btn-mini" title="{% trans 'Show' %}">
|
||||
<i class="icon-facetime-video {% if user.active %}icon-white{% endif %}"></i>
|
||||
</a>
|
||||
<a href="{% url 'projector_activate_slide' user.sid %}" class="activate_link btn {% if user.active %}btn-primary{% endif %} btn-mini"
|
||||
rel="tooltip" data-original-title="{% trans 'Show participant' %}">
|
||||
<i class="icon-facetime-video {% if user.active %}icon-white{% endif %}"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
<a href="{% url 'user_edit' user.id %}" title="{% trans 'Edit' %}" class="btn btn-mini">
|
||||
<a href="{% url 'user_edit' user.id %}" rel="tooltip" data-original-title="{% trans 'Edit' %}"
|
||||
class="btn btn-mini">
|
||||
<i class="icon-pencil"></i>
|
||||
</a>
|
||||
{% if user != request_user %}
|
||||
<a href="{% url 'user_delete' user.id %}" title="{% trans 'Delete' %}" class="btn btn-mini">
|
||||
<a href="{% url 'user_delete' user.id %}" rel="tooltip" data-original-title="{% trans 'Delete' %}"
|
||||
class="btn btn-mini">
|
||||
<i class="icon-remove"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
@ -29,14 +29,19 @@ $(function () {
|
||||
success: function(data) {
|
||||
$('.activate_link').removeClass('btn-primary');
|
||||
$('.activate_link i').removeClass('icon-white');
|
||||
$('tr').removeClass('activeline');
|
||||
$('div').removeClass('activeline');
|
||||
$('li').removeClass('activeline');
|
||||
// is table line
|
||||
if ( link.parent().parent().parent().is("tr") ) {
|
||||
$('tr').removeClass('activeline');
|
||||
link.parent().parent().parent().addClass('activeline');
|
||||
}
|
||||
// is sortable list (agenda)
|
||||
if ( link.parent().parent().parent().is("div") ) {
|
||||
link.parent().parent().parent().addClass('activeline');
|
||||
}
|
||||
// is widget list item
|
||||
if ( link.parent().is("li") ) {
|
||||
$('li').removeClass('activeline');
|
||||
link.parent().addClass('activeline');
|
||||
}
|
||||
link.addClass('btn-primary');
|
||||
@ -165,6 +170,13 @@ $(document).ready(function(){
|
||||
$('.tooltip-bottom').tooltip({
|
||||
placement: 'bottom'
|
||||
});
|
||||
//Popover
|
||||
$(this).popover({
|
||||
selector: "a[rel=popover]",
|
||||
placement: 'bottom',
|
||||
html: true
|
||||
});
|
||||
|
||||
// Resize menu and content container
|
||||
function iconmenu(){
|
||||
$('.leftmenu').removeClass('span2').addClass('lefticon').addClass('span1');
|
||||
|
@ -39,8 +39,8 @@ def first_line(text):
|
||||
lines = text.split('\n')
|
||||
except AttributeError:
|
||||
return ''
|
||||
if len(lines) > 1 or len(lines[0]) > 40:
|
||||
if len(lines) > 1 or len(lines[0]) > 30:
|
||||
s = "%s ..."
|
||||
else:
|
||||
s = "%s"
|
||||
return s % lines[0][:40]
|
||||
return s % lines[0][:30]
|
||||
|
Loading…
Reference in New Issue
Block a user