Skip to content

Commit a84f701

Browse files
committed
Make it possible to override session's start/end time
Resolves #325.
1 parent 66ab906 commit a84f701

File tree

3 files changed

+27
-3
lines changed

3 files changed

+27
-3
lines changed

naucse/models.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,14 +354,30 @@ def _time(self, time):
354354
return datetime.datetime.combine(self.date, time)
355355
return None
356356

357+
def _session_time(self, key):
358+
sesion_time = self.info.get('time')
359+
if sesion_time:
360+
return time_from_string(sesion_time[key])
361+
return None
362+
363+
@reify
364+
def has_custom_time(self):
365+
return self._session_time('start') is not None
366+
357367
@reify
358368
def start_time(self):
369+
session_time = self._session_time('start')
370+
if session_time:
371+
return self._time(session_time)
359372
if self.course:
360373
return self._time(self.course.default_start_time)
361374
return None
362375

363376
@reify
364377
def end_time(self):
378+
session_time = self._session_time('end')
379+
if session_time:
380+
return self._time(session_time)
365381
if self.course:
366382
return self._time(self.course.default_end_time)
367383
return None

naucse/templates/course.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,16 @@ <h4>
3939
{{ session.title }}
4040
</a>
4141
{% if session.date %}
42-
<small>({{ session.date | format_date }})</small>
42+
<small>({{ session.date | format_date -}}
43+
{%- if session.has_custom_time -%}
44+
, {{ session.start_time | format_time }}–{{ session.end_time | format_time -}}
45+
{% endif -%}
46+
)</small>
4347
{% endif %}
4448
</h4>
49+
{% if session.has_custom_time %}
50+
<div>{{ bytesize_icon('alert') }} Pozor, změna času!</div>
51+
{% endif %}
4552
{% if session.description %}{{ session.description | markdown }}{% endif %}
4653
{{ material_list(session.materials) }}
4754
</div>

naucse/templates/coverpage.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ <h1>
2525
{% endif %}
2626
</h1>
2727

28-
{% if course.place is defined and course.time is defined and course.place != None and course.time != None %}
29-
<div class="details">{{course.place}}, {{course.time}}</div>
28+
{% if course.place is not none and session.start_time is not none %}
29+
<div class="details">{{ course.place }},
30+
{{ session.start_time | format_time }}–{{ session.end_time | format_time }}</div>
3031
{% endif %}
3132

3233
{% if session.description %}{{ session.description | markdown }}{% endif %}

0 commit comments

Comments
 (0)