From 665bed735c4aeafe63fd2e1f8b8f21f2086a1e0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 25 Nov 2011 10:13:49 +0100 Subject: [PATCH] fix in handling of unset end date for agenda portlet --- tabellio/agenda/utils.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tabellio/agenda/utils.py b/tabellio/agenda/utils.py index 1eba90d..9cf538f 100644 --- a/tabellio/agenda/utils.py +++ b/tabellio/agenda/utils.py @@ -90,7 +90,10 @@ class MonthlyView: 'day': daynumber} includedevents = [] for result in query: - result.end = DateTime(result.end) + if result.end is None: + result.end = DateTime(result.start) + else: + result.end = DateTime(result.end) result.start = DateTime(result.start) if result.getRID() in includedevents: break @@ -98,7 +101,7 @@ class MonthlyView: includedevents.append(result.getRID()) event={} # we need to deal with events that end next month - if result.end.greaterThan(last_date): + if result.end is None or result.end.greaterThan(last_date): eventEndDay = last_day event['end'] = None else: @@ -138,8 +141,7 @@ class MonthlyView: 'id': event['id']} ) eventDays[eventday]['event'] = 1 - if (result.end == result.end.earliestTime() and - event['end'] is not None): + if (event['end'] is not None and result.end == result.end.earliestTime()): # ends some day this month at midnight last_day_data = eventDays[allEventDays[-2]] last_days_event = last_day_data['eventslist'][-1] @@ -219,6 +221,11 @@ class MonthlyView: start = event.get('start') and ':'.join(event.get('start').split(':')[:2]) or '' end = event.get('end') and ':'.join(event.get('end').split(':')[:2]) or '' title = safe_unicode(event.get('title')) or u'event' + if start == end: + end = None + if start == '00:00': + start = None + end = None if start and end: eventstring = "%s-%s %s" % (start, end, title)