From cbd64579473680a5be198d16b22b0b57bc009d93 Mon Sep 17 00:00:00 2001 From: Thomas Steen Rasmussen Date: Sun, 26 Mar 2017 15:05:29 +0200 Subject: [PATCH] fixup the event list a bit, fixes #90 --- .../0037_eventtype_include_in_event_list.py | 20 +++++++ src/program/models.py | 9 ++- src/program/templates/event_list.html | 57 ++++++++++++------- .../management/commands/bootstrap-devsite.py | 3 +- 4 files changed, 66 insertions(+), 23 deletions(-) create mode 100644 src/program/migrations/0037_eventtype_include_in_event_list.py diff --git a/src/program/migrations/0037_eventtype_include_in_event_list.py b/src/program/migrations/0037_eventtype_include_in_event_list.py new file mode 100644 index 00000000..19ec8e86 --- /dev/null +++ b/src/program/migrations/0037_eventtype_include_in_event_list.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.5 on 2017-03-26 11:50 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('program', '0036_auto_20170316_0004'), + ] + + operations = [ + migrations.AddField( + model_name='eventtype', + name='include_in_event_list', + field=models.BooleanField(default=True, help_text='Include events of this type in the event list?'), + ), + ] diff --git a/src/program/models.py b/src/program/models.py index c64fc71c..cf12f529 100644 --- a/src/program/models.py +++ b/src/program/models.py @@ -307,6 +307,11 @@ class EventType(CreatedUpdatedModel): help_text='Check to permit users to submit events of this type', ) + include_in_event_list = models.BooleanField( + default=True, + help_text='Include events of this type in the event list?', + ) + def __str__(self): return self.name @@ -366,8 +371,8 @@ class Event(CampRelatedModel): @property def speakers_list(self): - if self.speakers.exists(): - return ", ".join(self.speakers.all().values_list('name', flat=True)) + if self.speaker_set.exists(): + return ", ".join(self.speaker_set.all().values_list('name', flat=True)) return False def get_absolute_url(self): diff --git a/src/program/templates/event_list.html b/src/program/templates/event_list.html index 6729bdd1..2c91fbec 100644 --- a/src/program/templates/event_list.html +++ b/src/program/templates/event_list.html @@ -2,27 +2,44 @@ {% block program_content %} {% if event_list %} -

- An alphabetical list of all talks, workshops, keynotes and other events - at {{ camp.title }}. -

+

+ An alphabetical list of all talks, workshops, keynotes and other events + at {{ camp.title }}. The list does not include facilities like bar opening hours. +

-
- {% for event in event_list %} - {% if event.event_type.name != "Facilities" %} - - - {{ event.event_type.name }} - - {{ event.title }} - {% if event.speakers.exists %} - by {{ event.speakers.all|join:", " }} - {% endif %} - - {% endif %} - {% endfor %} -
+ + + + + + + + + + {% for event in event_list %} + {% if event.event_type.include_in_event_list %} + + + + + + {% endif %} + {% endfor %} + +
TypeTitleSpeakers
+ + {{ event.event_type.name }} + + + {{ event.title }} + + {% for speaker in event.speaker_set.all %} + {{ speaker.name }}
+ {% empty %} + N/A + {% endfor %} +
{% else %} -

Events for {{ camp.title }} coming soon!

+

Events for {{ camp.title }} coming soon!

{% endif %} {% endblock program_content %} diff --git a/src/utils/management/commands/bootstrap-devsite.py b/src/utils/management/commands/bootstrap-devsite.py index c981e0cd..6baea4e7 100644 --- a/src/utils/management/commands/bootstrap-devsite.py +++ b/src/utils/management/commands/bootstrap-devsite.py @@ -160,7 +160,8 @@ class Command(BaseCommand): name='Facilities', slug='facilities', color='#cccccc', - light_text=False + light_text=False, + include_in_event_list=False, ) slack = EventType.objects.create(