From c3cc546d60a18c52867f385d25a3b9c73bf06cbe Mon Sep 17 00:00:00 2001 From: David Taylor Date: Fri, 24 Apr 2015 13:55:32 +0100 Subject: [PATCH 1/3] Removed last trace of timezone --- RIGS/ical.py | 1 - 1 file changed, 1 deletion(-) diff --git a/RIGS/ical.py b/RIGS/ical.py index c276e512..30cafffc 100644 --- a/RIGS/ical.py +++ b/RIGS/ical.py @@ -12,7 +12,6 @@ class CalendarICS(ICalFeed): #Metadata which is passed on to clients product_id = 'PyRIGS' title = 'PyRIGS Calendar' - timezone = 'UTC' file_name = "rigs.ics" def items(self): From e48619c15a525809b4161a9e504b4e2c44f2293b Mon Sep 17 00:00:00 2001 From: David Taylor Date: Fri, 24 Apr 2015 14:22:08 +0100 Subject: [PATCH 2/3] Fixed midnight issues in ical, web calendar & event_table --- RIGS/ical.py | 10 +++++----- RIGS/models.py | 8 ++++++++ RIGS/templates/RIGS/event_table.html | 4 ++-- RIGS/views.py | 4 ++-- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/RIGS/ical.py b/RIGS/ical.py index 30cafffc..b7ecbee4 100644 --- a/RIGS/ical.py +++ b/RIGS/ical.py @@ -48,7 +48,7 @@ class CalendarICS(ICalFeed): startDateTime = item.meet_at.replace(tzinfo=None) elif item.access_at: startDateTime = item.access_at.replace(tzinfo=None) - elif item.start_time: + elif item.has_start_time: startDateTime = datetime.datetime.combine(item.start_date,item.start_time).replace(tzinfo=None) else: startDateTime = item.start_date @@ -63,9 +63,9 @@ class CalendarICS(ICalFeed): if item.end_date: endDateTime = item.end_date - if item.start_time and item.end_time: # don't allow an event with specific end but no specific start + if item.has_start_time and item.has_end_time: # don't allow an event with specific end but no specific start endDateTime = datetime.datetime.combine(endDateTime,item.end_time).replace(tzinfo=None) - elif item.start_time: # if there's a start time specified then an end time should also be specified + elif item.has_end_time: # if there's a start time specified then an end time should also be specified endDateTime = datetime.datetime.combine(endDateTime+datetime.timedelta(days=1),datetime.time(00, 00)).replace(tzinfo=None) #elif item.end_time: # end time but no start time - this is weird - don't think ICS will like it so ignoring # do nothing @@ -94,9 +94,9 @@ class CalendarICS(ICalFeed): if item.access_at: desc += 'Access At = ' + item.access_at.strftime('%Y-%m-%d %H:%M') + '\n' if item.start_date: - desc += 'Event Start = ' + item.start_date.strftime('%Y-%m-%d') + ((' '+item.start_time.strftime('%H:%M')) if item.start_time else '') + '\n' + desc += 'Event Start = ' + item.start_date.strftime('%Y-%m-%d') + ((' '+item.start_time.strftime('%H:%M')) if item.has_start_time else '') + '\n' if item.end_date: - desc += 'Event End = ' + item.end_date.strftime('%Y-%m-%d') + ((' '+item.end_time.strftime('%H:%M')) if item.end_time else '') + '\n' + desc += 'Event End = ' + item.end_date.strftime('%Y-%m-%d') + ((' '+item.end_time.strftime('%H:%M')) if item.has_end_time else '') + '\n' desc += '\n' if item.description: diff --git a/RIGS/models.py b/RIGS/models.py index 641aeab9..c93a1728 100644 --- a/RIGS/models.py +++ b/RIGS/models.py @@ -303,6 +303,14 @@ class Event(models.Model, RevisionMixin): def confirmed(self): return (self.status == self.BOOKED or self.status == self.CONFIRMED) + @property + def has_start_time(self): + return self.start_time is not None + + @property + def has_end_time(self): + return self.end_time is not None + objects = EventManager() def get_absolute_url(self): diff --git a/RIGS/templates/RIGS/event_table.html b/RIGS/templates/RIGS/event_table.html index cf87f53d..3cd5144f 100644 --- a/RIGS/templates/RIGS/event_table.html +++ b/RIGS/templates/RIGS/event_table.html @@ -62,14 +62,14 @@
Crew meet
{{ event.meet_at|date:"H:i" }}
{{ event.meet_at|date:"(Y-m-d)" }}
{% endif %} - {% if event.start_time %} + {% if event.has_start_time %}
Event starts
{{ event.start_time|date:"H:i" }}
{{ event.start_date|date:"(Y-m-d)" }}
{% endif %} - {% if event.end_time%}{% if event.start_date != event.end_date or event.start_time != event.end_time %} + {% if event.has_end_time%}{% if event.start_date != event.end_date or event.start_time != event.end_time %}
Event ends
{{ event.end_time|date:"H:i" }}
diff --git a/RIGS/views.py b/RIGS/views.py index 9ab260e7..ea95fc70 100644 --- a/RIGS/views.py +++ b/RIGS/views.py @@ -302,10 +302,10 @@ class SecureAPIRequest(generic.View): if item.start_time: data['start_time'] = item.start_time.strftime('%H:%M:%SZ') - if item.end_date: + if item.has_end_date: data['end_date'] = item.end_date.strftime('%Y-%m-%d') - if item.end_time: + if item.has_end_time: data['end_time'] = item.end_time.strftime('%H:%M:%SZ') if item.meet_at: From 4f615d7158078627d9e10b7ef9090887127dd5b8 Mon Sep 17 00:00:00 2001 From: David Taylor Date: Fri, 24 Apr 2015 14:24:48 +0100 Subject: [PATCH 3/3] Fixed typo --- RIGS/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RIGS/views.py b/RIGS/views.py index ea95fc70..38cbe99a 100644 --- a/RIGS/views.py +++ b/RIGS/views.py @@ -299,10 +299,10 @@ class SecureAPIRequest(generic.View): if item.start_date: data['start_date'] = item.start_date.strftime('%Y-%m-%d') - if item.start_time: + if item.has_start_time: data['start_time'] = item.start_time.strftime('%H:%M:%SZ') - if item.has_end_date: + if item.end_date: data['end_date'] = item.end_date.strftime('%Y-%m-%d') if item.has_end_time: