diff --git a/planning/utils.py b/planning/utils.py index d11be21..ea3b075 100644 --- a/planning/utils.py +++ b/planning/utils.py @@ -21,6 +21,7 @@ class Program: self.site = site self.conference = Conference.objects.get(site=self.site) self.talks = Talk.objects.\ + exclude(event__label__exact='').\ filter(site=site, room__isnull=False, start_date__isnull=False).\ filter(Q(duration__gt=0) | Q(event__duration__gt=0)) @@ -237,8 +238,8 @@ class Program: 'room': escape(room.name), 'slug': escape(talk.slug), 'title': escape(talk.title), - 'track': escape(talk.track), - 'type': escape(talk.event.name), + 'track': escape(talk.track or ''), + 'type': escape(talk.event.label), 'abstract': escape(talk.abstract), 'description': escape(talk.description), 'persons': persons, diff --git a/proposals/migrations/0025_event_label.py b/proposals/migrations/0025_event_label.py new file mode 100644 index 0000000..ec35b4f --- /dev/null +++ b/proposals/migrations/0025_event_label.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2016-10-31 12:15 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('proposals', '0024_auto_20161024_1313'), + ] + + operations = [ + migrations.AddField( + model_name='event', + name='label', + field=models.CharField(blank=True, default='', max_length=64, verbose_name='Label on program'), + ), + ] diff --git a/proposals/models.py b/proposals/models.py index 78ca1e8..340fbfc 100644 --- a/proposals/models.py +++ b/proposals/models.py @@ -91,6 +91,7 @@ class Event(models.Model): name = models.CharField(max_length=64) duration = models.PositiveIntegerField(default=0, verbose_name=_('Default duration (min)')) color = RGBColorField(default='#ffffff', verbose_name=_("Color on program")) + label = models.CharField(max_length=64, verbose_name=_("Label on program"), blank=True, default="") class Meta: unique_together = ('site', 'name')