Create items with duration loger than 23:59. Show start and end date. Duration has tooltip showing end date and time.
This commit is contained in:
parent
7f03e02e9a
commit
d6084f7c8b
@ -12,13 +12,14 @@
|
|||||||
|
|
||||||
from django import forms
|
from django import forms
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
from django.contrib.admin.widgets import AdminTimeWidget
|
||||||
from mptt.forms import TreeNodeChoiceField
|
from mptt.forms import TreeNodeChoiceField
|
||||||
|
|
||||||
from openslides.utils.forms import CssClassMixin
|
from openslides.utils.forms import CssClassMixin
|
||||||
|
|
||||||
from openslides.agenda.models import Item
|
from openslides.agenda.models import Item
|
||||||
|
|
||||||
|
import re
|
||||||
|
|
||||||
class ItemForm(forms.ModelForm, CssClassMixin):
|
class ItemForm(forms.ModelForm, CssClassMixin):
|
||||||
"""
|
"""
|
||||||
@ -27,9 +28,10 @@ class ItemForm(forms.ModelForm, CssClassMixin):
|
|||||||
parent = TreeNodeChoiceField(
|
parent = TreeNodeChoiceField(
|
||||||
queryset=Item.objects.all(), label=_("Parent item"), required=False)
|
queryset=Item.objects.all(), label=_("Parent item"), required=False)
|
||||||
|
|
||||||
duration = forms.TimeField(
|
duration = forms.RegexField(
|
||||||
widget=forms.TimeInput(format='%H:%M') ,
|
regex=re.compile('[0-99]:[0-5][0-9]'),
|
||||||
input_formats=('%H:%M', '%H %M'),
|
error_message=_("Invalid format. Hours from 0 to 99 and minutes from 00 to 59"),
|
||||||
|
max_length=5,
|
||||||
required=False,
|
required=False,
|
||||||
label=_("Duration (hh:mm)")
|
label=_("Duration (hh:mm)")
|
||||||
)
|
)
|
||||||
@ -62,9 +64,8 @@ class ItemOrderForm(forms.Form, CssClassMixin):
|
|||||||
)
|
)
|
||||||
|
|
||||||
class ConfigForm(CssClassMixin, forms.Form):
|
class ConfigForm(CssClassMixin, forms.Form):
|
||||||
agenda_start_event_time = forms.TimeField(
|
agenda_start_event_date_time = forms.CharField(
|
||||||
widget=forms.TimeInput(format='%H:%M'),
|
widget=forms.DateTimeInput(format='%d.%m.%Y %H:%M'),
|
||||||
input_formats=['%H:%M'],
|
|
||||||
required=False,
|
required=False,
|
||||||
label=_("Begin of event (hh:mm)"),
|
label=_("Begin of event")
|
||||||
)
|
)
|
||||||
|
@ -49,7 +49,7 @@ class Item(MPTTModel, SlideMixin):
|
|||||||
type = models.IntegerField(max_length=1, choices=ITEM_TYPE,
|
type = models.IntegerField(max_length=1, choices=ITEM_TYPE,
|
||||||
default=AGENDA_ITEM, verbose_name=_("Type"))
|
default=AGENDA_ITEM, verbose_name=_("Type"))
|
||||||
|
|
||||||
duration = models.TimeField(blank=True, null=True, verbose_name=_("Duration (hh:mm)"));
|
duration = models.CharField(null=True, blank=True, max_length=5, verbose_name=_("Duration (hh:mm)"))
|
||||||
|
|
||||||
related_sid = models.CharField(null=True, blank=True, max_length=63)
|
related_sid = models.CharField(null=True, blank=True, max_length=63)
|
||||||
|
|
||||||
|
5
openslides/agenda/static/javascript/ui/jquery-ui-1.10.0.min.js
vendored
Normal file
5
openslides/agenda/static/javascript/ui/jquery-ui-1.10.0.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
89
openslides/agenda/static/javascript/ui/jquery-ui-sliderAccess.js
vendored
Normal file
89
openslides/agenda/static/javascript/ui/jquery-ui-sliderAccess.js
vendored
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
/*
|
||||||
|
* jQuery UI Slider Access
|
||||||
|
* By: Trent Richardson [http://trentrichardson.com]
|
||||||
|
* Version 0.3
|
||||||
|
* Last Modified: 10/20/2012
|
||||||
|
*
|
||||||
|
* Copyright 2011 Trent Richardson
|
||||||
|
* Dual licensed under the MIT and GPL licenses.
|
||||||
|
* http://trentrichardson.com/Impromptu/GPL-LICENSE.txt
|
||||||
|
* http://trentrichardson.com/Impromptu/MIT-LICENSE.txt
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
(function($){
|
||||||
|
|
||||||
|
$.fn.extend({
|
||||||
|
sliderAccess: function(options){
|
||||||
|
options = options || {};
|
||||||
|
options.touchonly = options.touchonly !== undefined? options.touchonly : true; // by default only show it if touch device
|
||||||
|
|
||||||
|
if(options.touchonly === true && !("ontouchend" in document))
|
||||||
|
return $(this);
|
||||||
|
|
||||||
|
return $(this).each(function(i,obj){
|
||||||
|
var $t = $(this),
|
||||||
|
o = $.extend({},{
|
||||||
|
where: 'after',
|
||||||
|
step: $t.slider('option','step'),
|
||||||
|
upIcon: 'ui-icon-plus',
|
||||||
|
downIcon: 'ui-icon-minus',
|
||||||
|
text: false,
|
||||||
|
upText: '+',
|
||||||
|
downText: '-',
|
||||||
|
buttonset: true,
|
||||||
|
buttonsetTag: 'span',
|
||||||
|
isRTL: false
|
||||||
|
}, options),
|
||||||
|
$buttons = $('<'+ o.buttonsetTag +' class="ui-slider-access">'+
|
||||||
|
'<button data-icon="'+ o.downIcon +'" data-step="'+ (o.isRTL? o.step : o.step*-1) +'">'+ o.downText +'</button>'+
|
||||||
|
'<button data-icon="'+ o.upIcon +'" data-step="'+ (o.isRTL? o.step*-1 : o.step) +'">'+ o.upText +'</button>'+
|
||||||
|
'</'+ o.buttonsetTag +'>');
|
||||||
|
|
||||||
|
$buttons.children('button').each(function(j, jobj){
|
||||||
|
var $jt = $(this);
|
||||||
|
$jt.button({
|
||||||
|
text: o.text,
|
||||||
|
icons: { primary: $jt.data('icon') }
|
||||||
|
})
|
||||||
|
.click(function(e){
|
||||||
|
var step = $jt.data('step'),
|
||||||
|
curr = $t.slider('value'),
|
||||||
|
newval = curr += step*1,
|
||||||
|
minval = $t.slider('option','min'),
|
||||||
|
maxval = $t.slider('option','max'),
|
||||||
|
slidee = $t.slider("option", "slide") || function(){},
|
||||||
|
stope = $t.slider("option", "stop") || function(){};
|
||||||
|
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
if(newval < minval || newval > maxval)
|
||||||
|
return;
|
||||||
|
|
||||||
|
$t.slider('value', newval);
|
||||||
|
|
||||||
|
slidee.call($t, null, { value: newval });
|
||||||
|
stope.call($t, null, { value: newval });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// before or after
|
||||||
|
$t[o.where]($buttons);
|
||||||
|
|
||||||
|
if(o.buttonset){
|
||||||
|
$buttons.removeClass('ui-corner-right').removeClass('ui-corner-left').buttonset();
|
||||||
|
$buttons.eq(0).addClass('ui-corner-left');
|
||||||
|
$buttons.eq(1).addClass('ui-corner-right');
|
||||||
|
}
|
||||||
|
|
||||||
|
// adjust the width so we don't break the original layout
|
||||||
|
var bOuterWidth = $buttons.css({
|
||||||
|
marginLeft: ((o.where == 'after' && !o.isRTL) || (o.where == 'before' && o.isRTL)? 10:0),
|
||||||
|
marginRight: ((o.where == 'before' && !o.isRTL) || (o.where == 'after' && o.isRTL)? 10:0)
|
||||||
|
}).outerWidth(true) + 5;
|
||||||
|
var tOuterWidth = $t.outerWidth(true);
|
||||||
|
$t.css('display','inline-block').width(tOuterWidth-bOuterWidth);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
})(jQuery);
|
1919
openslides/agenda/static/javascript/ui/jquery-ui-timepicker-addon.js
vendored
Normal file
1919
openslides/agenda/static/javascript/ui/jquery-ui-timepicker-addon.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
11
openslides/agenda/static/styles/timepicker.css
Normal file
11
openslides/agenda/static/styles/timepicker.css
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/* css for timepicker */
|
||||||
|
.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; }
|
||||||
|
.ui-timepicker-div dl { text-align: left; }
|
||||||
|
.ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; }
|
||||||
|
.ui-timepicker-div dl dd { margin: 0 10px 10px 65px; }
|
||||||
|
.ui-timepicker-div td { font-size: 90%; }
|
||||||
|
.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; }
|
||||||
|
|
||||||
|
.ui-timepicker-rtl{ direction: rtl; }
|
||||||
|
.ui-timepicker-rtl dl { text-align: right; }
|
||||||
|
.ui-timepicker-rtl dl dd { margin: 0 65px 10px 10px; }
|
@ -1,11 +1,72 @@
|
|||||||
{% extends "config/base_config.html" %}
|
{% extends "config/base_config.html" %}
|
||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
{% get_current_language as LANGUAGE_CODE %}
|
||||||
|
|
||||||
|
{% load staticfiles %}
|
||||||
|
|
||||||
|
{% block header %}
|
||||||
|
<link rel="stylesheet" media="all" type="text/css" href="http://code.jquery.com/ui/1.10.0/themes/smoothness/jquery-ui.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" media="all" href="{% static 'styles/timepicker.css' %}" />
|
||||||
|
<script type="text/javascript" src="{% static 'javascript/ui/jquery-ui-1.10.0.min.js' %}"></script>
|
||||||
|
<script type="text/javascript" src="{% static 'javascript/ui/jquery-ui-timepicker-addon.js' %}"></script>
|
||||||
|
<script type="text/javascript" src="{% static 'javascript/ui/jquery-ui-sliderAccess.js' %}"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(function() {
|
||||||
|
$.datepicker.regional['{{ LANGUAGE_CODE }}'] = {
|
||||||
|
prevText: 'previous month',
|
||||||
|
nextText: 'next month',
|
||||||
|
monthNames: [
|
||||||
|
'{% trans 'January' %}', '{% trans 'February' %}', '{% trans 'March' %}',
|
||||||
|
'{% trans 'April' %}', '{% trans 'May' %}', '{% trans 'June' %}',
|
||||||
|
'{% trans 'July' %}', '{% trans 'August' %}', '{% trans 'September' %}',
|
||||||
|
'{% trans 'October' %}', '{% trans 'November' %}', '{% trans 'December' %}'
|
||||||
|
],
|
||||||
|
monthNamesShort: [
|
||||||
|
'{% trans 'Jan' %}', '{% trans 'Feb' %}', '{% trans 'Mar' %}',
|
||||||
|
'{% trans 'Apr' %}', '{% trans 'May' %}', '{% trans 'Jun' %}',
|
||||||
|
'{% trans 'Jul' %}', '{% trans 'Aug' %}', '{% trans 'Sep' %}',
|
||||||
|
'{% trans 'Oct' %}', '{% trans 'Nov' %}', '{% trans 'Dec' %}'
|
||||||
|
],
|
||||||
|
dayNames: [
|
||||||
|
'{% trans 'Sunday' %}', '{% trans 'Monday' %}', '{% trans 'Tuesdey' %}', '{% trans 'Wednesday' %}',
|
||||||
|
'{% trans 'Thursday' %}', '{% trans 'Friday' %}', '{% trans 'Saturday' %}'
|
||||||
|
],
|
||||||
|
dayNamesMin: [
|
||||||
|
'{% trans 'Su' %}', '{% trans 'Mo' %}', '{% trans 'Tu' %}', '{% trans 'We' %}',
|
||||||
|
'{% trans 'Th' %}', '{% trans 'Fr' %}', '{% trans 'Sa' %}'
|
||||||
|
],
|
||||||
|
dayNamesShort: [
|
||||||
|
'{% trans 'Su' %}', '{% trans 'Mo' %}', '{% trans 'Tu' %}', '{% trans 'We' %}',
|
||||||
|
'{% trans 'Th' %}', '{% trans 'Fr' %}', '{% trans 'Sa' %}'
|
||||||
|
],
|
||||||
|
dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false
|
||||||
|
};
|
||||||
|
|
||||||
|
$.datepicker.setDefaults($.datepicker.regional['{{ LANGUAGE_CODE }}']);
|
||||||
|
|
||||||
|
$("#id_agenda_start_event_date_time").datetimepicker (
|
||||||
|
{
|
||||||
|
hour: 12,
|
||||||
|
timeFormat: "HH:mm",
|
||||||
|
timeText: '{% trans 'Time' %}',
|
||||||
|
hourText: '{% trans 'Hour' %}',
|
||||||
|
minuteText: '{% trans 'Minute' %}',
|
||||||
|
currentText: '{% trans 'current time' %}',
|
||||||
|
closeText: '{% trans 'close' %}'
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block title %}{{ block.super }} – {% trans "Agenda settings" %}{% endblock %}
|
{% block title %}{{ block.super }} – {% trans "Agenda settings" %}{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{% trans "Agenda settings" %}</h1>
|
<h1>{% trans "Agenda settings" %}</h1>
|
||||||
|
|
||||||
<form action="" method="post">{% csrf_token %}
|
<form action="" method="post">{% csrf_token %}
|
||||||
{{ form.as_p }}
|
{{ form.as_p }}
|
||||||
<p>
|
<p>
|
||||||
|
@ -29,9 +29,9 @@
|
|||||||
</td>
|
</td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.agenda.can_see_orga_items %}
|
{% if perms.agenda.can_see_orga_items %}
|
||||||
<td>
|
<td {% if item.tooltip %}title="{% trans 'End' %}: {{ item.tooltip|date:"D d M Y H.i" }}"{% endif %}>
|
||||||
{% if item.duration %}
|
{% if item.duration %}
|
||||||
{{ item.duration|time:"H:i" }}h
|
{{ item.duration }}h
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -51,17 +51,19 @@
|
|||||||
|
|
||||||
<h1>{% trans "Agenda" %}
|
<h1>{% trans "Agenda" %}
|
||||||
{% if perms.agenda.can_see_orga_items %}
|
{% if perms.agenda.can_see_orga_items %}
|
||||||
|
{% if start and end %}
|
||||||
<table id="agendatime">
|
<table id="agendatime">
|
||||||
<tr>
|
<tr>
|
||||||
<td>{% trans "Start of event" %}:</td>
|
<td>{% trans "Start of event" %}:</td>
|
||||||
<td>{{ start|time:"H:i" }}</td>
|
<td>{{ start|date:"D d M Y H.i" }}h</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{% trans "Estimated end" %}:</td>
|
<td>{% trans "Estimated end" %}:</td>
|
||||||
<td>{{ end|time:"H:i" }}</td>
|
<td>{{ end|date:"D d M Y H.i" }}h</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
</h1>
|
</h1>
|
||||||
<p>
|
<p>
|
||||||
{% trans "Filter" %}:
|
{% trans "Filter" %}:
|
||||||
@ -95,7 +97,7 @@
|
|||||||
<td></td>
|
<td></td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.agenda.can_see_orga_items %}
|
{% if perms.agenda.can_see_orga_items %}
|
||||||
<td>{{duration|time:"H:i"}}h</td>
|
<td>{{duration}}h</td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.agenda.can_manage_agenda or perms.projector.can_manage_projector %}
|
{% if perms.agenda.can_manage_agenda or perms.projector.can_manage_projector %}
|
||||||
<td>
|
<td>
|
||||||
|
@ -49,20 +49,28 @@ class Overview(TemplateView):
|
|||||||
else:
|
else:
|
||||||
items = Item.objects.filter(type__exact=Item.AGENDA_ITEM)
|
items = Item.objects.filter(type__exact=Item.AGENDA_ITEM)
|
||||||
|
|
||||||
|
start = config['agenda_start_event_date_time']
|
||||||
|
if start is None or len(start) == 0:
|
||||||
|
start = None
|
||||||
|
else:
|
||||||
|
start = datetime.strptime(start, '%d.%m.%Y %H:%M')
|
||||||
|
|
||||||
duration = timedelta()
|
duration = timedelta()
|
||||||
|
|
||||||
for item in items:
|
for item in items:
|
||||||
if not item.closed and item.duration is not None:
|
if not item.closed and len(item.duration) > 0:
|
||||||
duration += timedelta(hours=item.duration.hour,
|
duration_list = item.duration.split(':')
|
||||||
minutes=item.duration.minute)
|
duration += timedelta(hours=int(duration_list[0]),
|
||||||
|
minutes=int(duration_list[1]))
|
||||||
|
if not start is None:
|
||||||
|
item.tooltip = start + duration
|
||||||
|
|
||||||
start = config['agenda_start_event_time']
|
|
||||||
if start is None:
|
if start is None:
|
||||||
start = u'0:00:00'
|
end = None
|
||||||
|
else:
|
||||||
|
end = start + duration
|
||||||
|
|
||||||
start = datetime.strptime(start, '%H:%M:%S')
|
duration = u'%d:%02d' % ((duration.days * 24 + duration.seconds / 3600), (duration.seconds / 60 % 60))
|
||||||
end = start + duration
|
|
||||||
duration = datetime.strptime(str(duration), '%H:%M:%S')
|
|
||||||
|
|
||||||
context.update({
|
context.update({
|
||||||
'items': items,
|
'items': items,
|
||||||
@ -240,11 +248,11 @@ class Config(FormView):
|
|||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
return {
|
return {
|
||||||
'agenda_start_event_time': config['agenda_start_event_time'],
|
'agenda_start_event_date_time': config['agenda_start_event_date_time'],
|
||||||
}
|
}
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
config['agenda_start_event_time'] = form.cleaned_data['agenda_start_event_time']
|
config['agenda_start_event_date_time'] = form.cleaned_data['agenda_start_event_date_time']
|
||||||
messages.success(self.request, _('Agenda settings successfully saved.'))
|
messages.success(self.request, _('Agenda settings successfully saved.'))
|
||||||
return super(Config, self).form_valid(form)
|
return super(Config, self).form_valid(form)
|
||||||
|
|
||||||
|
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: OpenSlides 1.x\n"
|
"Project-Id-Version: OpenSlides 1.x\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2013-01-30 21:40+0100\n"
|
"POT-Creation-Date: 2013-02-05 14:24+0100\n"
|
||||||
"PO-Revision-Date: 2012-07-28 11:07+0200\n"
|
"PO-Revision-Date: 2012-07-28 11:07+0200\n"
|
||||||
"Last-Translator: Emanuel Schuetze <emanuel@intevation.de>\n"
|
"Last-Translator: Emanuel Schuetze <emanuel@intevation.de>\n"
|
||||||
"Language-Team: support@openslides.de\n"
|
"Language-Team: support@openslides.de\n"
|
||||||
@ -29,116 +29,120 @@ msgstr "Englisch"
|
|||||||
msgid "French"
|
msgid "French"
|
||||||
msgstr "Französisch"
|
msgstr "Französisch"
|
||||||
|
|
||||||
#: agenda/forms.py:28
|
#: agenda/forms.py:29
|
||||||
msgid "Parent item"
|
msgid "Parent item"
|
||||||
msgstr "Elternelement"
|
msgstr "Elternelement"
|
||||||
|
|
||||||
#: agenda/forms.py:34 agenda/models.py:49
|
#: agenda/forms.py:34
|
||||||
|
msgid "Invalid format. Hours from 0 to 99 and minutes from 00 to 59"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: agenda/forms.py:37 agenda/models.py:52
|
||||||
msgid "Duration (hh:mm)"
|
msgid "Duration (hh:mm)"
|
||||||
msgstr "Dauer (hh:mm)"
|
msgstr "Dauer (hh:mm)"
|
||||||
|
|
||||||
#: agenda/forms.py:69
|
#: agenda/forms.py:71
|
||||||
msgid "Begin of event (hh:mm)"
|
msgid "Begin of event"
|
||||||
msgstr "Beginn der Veranstaltung (hh:mm)"
|
msgstr "Beginn der Veranstaltung"
|
||||||
|
|
||||||
#: agenda/models.py:35
|
#: agenda/models.py:38
|
||||||
msgid "Agenda item"
|
msgid "Agenda item"
|
||||||
msgstr "Tagesordnungseintrag"
|
msgstr "Tagesordnungseintrag"
|
||||||
|
|
||||||
#: agenda/models.py:36
|
#: agenda/models.py:39
|
||||||
msgid "Organizational item"
|
msgid "Organizational item"
|
||||||
msgstr "Organisatorischer Eintrag"
|
msgstr "Organisatorischer Eintrag"
|
||||||
|
|
||||||
#: agenda/models.py:39 config/forms.py:59 motion/forms.py:22
|
#: agenda/models.py:42 config/forms.py:59 motion/forms.py:22
|
||||||
#: motion/models.py:539 motion/templates/motion/view.html:246
|
#: motion/models.py:539 motion/templates/motion/view.html:246
|
||||||
#: projector/models.py:29
|
#: projector/models.py:29
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titel"
|
msgstr "Titel"
|
||||||
|
|
||||||
#: agenda/models.py:40 motion/forms.py:23 motion/models.py:540
|
#: agenda/models.py:43 motion/forms.py:23 motion/models.py:540
|
||||||
#: motion/templates/motion/view.html:247 projector/models.py:30
|
#: motion/templates/motion/view.html:247 projector/models.py:30
|
||||||
msgid "Text"
|
msgid "Text"
|
||||||
msgstr "Text"
|
msgstr "Text"
|
||||||
|
|
||||||
#: agenda/models.py:41 agenda/templates/agenda/overview.html:77
|
#: agenda/models.py:44 agenda/templates/agenda/overview.html:79
|
||||||
#: agenda/templates/agenda/view.html:13 participant/models.py:60
|
#: agenda/templates/agenda/view.html:13 participant/models.py:60
|
||||||
#: participant/templates/participant/overview.html:72
|
#: participant/templates/participant/overview.html:72
|
||||||
#: participant/templates/participant/user_detail.html:45
|
#: participant/templates/participant/user_detail.html:45
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Kommentar"
|
msgstr "Kommentar"
|
||||||
|
|
||||||
#: agenda/models.py:42
|
#: agenda/models.py:45
|
||||||
msgid "Closed"
|
msgid "Closed"
|
||||||
msgstr "Abgeschlossen"
|
msgstr "Abgeschlossen"
|
||||||
|
|
||||||
#: agenda/models.py:43 agenda/templates/agenda/overview.html:86
|
#: agenda/models.py:46 agenda/templates/agenda/overview.html:88
|
||||||
#: projector/models.py:31
|
#: projector/models.py:31
|
||||||
msgid "Weight"
|
msgid "Weight"
|
||||||
msgstr "Gewichtung"
|
msgstr "Gewichtung"
|
||||||
|
|
||||||
#: agenda/models.py:47 participant/views.py:247
|
#: agenda/models.py:50 participant/views.py:247
|
||||||
#: participant/templates/participant/overview.html:37
|
#: participant/templates/participant/overview.html:37
|
||||||
#: participant/templates/participant/overview.html:69
|
#: participant/templates/participant/overview.html:69
|
||||||
#: participant/templates/participant/user_detail.html:29
|
#: participant/templates/participant/user_detail.html:29
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Typ"
|
msgstr "Typ"
|
||||||
|
|
||||||
#: agenda/models.py:182
|
#: agenda/models.py:185
|
||||||
msgid "Can see agenda"
|
msgid "Can see agenda"
|
||||||
msgstr "Darf die Tagesordnung sehen"
|
msgstr "Darf die Tagesordnung sehen"
|
||||||
|
|
||||||
#: agenda/models.py:183
|
#: agenda/models.py:186
|
||||||
msgid "Can manage agenda"
|
msgid "Can manage agenda"
|
||||||
msgstr "Darf die Tagesordung verwalten"
|
msgstr "Darf die Tagesordung verwalten"
|
||||||
|
|
||||||
#: agenda/models.py:184
|
#: agenda/models.py:187
|
||||||
msgid "Can see orga items and time scheduling of agenda"
|
msgid "Can see orga items and time scheduling of agenda"
|
||||||
msgstr "Darf Organisationspunkte und Tagesordnung-Zeitplan sehen"
|
msgstr "Darf Organisationspunkte und Tagesordnung-Zeitplan sehen"
|
||||||
|
|
||||||
#: agenda/models.py:192 agenda/slides.py:20 agenda/views.py:219
|
#: agenda/models.py:195 agenda/slides.py:20 agenda/views.py:227
|
||||||
#: agenda/views.py:220 agenda/views.py:257 agenda/views.py:271
|
#: agenda/views.py:228 agenda/views.py:265 agenda/views.py:279
|
||||||
#: agenda/templates/agenda/base_agenda.html:10
|
#: agenda/templates/agenda/base_agenda.html:10
|
||||||
#: agenda/templates/agenda/overview.html:8
|
#: agenda/templates/agenda/overview.html:8
|
||||||
#: agenda/templates/agenda/overview.html:52
|
#: agenda/templates/agenda/overview.html:52
|
||||||
#: agenda/templates/agenda/overview.html:92
|
#: agenda/templates/agenda/overview.html:94
|
||||||
#: agenda/templates/projector/AgendaSummary.html:6
|
#: agenda/templates/projector/AgendaSummary.html:6
|
||||||
#: agenda/templates/projector/AgendaSummary.html:10
|
#: agenda/templates/projector/AgendaSummary.html:10
|
||||||
msgid "Agenda"
|
msgid "Agenda"
|
||||||
msgstr "Tagesordnung"
|
msgstr "Tagesordnung"
|
||||||
|
|
||||||
#: agenda/views.py:82
|
#: agenda/views.py:90
|
||||||
msgid "You are not authorized to manage the agenda."
|
msgid "You are not authorized to manage the agenda."
|
||||||
msgstr "Sie sind nicht berechtigt die Tagesordnung zu ändern."
|
msgstr "Sie sind nicht berechtigt die Tagesordnung zu ändern."
|
||||||
|
|
||||||
#: agenda/views.py:98
|
#: agenda/views.py:106
|
||||||
msgid "Errors when reordering of the agenda"
|
msgid "Errors when reordering of the agenda"
|
||||||
msgstr "Fehler beim Neusortieren der Tagesordnung"
|
msgstr "Fehler beim Neusortieren der Tagesordnung"
|
||||||
|
|
||||||
#: agenda/views.py:159
|
#: agenda/views.py:167
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Item %s was successfully modified."
|
msgid "Item %s was successfully modified."
|
||||||
msgstr "Eintrag %s wurde erfolgreich bearbeitet."
|
msgstr "Eintrag %s wurde erfolgreich bearbeitet."
|
||||||
|
|
||||||
#: agenda/views.py:180
|
#: agenda/views.py:188
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Item %s was successfully created."
|
msgid "Item %s was successfully created."
|
||||||
msgstr "Eintrag %s wurde erfolgreich angelegt."
|
msgstr "Eintrag %s wurde erfolgreich angelegt."
|
||||||
|
|
||||||
#: agenda/views.py:197
|
#: agenda/views.py:205
|
||||||
msgid "Yes, with all child items."
|
msgid "Yes, with all child items."
|
||||||
msgstr "Ja, mit allen Kindelementen."
|
msgstr "Ja, mit allen Kindelementen."
|
||||||
|
|
||||||
#: agenda/views.py:205
|
#: agenda/views.py:213
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Item %s and his children were successfully deleted."
|
msgid "Item %s and his children were successfully deleted."
|
||||||
msgstr "Eintrag %s und seine Kindelemente wurde erfolgreich gelöscht."
|
msgstr "Eintrag %s und seine Kindelemente wurde erfolgreich gelöscht."
|
||||||
|
|
||||||
#: agenda/views.py:210
|
#: agenda/views.py:218
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Item %s was successfully deleted."
|
msgid "Item %s was successfully deleted."
|
||||||
msgstr "Eintrag %s wurde erfolgreich gelöscht."
|
msgstr "Eintrag %s wurde erfolgreich gelöscht."
|
||||||
|
|
||||||
#: agenda/views.py:248
|
#: agenda/views.py:256
|
||||||
msgid "Agenda settings successfully saved."
|
msgid "Agenda settings successfully saved."
|
||||||
msgstr "Tagesordnung Einstellungen erfolgreich gespeichert."
|
msgstr "Tagesordnung Einstellungen erfolgreich gespeichert."
|
||||||
|
|
||||||
@ -174,11 +178,189 @@ msgstr "Eintrag löschen"
|
|||||||
msgid "Show item"
|
msgid "Show item"
|
||||||
msgstr "Eintrag projizieren"
|
msgstr "Eintrag projizieren"
|
||||||
|
|
||||||
#: agenda/templates/agenda/config.html:5 agenda/templates/agenda/config.html:8
|
#: agenda/templates/agenda/config.html:20
|
||||||
|
msgid "January"
|
||||||
|
msgstr "Januar"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:20
|
||||||
|
msgid "February"
|
||||||
|
msgstr "Februar"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:20
|
||||||
|
msgid "March"
|
||||||
|
msgstr "März"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:21
|
||||||
|
msgid "April"
|
||||||
|
msgstr "April"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:21
|
||||||
|
#: agenda/templates/agenda/config.html:27
|
||||||
|
msgid "May"
|
||||||
|
msgstr "Mai"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:21
|
||||||
|
msgid "June"
|
||||||
|
msgstr "Juni"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:22
|
||||||
|
msgid "July"
|
||||||
|
msgstr "Juli"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:22
|
||||||
|
msgid "August"
|
||||||
|
msgstr "August"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:22
|
||||||
|
msgid "September"
|
||||||
|
msgstr "September"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:23
|
||||||
|
msgid "October"
|
||||||
|
msgstr "Oktober"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:23
|
||||||
|
msgid "November"
|
||||||
|
msgstr "November"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:23
|
||||||
|
msgid "December"
|
||||||
|
msgstr "Dezember"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:26
|
||||||
|
msgid "Jan"
|
||||||
|
msgstr "Jan"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:26
|
||||||
|
msgid "Feb"
|
||||||
|
msgstr "Feb"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:26
|
||||||
|
msgid "Mar"
|
||||||
|
msgstr "Mär"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:27
|
||||||
|
msgid "Apr"
|
||||||
|
msgstr "Apr"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:27
|
||||||
|
msgid "Jun"
|
||||||
|
msgstr "Jun"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:28
|
||||||
|
msgid "Jul"
|
||||||
|
msgstr "Jul"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:28
|
||||||
|
msgid "Aug"
|
||||||
|
msgstr "Aug"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:28
|
||||||
|
msgid "Sep"
|
||||||
|
msgstr "Sep"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:29
|
||||||
|
msgid "Oct"
|
||||||
|
msgstr "Okt"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:29
|
||||||
|
msgid "Nov"
|
||||||
|
msgstr "Nov"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:29
|
||||||
|
msgid "Dec"
|
||||||
|
msgstr "Dez"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:32
|
||||||
|
msgid "Sunday"
|
||||||
|
msgstr "Sonntag"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:32
|
||||||
|
msgid "Monday"
|
||||||
|
msgstr "Montag"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:32
|
||||||
|
msgid "Tuesdey"
|
||||||
|
msgstr "Dienstag"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:32
|
||||||
|
msgid "Wednesday"
|
||||||
|
msgstr "Mittwoch"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:33
|
||||||
|
msgid "Thursday"
|
||||||
|
msgstr "Donnerstag"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:33
|
||||||
|
msgid "Friday"
|
||||||
|
msgstr "Freitag"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:33
|
||||||
|
msgid "Saturday"
|
||||||
|
msgstr "Samstag"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:36
|
||||||
|
#: agenda/templates/agenda/config.html:40
|
||||||
|
msgid "Su"
|
||||||
|
msgstr "So"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:36
|
||||||
|
#: agenda/templates/agenda/config.html:40
|
||||||
|
msgid "Mo"
|
||||||
|
msgstr "Mo"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:36
|
||||||
|
#: agenda/templates/agenda/config.html:40
|
||||||
|
msgid "Tu"
|
||||||
|
msgstr "Di"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:36
|
||||||
|
#: agenda/templates/agenda/config.html:40
|
||||||
|
msgid "We"
|
||||||
|
msgstr "Mi"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:37
|
||||||
|
#: agenda/templates/agenda/config.html:41
|
||||||
|
msgid "Th"
|
||||||
|
msgstr "Do"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:37
|
||||||
|
#: agenda/templates/agenda/config.html:41
|
||||||
|
msgid "Fr"
|
||||||
|
msgstr "Fr"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:37
|
||||||
|
#: agenda/templates/agenda/config.html:41
|
||||||
|
msgid "Sa"
|
||||||
|
msgstr "Sa"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:52
|
||||||
|
#: motion/templates/motion/view.html:245
|
||||||
|
msgid "Time"
|
||||||
|
msgstr "Zeit"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:53
|
||||||
|
msgid "Hour"
|
||||||
|
msgstr "Stunde"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:54
|
||||||
|
msgid "Minute"
|
||||||
|
msgstr "Minute"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:55
|
||||||
|
msgid "current time"
|
||||||
|
msgstr "aktuelle Zeit"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:56
|
||||||
|
msgid "close"
|
||||||
|
msgstr "Schließen"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/config.html:63
|
||||||
|
#: agenda/templates/agenda/config.html:68
|
||||||
msgid "Agenda settings"
|
msgid "Agenda settings"
|
||||||
msgstr "Tagesordnungs-Einstellungen"
|
msgstr "Tagesordnungs-Einstellungen"
|
||||||
|
|
||||||
#: agenda/templates/agenda/config.html:13 agenda/templates/agenda/edit.html:24
|
#: agenda/templates/agenda/config.html:74 agenda/templates/agenda/edit.html:24
|
||||||
#: assignment/templates/assignment/config.html:13
|
#: assignment/templates/assignment/config.html:13
|
||||||
#: assignment/templates/assignment/edit.html:26
|
#: assignment/templates/assignment/edit.html:26
|
||||||
#: assignment/templates/assignment/poll_view.html:66
|
#: assignment/templates/assignment/poll_view.html:66
|
||||||
@ -195,7 +377,7 @@ msgstr "Tagesordnungs-Einstellungen"
|
|||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Speichern"
|
msgstr "Speichern"
|
||||||
|
|
||||||
#: agenda/templates/agenda/config.html:17 agenda/templates/agenda/edit.html:31
|
#: agenda/templates/agenda/config.html:78 agenda/templates/agenda/edit.html:31
|
||||||
#: assignment/templates/assignment/config.html:17
|
#: assignment/templates/assignment/config.html:17
|
||||||
#: assignment/templates/assignment/edit.html:33
|
#: assignment/templates/assignment/edit.html:33
|
||||||
#: assignment/templates/assignment/poll_view.html:73
|
#: assignment/templates/assignment/poll_view.html:73
|
||||||
@ -243,8 +425,12 @@ msgstr "Eintrag als erledigt markieren"
|
|||||||
msgid "Item closed"
|
msgid "Item closed"
|
||||||
msgstr "Eintrag erledigt"
|
msgstr "Eintrag erledigt"
|
||||||
|
|
||||||
|
#: agenda/templates/agenda/item_row.html:32
|
||||||
|
msgid "End"
|
||||||
|
msgstr "Ende"
|
||||||
|
|
||||||
#: agenda/templates/agenda/item_row.html:42
|
#: agenda/templates/agenda/item_row.html:42
|
||||||
#: agenda/templates/agenda/overview.html:104
|
#: agenda/templates/agenda/overview.html:106
|
||||||
msgid "Activate item"
|
msgid "Activate item"
|
||||||
msgstr "Eintrag projizieren"
|
msgstr "Eintrag projizieren"
|
||||||
|
|
||||||
@ -279,44 +465,44 @@ msgstr "Ja"
|
|||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr "Nein"
|
msgstr "Nein"
|
||||||
|
|
||||||
#: agenda/templates/agenda/overview.html:56
|
#: agenda/templates/agenda/overview.html:57
|
||||||
msgid "Start of event"
|
msgid "Start of event"
|
||||||
msgstr "Beginn der Veranstaltung"
|
msgstr "Beginn der Veranstaltung"
|
||||||
|
|
||||||
#: agenda/templates/agenda/overview.html:60
|
#: agenda/templates/agenda/overview.html:61
|
||||||
msgid "Estimated end"
|
msgid "Estimated end"
|
||||||
msgstr "Voraussichtliches Ende"
|
msgstr "Voraussichtliches Ende"
|
||||||
|
|
||||||
#: agenda/templates/agenda/overview.html:67
|
#: agenda/templates/agenda/overview.html:69
|
||||||
#: assignment/templates/assignment/overview.html:12
|
#: assignment/templates/assignment/overview.html:12
|
||||||
#: motion/templates/motion/overview.html:12
|
#: motion/templates/motion/overview.html:12
|
||||||
#: participant/templates/participant/overview.html:22
|
#: participant/templates/participant/overview.html:22
|
||||||
msgid "Filter"
|
msgid "Filter"
|
||||||
msgstr "Filter"
|
msgstr "Filter"
|
||||||
|
|
||||||
#: agenda/templates/agenda/overview.html:68
|
#: agenda/templates/agenda/overview.html:70
|
||||||
msgid "Hide closed items"
|
msgid "Hide closed items"
|
||||||
msgstr "Verstecke abgeschlossene Einträge"
|
msgstr "Verstecke abgeschlossene Einträge"
|
||||||
|
|
||||||
#: agenda/templates/agenda/overview.html:71
|
#: agenda/templates/agenda/overview.html:73
|
||||||
msgid "item"
|
msgid "item"
|
||||||
msgid_plural "items"
|
msgid_plural "items"
|
||||||
msgstr[0] "Eintrag"
|
msgstr[0] "Eintrag"
|
||||||
msgstr[1] "Einträge"
|
msgstr[1] "Einträge"
|
||||||
|
|
||||||
#: agenda/templates/agenda/overview.html:74
|
#: agenda/templates/agenda/overview.html:76
|
||||||
msgid "Done"
|
msgid "Done"
|
||||||
msgstr "Erledigt"
|
msgstr "Erledigt"
|
||||||
|
|
||||||
#: agenda/templates/agenda/overview.html:75
|
#: agenda/templates/agenda/overview.html:77
|
||||||
msgid "Item"
|
msgid "Item"
|
||||||
msgstr "Eintrag"
|
msgstr "Eintrag"
|
||||||
|
|
||||||
#: agenda/templates/agenda/overview.html:80
|
#: agenda/templates/agenda/overview.html:82
|
||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Dauer"
|
msgstr "Dauer"
|
||||||
|
|
||||||
#: agenda/templates/agenda/overview.html:83
|
#: agenda/templates/agenda/overview.html:85
|
||||||
#: assignment/templates/assignment/overview.html:28
|
#: assignment/templates/assignment/overview.html:28
|
||||||
#: motion/templates/motion/overview.html:43
|
#: motion/templates/motion/overview.html:43
|
||||||
#: participant/templates/participant/group_overview.html:14
|
#: participant/templates/participant/group_overview.html:14
|
||||||
@ -324,7 +510,7 @@ msgstr "Dauer"
|
|||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Aktionen"
|
msgstr "Aktionen"
|
||||||
|
|
||||||
#: agenda/templates/agenda/overview.html:120
|
#: agenda/templates/agenda/overview.html:122
|
||||||
#: agenda/templates/agenda/widget.html:46
|
#: agenda/templates/agenda/widget.html:46
|
||||||
#: projector/templates/projector/custom_slide_widget.html:36
|
#: projector/templates/projector/custom_slide_widget.html:36
|
||||||
msgid "No items available."
|
msgid "No items available."
|
||||||
@ -1728,10 +1914,6 @@ msgstr "Dies ist nicht die zugelassene Version."
|
|||||||
msgid "Version History"
|
msgid "Version History"
|
||||||
msgstr "Versionshistorie"
|
msgstr "Versionshistorie"
|
||||||
|
|
||||||
#: motion/templates/motion/view.html:245
|
|
||||||
msgid "Time"
|
|
||||||
msgstr "Zeit"
|
|
||||||
|
|
||||||
#: motion/templates/motion/view.html:256
|
#: motion/templates/motion/view.html:256
|
||||||
msgid "Version authorized"
|
msgid "Version authorized"
|
||||||
msgstr "Version %d zugelassen"
|
msgstr "Version %d zugelassen"
|
||||||
|
Binary file not shown.
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: OpenSlides 1.3\n"
|
"Project-Id-Version: OpenSlides 1.3\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2013-01-30 16:45+0100\n"
|
"POT-Creation-Date: 2013-02-05 14:24+0100\n"
|
||||||
"PO-Revision-Date: 2012-07-28 11:07+0200\n"
|
"PO-Revision-Date: 2012-07-28 11:07+0200\n"
|
||||||
"Last-Translator: Oskar Hahn <mail@oshahn.de>\n"
|
"Last-Translator: Oskar Hahn <mail@oshahn.de>\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
|
Loading…
Reference in New Issue
Block a user