def get_jingle_choices():
- return [(x.id, x.label) for x in Jingle.objects.all()]
+ return [(x.id, x.label) for x in Jingle.objects.filter(emission__isnull=True)]
def get_optional_jingle_choices():
--- /dev/null
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.29 on 2020-09-06 16:11
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('emissions', '0015_auto_20200404_1510'),
+ ('nonstop', '0032_auto_20200905_1348'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='jingle',
+ name='emission',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='emissions.Emission'),
+ ),
+ ]
default_for_initial_diffusions = models.BooleanField(_('Default for initial diffusions'), default=False)
default_for_reruns = models.BooleanField(_('Default for reruns'), default=False)
default_for_streams = models.BooleanField(_('Default for streams'), default=False)
+ emission = models.ForeignKey('emissions.Emission', null=True, blank=True)
def __str__(self):
return self.label
class JinglesListView(ListView):
model = Jingle
+ def get_queryset(self):
+ return super().get_queryset().filter(emission__isnull=True)
+
class JingleAddView(CreateView):
model = Jingle
def render(self, name, value, attrs=None, choices=(), renderer=None):
s = []
value = value or []
- for jingle in Jingle.objects.all():
- choice_id = jingle.id
- choice_label = jingle.label
+ for choice_id, choice_label in (choices or self.choices):
s.append(
'<li><label><input type="checkbox" '
' name="%(name)s-%(choice_id)s" %(checked)s>'