Event Export List: short formated date.
This commit is contained in:
1
TODO.txt
1
TODO.txt
@@ -14,7 +14,6 @@
|
|||||||
- erster teil des anmeldungshowto editierbar
|
- erster teil des anmeldungshowto editierbar
|
||||||
- feld 'anmeldung nicht nötig'
|
- feld 'anmeldung nicht nötig'
|
||||||
- publizierendes feld für redaktionellen hinweis
|
- publizierendes feld für redaktionellen hinweis
|
||||||
- für heft: wochentage abkürzen
|
|
||||||
- vortreffen ohne datum?
|
- vortreffen ohne datum?
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ class Event(models.Model):
|
|||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return u'{number} - {title} ({date})'.format(number=self.get_number(),
|
return u'{number} - {title} ({date})'.format(number=self.get_number(),
|
||||||
title=self.title,
|
title=self.title,
|
||||||
date=self.get_short_date())
|
date=self.get_formated_date())
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse('dav_events:event_detail', kwargs={'pk': self.pk})
|
return reverse('dav_events:event_detail', kwargs={'pk': self.pk})
|
||||||
@@ -311,38 +311,55 @@ class Event(models.Model):
|
|||||||
else:
|
else:
|
||||||
return '%s**/%d' % (self.sport, self.first_day.year % 100)
|
return '%s**/%d' % (self.sport, self.first_day.year % 100)
|
||||||
|
|
||||||
def get_numeric_date(self, begin_date=None, end_date=None):
|
def get_formated_date(self, begin_date=None, end_date=None, format='normalized_long'):
|
||||||
if begin_date is None:
|
if begin_date is None:
|
||||||
begin_date = self.first_day
|
begin_date = self.first_day
|
||||||
if end_date is None:
|
if end_date is None:
|
||||||
end_date = self.last_day
|
end_date = self.last_day
|
||||||
|
|
||||||
if not end_date:
|
if format.endswith('numeric'):
|
||||||
r = begin_date.strftime('%d.%m.%Y')
|
weekday_fmt = ''
|
||||||
|
day_fmt = 'dd.'
|
||||||
|
month_fmt = 'MM.'
|
||||||
|
year_fmt = 'yyyy'
|
||||||
|
elif format.endswith('short'):
|
||||||
|
weekday_fmt = 'EEE '
|
||||||
|
day_fmt = 'd.'
|
||||||
|
month_fmt = ' MMM'
|
||||||
|
if begin_date.year == datetime.date.today().year:
|
||||||
|
year_fmt = ''
|
||||||
else:
|
else:
|
||||||
begin = begin_date.strftime('%d.%m.%Y')
|
year_fmt = ' yy'
|
||||||
end = end_date.strftime('%d.%m.%Y')
|
else:
|
||||||
r = u'{begin} - {end}'.format(begin=begin, end=end)
|
weekday_fmt = 'EEEE, '
|
||||||
|
day_fmt = 'd.'
|
||||||
return r
|
month_fmt = ' MMMM'
|
||||||
|
year_fmt = ' yyyy'
|
||||||
def get_short_date(self, begin_date=None, end_date=None):
|
|
||||||
if begin_date is None:
|
|
||||||
begin_date = self.first_day
|
|
||||||
if end_date is None:
|
|
||||||
end_date = self.last_day
|
|
||||||
|
|
||||||
lang = get_language()[0:2]
|
lang = get_language()[0:2]
|
||||||
|
|
||||||
if not end_date:
|
if not end_date:
|
||||||
r = format_date(begin_date, 'EEEE, d. MMMM yyyy', locale=lang)
|
fmt = '{weekday}{day}{month}{year}'.format(weekday=weekday_fmt,
|
||||||
|
day=day_fmt,
|
||||||
|
month=month_fmt,
|
||||||
|
year=year_fmt)
|
||||||
|
r = format_date(begin_date, fmt, locale=lang)
|
||||||
else:
|
else:
|
||||||
end_format = 'EEEE, d. MMMM yyyy'
|
end_format = '{weekday}{day}{month}{year}'.format(weekday=weekday_fmt,
|
||||||
begin_format = 'EEEE, d.'
|
day=day_fmt,
|
||||||
|
month=month_fmt,
|
||||||
|
year=year_fmt)
|
||||||
|
if format.startswith('normalized'):
|
||||||
|
begin_format = '{weekday}{day}'.format(weekday=weekday_fmt, day=day_fmt)
|
||||||
if begin_date.month != end_date.month:
|
if begin_date.month != end_date.month:
|
||||||
begin_format += ' MMMM'
|
begin_format += month_fmt
|
||||||
if begin_date.year != end_date.year:
|
if begin_date.year != end_date.year:
|
||||||
begin_format += ' yyyy'
|
begin_format += year_fmt
|
||||||
|
else:
|
||||||
|
begin_format = '{weekday}{day}{month}{year}'.format(weekday=weekday_fmt,
|
||||||
|
day=day_fmt,
|
||||||
|
month=month_fmt,
|
||||||
|
year=year_fmt)
|
||||||
|
|
||||||
begin = format_date(begin_date, begin_format, locale=lang)
|
begin = format_date(begin_date, begin_format, locale=lang)
|
||||||
end = format_date(end_date, end_format, locale=lang)
|
end = format_date(end_date, end_format, locale=lang)
|
||||||
@@ -350,14 +367,17 @@ class Event(models.Model):
|
|||||||
|
|
||||||
return r
|
return r
|
||||||
|
|
||||||
def get_alt_short_date(self):
|
def get_alt_formated_date(self, format='normalized_long'):
|
||||||
if self.alt_first_day:
|
if self.alt_first_day:
|
||||||
return self.get_short_date(self.alt_first_day, self.alt_last_day)
|
return self.get_formated_date(begin_date=self.alt_first_day, end_date=self.alt_last_day, format=format)
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_template_context(self):
|
def get_numeric_date(self, begin_date=None, end_date=None):
|
||||||
context = {
|
return self.get_formated_date(begin_date=begin_date, end_date=end_date, format='numeric')
|
||||||
|
|
||||||
|
def get_template_context(self, context=None):
|
||||||
|
r = {
|
||||||
'event': self,
|
'event': self,
|
||||||
'status': self.get_status(),
|
'status': self.get_status(),
|
||||||
'number': self.get_number(),
|
'number': self.get_number(),
|
||||||
@@ -366,10 +386,14 @@ class Event(models.Model):
|
|||||||
'title': self.title,
|
'title': self.title,
|
||||||
'first_day': self.first_day,
|
'first_day': self.first_day,
|
||||||
'last_day': self.last_day,
|
'last_day': self.last_day,
|
||||||
'short_date': self.get_short_date(),
|
'normalized_date': self.get_formated_date(format='normalized'),
|
||||||
|
'normalized_long_date': self.get_formated_date(format='normalized_long'),
|
||||||
|
'normalized_short_date': self.get_formated_date(format='normalized_short'),
|
||||||
'alt_first_day': self.alt_first_day,
|
'alt_first_day': self.alt_first_day,
|
||||||
'alt_last_day': self.alt_last_day,
|
'alt_last_day': self.alt_last_day,
|
||||||
'alt_short_date': self.get_alt_short_date(),
|
'alt_normalized_date': self.get_alt_formated_date(format='normalized'),
|
||||||
|
'alt_normalized_long_date': self.get_alt_formated_date(format='normalized_long'),
|
||||||
|
'alt_normalized_short_date': self.get_alt_formated_date(format='normalized_short'),
|
||||||
'description': self.description,
|
'description': self.description,
|
||||||
'course_topic_1': self.course_topic_1,
|
'course_topic_1': self.course_topic_1,
|
||||||
'course_topic_2': self.course_topic_2,
|
'course_topic_2': self.course_topic_2,
|
||||||
@@ -418,12 +442,18 @@ class Event(models.Model):
|
|||||||
'planned_publication_date': self.planned_publication_date,
|
'planned_publication_date': self.planned_publication_date,
|
||||||
'internal_note': self.internal_note,
|
'internal_note': self.internal_note,
|
||||||
}
|
}
|
||||||
return context
|
if context is not None:
|
||||||
|
r.update(context)
|
||||||
|
return r
|
||||||
|
|
||||||
def render_as_text(self):
|
def render_as_text(self, format=None):
|
||||||
template_name = os.path.join('dav_events', 'event.txt')
|
template_name = os.path.join('dav_events', 'event.txt')
|
||||||
template = get_template(template_name)
|
template = get_template(template_name)
|
||||||
return template.render(self.get_template_context())
|
context = {}
|
||||||
|
if format == 'kaalpin':
|
||||||
|
context['normalized_date'] = self.get_formated_date(format='normalized_short')
|
||||||
|
context['alt_normalized_date'] = self.get_alt_formated_date(format='normalized_short')
|
||||||
|
return template.render(self.get_template_context(context))
|
||||||
|
|
||||||
def render_as_html(self):
|
def render_as_html(self):
|
||||||
template_name = os.path.join('dav_events', 'event.html')
|
template_name = os.path.join('dav_events', 'event.html')
|
||||||
|
|||||||
@@ -7,5 +7,5 @@ Link zur Veranstaltung:
|
|||||||
{{ base_url }}{{ event.get_absolute_url }}
|
{{ base_url }}{{ event.get_absolute_url }}
|
||||||
|
|
||||||
Voraussichtliche Veröffentlichung: {% if planned_publication_date %}{{ planned_publication_date|date:'l, d. F Y' }}{% else %}In wenigen Tagen{% endif %}
|
Voraussichtliche Veröffentlichung: {% if planned_publication_date %}{{ planned_publication_date|date:'l, d. F Y' }}{% else %}In wenigen Tagen{% endif %}
|
||||||
-----
|
----------
|
||||||
{{ event.render_as_text }}-----
|
{{ event.render_as_text }}----------
|
||||||
|
|||||||
@@ -10,5 +10,5 @@ Der folgende Link führt zur Veranstaltung:
|
|||||||
Veröffentlichung: {% if planned_publication_date %}{{ planned_publication_date|date:'l, d. F Y' }}{% else %}sofort{% endif %}
|
Veröffentlichung: {% if planned_publication_date %}{{ planned_publication_date|date:'l, d. F Y' }}{% else %}sofort{% endif %}
|
||||||
{% if internal_note %}Bearbeitungshinweis:
|
{% if internal_note %}Bearbeitungshinweis:
|
||||||
{{ internal_note }}
|
{{ internal_note }}
|
||||||
{% endif %}-----
|
{% endif %}----------
|
||||||
{{ event.render_as_text }}-----
|
{{ event.render_as_text }}----------
|
||||||
|
|||||||
@@ -11,12 +11,12 @@ Der folgende Link führt zur Veranstaltung:
|
|||||||
Veröffentlichung: {% if planned_publication_date %}{{ planned_publication_date|date:'l, d. F Y' }}{% else %}sofort{% endif %}
|
Veröffentlichung: {% if planned_publication_date %}{{ planned_publication_date|date:'l, d. F Y' }}{% else %}sofort{% endif %}
|
||||||
{% if internal_note %}Bearbeitungshinweis:
|
{% if internal_note %}Bearbeitungshinweis:
|
||||||
{{ internal_note }}
|
{{ internal_note }}
|
||||||
{% endif %}----- Plain Text -----
|
{% endif %}---------- Plain Text ----------
|
||||||
{{ event.render_as_text }}
|
{{ event.render_as_text }}
|
||||||
|
|
||||||
----- HTML Joomla -----
|
---------- HTML Joomla ----------
|
||||||
<h6>{{ short_date }}{% if alt_short_date %}<br />
|
<h6>{{ normalized_long_date }}{% if alt_normalized_long_date %}<br />
|
||||||
({% trans 'Ersatztermin' %}: {{ alt_short_date }})
|
({% trans 'Ersatztermin' %}: {{ alt_normalized_long_date }})
|
||||||
{% endif %}</h6>
|
{% endif %}</h6>
|
||||||
<p>{{ description|linebreaksbr }}</p>
|
<p>{{ description|linebreaksbr }}</p>
|
||||||
{% if mode == 'training' %}
|
{% if mode == 'training' %}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Link zur Veranstaltung:
|
|||||||
{{ base_url }}{{ event.get_absolute_url }}
|
{{ base_url }}{{ event.get_absolute_url }}
|
||||||
|
|
||||||
Voraussichtliche Veröffentlichung: {% if planned_publication_date %}{{ planned_publication_date|date:'l, d. F Y' }}{% else %}In wenigen Tagen{% endif %}
|
Voraussichtliche Veröffentlichung: {% if planned_publication_date %}{{ planned_publication_date|date:'l, d. F Y' }}{% else %}In wenigen Tagen{% endif %}
|
||||||
-----
|
----------
|
||||||
{{ event.render_as_text }}-----
|
{{ event.render_as_text }}----------
|
||||||
{% if internal_note %}Bearbeitungshinweis:
|
{% if internal_note %}Bearbeitungshinweis:
|
||||||
{{ internal_note }}{% endif %}
|
{{ internal_note }}{% endif %}
|
||||||
@@ -19,10 +19,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<strong>{{ short_date }}</strong>
|
<strong>{{ normalized_date }}</strong>
|
||||||
{% if alt_short_date %}
|
{% if alt_normalized_date %}
|
||||||
<br />
|
<br />
|
||||||
<strong>({% trans 'Ersatztermin' %}: {{ alt_short_date }})</strong>
|
<strong>({% trans 'Ersatztermin' %}: {{ alt_normalized_date }})</strong>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{% load i18n %}{{ number }} - {{ title }}
|
{% load i18n %}{{ number }} - {{ title }}
|
||||||
|
|
||||||
{{ short_date }}
|
{{ normalized_date }}
|
||||||
{% if alt_short_date %}({% trans 'Ersatztermin' %}: {{ alt_short_date }})
|
{% if alt_normalized_date %}({% trans 'Ersatztermin' %}: {{ alt_normalized_date }})
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{{ description }}
|
{{ description }}
|
||||||
{% if mode == 'training' %}
|
{% if mode == 'training' %}
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ class EventListExportView(generic.FormView):
|
|||||||
for event in event_qs:
|
for event in event_qs:
|
||||||
if exclude_expired and event.get_status() == 'expired':
|
if exclude_expired and event.get_status() == 'expired':
|
||||||
continue
|
continue
|
||||||
txt += event.render_as_text()
|
txt += event.render_as_text(format='kaalpin')
|
||||||
if event.internal_note:
|
if event.internal_note:
|
||||||
txt += u'\n> Bearbeitungshinweis:\n> ' + event.internal_note.replace('\n', '\n> ') + u'\n'
|
txt += u'\n> Bearbeitungshinweis:\n> ' + event.internal_note.replace('\n', '\n> ') + u'\n'
|
||||||
txt += u'\n' + (u'-' * 72) + '\n\n'
|
txt += u'\n' + (u'-' * 72) + '\n\n'
|
||||||
|
|||||||
Reference in New Issue
Block a user