give all event classes to calendar cells (#5330)

This commit is contained in:
Frédéric Péters 2014-11-19 11:52:29 +01:00
parent 2921d383d6
commit 55e78c5324
1 changed files with 12 additions and 8 deletions

View File

@ -205,15 +205,19 @@ class MonthlyView:
day['date_string'] = '%s-%s-%s' % (year, month, daynumber)
evtype = None
evid = None
evtypes = set()
for event in day['eventslist']:
if evtype is None:
evtype = event['type']
evid = event['id']
elif evtype != event['type']:
evtype = 'misc'
evid = None
break
day['eventclass'] = evtype or 'none'
evtypes.add(event['type'])
if len(day['eventslist']) == 1:
evid = day['eventslist'][0]['id']
if len(evtypes) > 1:
# if there's more than one class we add a special
# 'misc' class so it can be styled differently
evtypes.add('misc')
if evtypes:
day['eventclass'] = ' '.join(evtypes)
else:
day['eventclass'] = 'none'
day['eventid'] = evid
return weeks