mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-21 07:22:14 +00:00
Merged in ical-interface (pull request #24)
Removed last trace of timezone. Fixed start/end time.
This commit is contained in:
11
RIGS/ical.py
11
RIGS/ical.py
@@ -12,7 +12,6 @@ class CalendarICS(ICalFeed):
|
|||||||
#Metadata which is passed on to clients
|
#Metadata which is passed on to clients
|
||||||
product_id = 'PyRIGS'
|
product_id = 'PyRIGS'
|
||||||
title = 'PyRIGS Calendar'
|
title = 'PyRIGS Calendar'
|
||||||
timezone = 'UTC'
|
|
||||||
file_name = "rigs.ics"
|
file_name = "rigs.ics"
|
||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
@@ -49,7 +48,7 @@ class CalendarICS(ICalFeed):
|
|||||||
startDateTime = item.meet_at.replace(tzinfo=None)
|
startDateTime = item.meet_at.replace(tzinfo=None)
|
||||||
elif item.access_at:
|
elif item.access_at:
|
||||||
startDateTime = item.access_at.replace(tzinfo=None)
|
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)
|
startDateTime = datetime.datetime.combine(item.start_date,item.start_time).replace(tzinfo=None)
|
||||||
else:
|
else:
|
||||||
startDateTime = item.start_date
|
startDateTime = item.start_date
|
||||||
@@ -64,9 +63,9 @@ class CalendarICS(ICalFeed):
|
|||||||
if item.end_date:
|
if item.end_date:
|
||||||
endDateTime = 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)
|
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)
|
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
|
#elif item.end_time: # end time but no start time - this is weird - don't think ICS will like it so ignoring
|
||||||
# do nothing
|
# do nothing
|
||||||
@@ -95,9 +94,9 @@ class CalendarICS(ICalFeed):
|
|||||||
if item.access_at:
|
if item.access_at:
|
||||||
desc += 'Access At = ' + item.access_at.strftime('%Y-%m-%d %H:%M') + '\n'
|
desc += 'Access At = ' + item.access_at.strftime('%Y-%m-%d %H:%M') + '\n'
|
||||||
if item.start_date:
|
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:
|
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'
|
desc += '\n'
|
||||||
if item.description:
|
if item.description:
|
||||||
|
|||||||
@@ -303,6 +303,14 @@ class Event(models.Model, RevisionMixin):
|
|||||||
def confirmed(self):
|
def confirmed(self):
|
||||||
return (self.status == self.BOOKED or self.status == self.CONFIRMED)
|
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()
|
objects = EventManager()
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
|
|||||||
@@ -62,14 +62,14 @@
|
|||||||
<dt>Crew meet</dt>
|
<dt>Crew meet</dt>
|
||||||
<dd>{{ event.meet_at|date:"H:i" }}<br/>{{ event.meet_at|date:"(Y-m-d)" }}</dd>
|
<dd>{{ event.meet_at|date:"H:i" }}<br/>{{ event.meet_at|date:"(Y-m-d)" }}</dd>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if event.start_time %}
|
{% if event.has_start_time %}
|
||||||
<dt>Event starts</dt>
|
<dt>Event starts</dt>
|
||||||
<dd>
|
<dd>
|
||||||
{{ event.start_time|date:"H:i" }}<br/>
|
{{ event.start_time|date:"H:i" }}<br/>
|
||||||
{{ event.start_date|date:"(Y-m-d)" }}<br/>
|
{{ event.start_date|date:"(Y-m-d)" }}<br/>
|
||||||
</dd>
|
</dd>
|
||||||
{% endif %}
|
{% 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 %}
|
||||||
<dt>Event ends</dt>
|
<dt>Event ends</dt>
|
||||||
<dd>
|
<dd>
|
||||||
{{ event.end_time|date:"H:i" }}<br/>
|
{{ event.end_time|date:"H:i" }}<br/>
|
||||||
|
|||||||
@@ -299,13 +299,13 @@ class SecureAPIRequest(generic.View):
|
|||||||
if item.start_date:
|
if item.start_date:
|
||||||
data['start_date'] = item.start_date.strftime('%Y-%m-%d')
|
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')
|
data['start_time'] = item.start_time.strftime('%H:%M:%SZ')
|
||||||
|
|
||||||
if item.end_date:
|
if item.end_date:
|
||||||
data['end_date'] = item.end_date.strftime('%Y-%m-%d')
|
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')
|
data['end_time'] = item.end_time.strftime('%H:%M:%SZ')
|
||||||
|
|
||||||
if item.meet_at:
|
if item.meet_at:
|
||||||
|
|||||||
Reference in New Issue
Block a user