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:
Stefan Frauenknecht 2013-02-05 16:36:57 +01:00
parent 7f03e02e9a
commit d6084f7c8b
14 changed files with 2349 additions and 71 deletions

View File

@ -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")
) )

View File

@ -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)

File diff suppressed because one or more lines are too long

View 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);

File diff suppressed because it is too large Load Diff

View 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; }

View File

@ -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>

View File

@ -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 %}

View File

@ -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>

View File

@ -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)

View File

@ -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"

View File

@ -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"