diff --git a/CHANGELOG b/CHANGELOG index a1a4478d7..d1eb708a2 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -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 diff --git a/THANKS b/THANKS index 403257ff4..804a8fb18 100644 --- a/THANKS +++ b/THANKS @@ -5,29 +5,84 @@ OpenSlides uses parts of the following projects: * Django - + + License: BSD + +* Django mptt + + License: BSD * jQuery - - and some addons: cookie, form, once, templating + + License: MIT + and some plugins: + - jQuery DataTables Plugin + + License: BSD/GPLv2 + - jQuery Cookie Plugin + + License: MIT/GPL + - jQuery Form Plugin + + License: MIT/GPLv2 + - jQuery Once Plugin + + License: MIT/GPL + - jQuery Templating Plugin + + License: MIT/GPLv2 * jQuery UI - - custom ui components: core, widget, mouse, sortable, datepicker, slider - with css theme 'smoothness' - and some addons: slider access, timepicker - -* nestedSortable jQuery Plugin - + + with custom ui components: core, widget, mouse, sortable, datepicker, slider + and css theme 'smoothness' + License: MIT + and some addons: + - jQuery UI Nested Sortable + + License: MIT + - jQuery UI Slider Access + + License: MIT/GPLv2 + - jQuery timepicker addon + + License: MIT/GPLv2 * Twitter Bootstrap + License: Apache License v2.0 + +* CKEditor + + License: GPL, LGPL, MPL + +* Beautiful Soup + + License: MIT + +* Bleach + + License: BSD + +* Pillow + + License: Standard PIL License + +* qrcode + + License: BSD * ReportLab + License: BSD + +* Tornado + + License: Apache License v2.0 * Ubuntu TrueType Font - + + License: Ubuntu Font Licence 1.0 * Sphinx diff --git a/openslides/agenda/signals.py b/openslides/agenda/signals.py index b4286aa27..843bb239e 100644 --- a/openslides/agenda/signals.py +++ b/openslides/agenda/signals.py @@ -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', diff --git a/openslides/agenda/static/styles/agenda_sort.css b/openslides/agenda/static/styles/agenda_sort.css index 36d231b2f..6ccf635cb 100644 --- a/openslides/agenda/static/styles/agenda_sort.css +++ b/openslides/agenda/static/styles/agenda_sort.css @@ -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; } diff --git a/openslides/agenda/templates/agenda/item_row.html b/openslides/agenda/templates/agenda/item_row.html index e8fb05dd4..397fbf681 100644 --- a/openslides/agenda/templates/agenda/item_row.html +++ b/openslides/agenda/templates/agenda/item_row.html @@ -1,15 +1,15 @@ {% load i18n %} {% load tags %} -
+
{% if perms.agenda.can_manage_agenda or perms.projector.can_manage_projector %}
{% if perms.projector.can_manage_projector %} - + {% endif %} {% if perms.agenda.can_manage_agenda %} - + - + + + + {% if not node.is_leaf_node %} - - + + {% endif %} {% endif %} @@ -37,36 +44,36 @@ {% if perms.agenda.can_see_orga_items %}
{% if node.duration %} - {{ node.duration }}h {% if start and end %}{% endif %} + {{ node.duration }} h + {% if start and end %} + + + {% endif %} {% endif %}
{% endif %} {% if perms.agenda.can_manage_agenda %}
- {{ node.comment|first_line }} + {% if node.comment %} + {{ node.comment|first_line }} + + + + {% endif %}
{% endif %}
- - -
- -
- {% if perms.agenda.can_manage_agenda %} - - - - {% else %} - - - - {% endif %} + +
+ + + {% with form=node.weight_form %} {{ form.weight }} {{ form.self }} diff --git a/openslides/agenda/templates/agenda/overlay_speaker_projector.html b/openslides/agenda/templates/agenda/overlay_speaker_projector.html index cb86881ef..48cb3ea27 100644 --- a/openslides/agenda/templates/agenda/overlay_speaker_projector.html +++ b/openslides/agenda/templates/agenda/overlay_speaker_projector.html @@ -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;}
diff --git a/openslides/agenda/templates/agenda/overview.html b/openslides/agenda/templates/agenda/overview.html index 6cda8851f..f0bddf4be 100644 --- a/openslides/agenda/templates/agenda/overview.html +++ b/openslides/agenda/templates/agenda/overview.html @@ -46,18 +46,22 @@ {% if perms.agenda.can_see_orga_items %} - {% if start and end %} - - - - - - - - - -
{% trans "Start of event" %}:{{ start|date:"DATETIME_FORMAT" }}
{% trans "Estimated end" %}:{{ end|date:"DATETIME_FORMAT" }}
- {% endif %} + {% if start and end %} + + + + + + + + + +
{% trans "Start of event" %}:{{ start|date:"DATETIME_FORMAT" }}
{% trans "Estimated end" %}:{{ end|date:"DATETIME_FORMAT" }}
+ {% else %} + + {% endif %} {% endif %}