UPD: improved the event export list feature.

This commit is contained in:
2018-12-13 19:00:30 +01:00
parent 85b6e018de
commit 4495322574
2 changed files with 39 additions and 21 deletions

View File

@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
import datetime
import logging
import os
from django.apps import apps
from django.contrib import messages
from django.contrib.auth import login
from django.contrib.auth.decorators import login_required
@@ -72,8 +72,9 @@ class EventListExportView(generic.FormView):
}
if form.cleaned_data['sport']:
sport = form.cleaned_data['sport']
filter_kwargs['sport'] = sport
filename += u'--%s' % choices.SPORT_CHOICES.get_label(sport)
filter_kwargs['sport__in'] = sport
sport_labels = [u'%s' % choices.SPORT_CHOICES.get_label(code) for code in sport]
filename += u'--%s' % u'_+_'.join(sport_labels)
if form.cleaned_data['begin']:
date = form.cleaned_data['begin']
filter_kwargs['first_day__gte'] = date
@@ -83,13 +84,18 @@ class EventListExportView(generic.FormView):
filter_kwargs['first_day__lte'] = date
filename += u'--%s' % date.strftime('%Y-%m-%d')
exclude_expired = not form.cleaned_data.get('expired', False)
if form.cleaned_data['deadline']:
deadline = form.cleaned_data['deadline']
else:
deadline = None
txt = u''
event_qs = models.Event.objects.filter(**filter_kwargs).order_by('sport', 'first_day')
event_qs = models.Event.objects.filter(**filter_kwargs).order_by('first_day', 'number')
for event in event_qs:
if exclude_expired and event.is_flagged('expired'):
continue
if deadline and event.registration_required and event.deadline:
if event.deadline < deadline:
continue
txt += event.render_as_text(format='ka-alpin')
if event.internal_note:
txt += u'\n> Bearbeitungshinweis:\n> ' + event.internal_note.replace('\n', '\n> ') + u'\n'