Event Export List: short formated date.
This commit is contained in:
@@ -176,7 +176,7 @@ class Event(models.Model):
|
||||
def __unicode__(self):
|
||||
return u'{number} - {title} ({date})'.format(number=self.get_number(),
|
||||
title=self.title,
|
||||
date=self.get_short_date())
|
||||
date=self.get_formated_date())
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse('dav_events:event_detail', kwargs={'pk': self.pk})
|
||||
@@ -311,38 +311,55 @@ class Event(models.Model):
|
||||
else:
|
||||
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:
|
||||
begin_date = self.first_day
|
||||
if end_date is None:
|
||||
end_date = self.last_day
|
||||
|
||||
if not end_date:
|
||||
r = begin_date.strftime('%d.%m.%Y')
|
||||
if format.endswith('numeric'):
|
||||
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:
|
||||
year_fmt = ' yy'
|
||||
else:
|
||||
begin = begin_date.strftime('%d.%m.%Y')
|
||||
end = end_date.strftime('%d.%m.%Y')
|
||||
r = u'{begin} - {end}'.format(begin=begin, end=end)
|
||||
|
||||
return r
|
||||
|
||||
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
|
||||
weekday_fmt = 'EEEE, '
|
||||
day_fmt = 'd.'
|
||||
month_fmt = ' MMMM'
|
||||
year_fmt = ' yyyy'
|
||||
|
||||
lang = get_language()[0:2]
|
||||
|
||||
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:
|
||||
end_format = 'EEEE, d. MMMM yyyy'
|
||||
begin_format = 'EEEE, d.'
|
||||
if begin_date.month != end_date.month:
|
||||
begin_format += ' MMMM'
|
||||
if begin_date.year != end_date.year:
|
||||
begin_format += ' yyyy'
|
||||
end_format = '{weekday}{day}{month}{year}'.format(weekday=weekday_fmt,
|
||||
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:
|
||||
begin_format += month_fmt
|
||||
if begin_date.year != end_date.year:
|
||||
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)
|
||||
end = format_date(end_date, end_format, locale=lang)
|
||||
@@ -350,14 +367,17 @@ class Event(models.Model):
|
||||
|
||||
return r
|
||||
|
||||
def get_alt_short_date(self):
|
||||
def get_alt_formated_date(self, format='normalized_long'):
|
||||
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:
|
||||
return None
|
||||
|
||||
def get_template_context(self):
|
||||
context = {
|
||||
def get_numeric_date(self, begin_date=None, end_date=None):
|
||||
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,
|
||||
'status': self.get_status(),
|
||||
'number': self.get_number(),
|
||||
@@ -366,10 +386,14 @@ class Event(models.Model):
|
||||
'title': self.title,
|
||||
'first_day': self.first_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_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,
|
||||
'course_topic_1': self.course_topic_1,
|
||||
'course_topic_2': self.course_topic_2,
|
||||
@@ -418,12 +442,18 @@ class Event(models.Model):
|
||||
'planned_publication_date': self.planned_publication_date,
|
||||
'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 = 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):
|
||||
template_name = os.path.join('dav_events', 'event.html')
|
||||
|
||||
Reference in New Issue
Block a user