Skip to content

Commit 059417e

Browse files
committed
refactor: move google calendar URI formating into event model
1 parent 6ca8afd commit 059417e

3 files changed

Lines changed: 14 additions & 7 deletions

File tree

apps/events/models.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,18 @@ class Meta:
7979
def slug(self):
8080
return self.hashtag.lower()
8181

82-
def get_end_datetime(self):
83-
event_duration = self.default_slot_duration.total_seconds()
84-
start_datetime = self.start_datetime().strftime('%s')
85-
end_datetime = float(start_datetime) + event_duration
86-
return datetime.datetime.fromtimestamp(end_datetime)
82+
def end_datetime(self):
83+
try:
84+
return self.schedule.order_by('end').last().end
85+
except AttributeError:
86+
end_time = datetime.time(
87+
23, 59, 59, tzinfo=timezone.get_current_timezone())
88+
return datetime.datetime.combine(self.start_date, end_time)
89+
90+
def get_google_calendar_url(self):
91+
start_datetime = self.start_datetime().strftime('%Y%m%dT%H%M%S%Z')
92+
end_datetime = self.end_datetime().strftime('%Y%m%dT%H%M%S%Z')
93+
return f"https://www.google.com/calendar/render?action=TEMPLATE&text={self.name}&details={self.description}&location={self.venue}&dates={start_datetime}%2F{end_datetime}"
8794

8895
@classmethod
8996
def get_by_slug(cls, slug):

apps/events/templates/events/event.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ <h1 class="title section-title">
127127
{% endif %}
128128
{% empty %}
129129
<div class="column is-full has-text-centered coming-soon">
130-
<a target="_blank" href="https://www.google.com/calendar/render?action=TEMPLATE&text={{ event.name }}&details={{ event.description }}&location={{ event.venue }}&dates={{ event.start_datetime | date:'Ymd\THis\Z' }}%2F{{ event.get_end_datetime | date:'Ymd\THis\Z' }}">Añadir a Google Calendar</a>
130+
<a target="_blank" href="{{ event.get_google_calendar_url }}">Añadir a Google Calendar</a>
131131
<p>
132132
<i class="fas fa-box-open"></i>
133133
Más información próximamente!

apps/events/templates/events/includes/event-section.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ <h1 class="title is-3">
2020
</h1>
2121
<div class="event-date">
2222
<i class="far fa-calendar-alt"></i> {{ event.start_date|as_date }}
23-
<a target="_blank" href="https://www.google.com/calendar/render?action=TEMPLATE&text={{ event.name }}&details={{ event.description }}&location={{ event.venue }}&dates={{ event.start_datetime | date:'Ymd\THis\Z' }}%2F{{ event.get_end_datetime | date:'Ymd\THis\Z' }}">Añadir a Google Calendar</a>
23+
<a target="_blank" href="{{ event.get_google_calendar_url }}">Añadir a Google Calendar</a>
2424
</div>
2525
{% if event.venue %}
2626
<div class="event-location">

0 commit comments

Comments
 (0)