# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name="BroadcastFormat", fields=[ ( "id", models.AutoField( verbose_name="ID", serialize=False, auto_created=True, primary_key=True, ), ), ("format", models.CharField(max_length=32, verbose_name="Format")), ( "slug", models.SlugField(unique=True, max_length=32, verbose_name="Slug"), ), ( "color", models.CharField( default=b"#ffffff", max_length=7, verbose_name="Color" ), ), ( "text_color", models.CharField( default=b"#000000", max_length=7, verbose_name="Text color" ), ), ("enabled", models.BooleanField(default=True, verbose_name="Enabled")), ], options={ "ordering": ("format",), "verbose_name": "Broadcast format", "verbose_name_plural": "Broadcast formats", }, ), migrations.CreateModel( name="Host", fields=[ ( "id", models.AutoField( verbose_name="ID", serialize=False, auto_created=True, primary_key=True, ), ), ("name", models.CharField(max_length=128, verbose_name="Name")), ( "email", models.EmailField( max_length=254, verbose_name="E-Mail", blank=True ), ), ("website", models.URLField(verbose_name="Website", blank=True)), ], options={ "ordering": ("name",), "verbose_name": "Host", "verbose_name_plural": "Hosts", }, ), migrations.CreateModel( name="MusicFocus", fields=[ ( "id", models.AutoField( verbose_name="ID", serialize=False, auto_created=True, primary_key=True, ), ), ("focus", models.CharField(max_length=32, verbose_name="Focus")), ( "abbrev", models.CharField( unique=True, max_length=4, verbose_name="Abbreviation" ), ), ( "slug", models.SlugField(unique=True, max_length=32, verbose_name="Slug"), ), ( "button", models.ImageField( upload_to=b"buttons", null=True, verbose_name="Button image", blank=True, ), ), ( "button_hover", models.ImageField( upload_to=b"buttons", null=True, verbose_name="Button image (hover)", blank=True, ), ), ( "big_button", models.ImageField( upload_to=b"buttons", null=True, verbose_name="Big button image", blank=True, ), ), ], options={ "ordering": ("focus",), "verbose_name": "Music focus", "verbose_name_plural": "Music focus", }, ), migrations.CreateModel( name="Note", fields=[ ( "id", models.AutoField( verbose_name="ID", serialize=False, auto_created=True, primary_key=True, ), ), ("title", models.CharField(max_length=128, verbose_name="Title")), ("content", models.TextField(verbose_name="Content")), ( "status", models.IntegerField( default=1, verbose_name="Status", choices=[ (0, "Cancellation"), (1, "Recommendation"), (2, "Repetition"), ], ), ), ( "cba_entry_id", models.IntegerField( null=True, verbose_name="CBA entry ID", blank=True ), ), ("start", models.DateTimeField(editable=False)), ("created", models.DateTimeField(auto_now_add=True)), ("last_updated", models.DateTimeField(auto_now=True)), ], options={ "ordering": ("timeslot",), "verbose_name": "Note", "verbose_name_plural": "Notes", }, ), migrations.CreateModel( name="ProgramSlot", fields=[ ( "id", models.AutoField( verbose_name="ID", serialize=False, auto_created=True, primary_key=True, ), ), ( "byweekday", models.IntegerField( verbose_name="Weekday", choices=[ (0, "Monday"), (1, "Tuesday"), (2, "Wednesday"), (3, "Thursday"), (4, "Friday"), (5, "Saturday"), (6, "Sunday"), ], ), ), ("dstart", models.DateField(verbose_name="First date")), ("tstart", models.TimeField(verbose_name="Start time")), ("tend", models.TimeField(verbose_name="End time")), ("until", models.DateField(verbose_name="Last date")), ( "is_repetition", models.BooleanField(default=False, verbose_name="Is repetition"), ), ( "automation_id", models.IntegerField( blank=True, null=True, verbose_name="Automation ID", choices=[] ), ), ("created", models.DateTimeField(auto_now_add=True)), ("last_updated", models.DateTimeField(auto_now=True)), ], options={ "ordering": ("dstart", "tstart"), "verbose_name": "Program slot", "verbose_name_plural": "Program slots", }, ), migrations.CreateModel( name="RRule", fields=[ ( "id", models.AutoField( verbose_name="ID", serialize=False, auto_created=True, primary_key=True, ), ), ( "name", models.CharField(unique=True, max_length=32, verbose_name="Name"), ), ( "freq", models.IntegerField( verbose_name="Frequency", choices=[(1, "Monthly"), (2, "Weekly"), (3, "Daily")], ), ), ("interval", models.IntegerField(default=1, verbose_name="Interval")), ( "bysetpos", models.IntegerField( blank=True, null=True, verbose_name="Set position", choices=[ (1, "First"), (2, "Second"), (3, "Third"), (4, "Fourth"), (5, "Fifth"), (-1, "Last"), ], ), ), ( "count", models.IntegerField(null=True, verbose_name="Count", blank=True), ), ], options={ "ordering": ("-freq", "interval", "bysetpos"), "verbose_name": "Recurrence rule", "verbose_name_plural": "Recurrence rules", }, ), migrations.CreateModel( name="Show", fields=[ ( "id", models.AutoField( verbose_name="ID", serialize=False, auto_created=True, primary_key=True, ), ), ("name", models.CharField(max_length=255, verbose_name="Name")), ( "slug", models.CharField(unique=True, max_length=255, verbose_name="Slug"), ), ( "image", models.ImageField( upload_to=b"show_images", null=True, verbose_name="Image", blank=True, ), ), ( "image_enabled", models.BooleanField(default=True, verbose_name="show Image"), ), ( "short_description", models.CharField(max_length=64, verbose_name="Short description"), ), ( "description", models.TextField(null=True, verbose_name="Description", blank=True), ), ( "email", models.EmailField( max_length=254, null=True, verbose_name="E-Mail", blank=True ), ), ( "website", models.URLField(null=True, verbose_name="Website", blank=True), ), ( "cba_series_id", models.IntegerField( null=True, verbose_name="CBA series ID", blank=True ), ), ( "automation_id", models.IntegerField( blank=True, null=True, verbose_name="Automation ID", choices=[] ), ), ("created", models.DateTimeField(auto_now_add=True)), ("last_updated", models.DateTimeField(auto_now=True)), ( "broadcastformat", models.ForeignKey( related_name="shows", on_delete=models.CASCADE, verbose_name="Broadcast format", to="program.BroadcastFormat", ), ), ( "hosts", models.ManyToManyField( related_name="shows", verbose_name="Hosts", to="program.Host", blank=True, ), ), ( "musicfocus", models.ManyToManyField( related_name="shows", verbose_name="Music focus", to="program.MusicFocus", blank=True, ), ), ( "owners", models.ManyToManyField( related_name="shows", verbose_name="Owners", to=settings.AUTH_USER_MODEL, blank=True, ), ), ( "predecessor", models.ForeignKey( related_name="successors", on_delete=models.CASCADE, verbose_name="Predecessor", blank=True, to="program.Show", null=True, ), ), ], options={ "ordering": ("slug",), "verbose_name": "Show", "verbose_name_plural": "Shows", }, ), migrations.CreateModel( name="ShowInformation", fields=[ ( "id", models.AutoField( verbose_name="ID", serialize=False, auto_created=True, primary_key=True, ), ), ( "information", models.CharField(max_length=32, verbose_name="Information"), ), ( "abbrev", models.CharField( unique=True, max_length=4, verbose_name="Abbreviation" ), ), ( "slug", models.SlugField(unique=True, max_length=32, verbose_name="Slug"), ), ( "button", models.ImageField( upload_to=b"buttons", null=True, verbose_name="Button image", blank=True, ), ), ( "button_hover", models.ImageField( upload_to=b"buttons", null=True, verbose_name="Button image (hover)", blank=True, ), ), ( "big_button", models.ImageField( upload_to=b"buttons", null=True, verbose_name="Big button image", blank=True, ), ), ], options={ "ordering": ("information",), "verbose_name": "Show information", "verbose_name_plural": "Show information", }, ), migrations.CreateModel( name="ShowTopic", fields=[ ( "id", models.AutoField( verbose_name="ID", serialize=False, auto_created=True, primary_key=True, ), ), ("topic", models.CharField(max_length=32, verbose_name="Show topic")), ( "abbrev", models.CharField( unique=True, max_length=4, verbose_name="Abbreviation" ), ), ( "slug", models.SlugField(unique=True, max_length=32, verbose_name="Slug"), ), ( "button", models.ImageField( upload_to=b"buttons", null=True, verbose_name="Button image", blank=True, ), ), ( "button_hover", models.ImageField( upload_to=b"buttons", null=True, verbose_name="Button image (hover)", blank=True, ), ), ( "big_button", models.ImageField( upload_to=b"buttons", null=True, verbose_name="Big button image", blank=True, ), ), ], options={ "ordering": ("topic",), "verbose_name": "Show topic", "verbose_name_plural": "Show topics", }, ), migrations.CreateModel( name="TimeSlot", fields=[ ( "id", models.AutoField( verbose_name="ID", serialize=False, auto_created=True, primary_key=True, ), ), ("start", models.DateTimeField(unique=True, verbose_name="Start time")), ("end", models.DateTimeField(verbose_name="End time")), ( "programslot", models.ForeignKey( related_name="timeslots", on_delete=models.CASCADE, verbose_name="Program slot", to="program.ProgramSlot", ), ), ( "show", models.ForeignKey( related_name="timeslots", on_delete=models.CASCADE, editable=False, to="program.Show", ), ), ], options={ "ordering": ("start", "end"), "verbose_name": "Time slot", "verbose_name_plural": "Time slots", }, ), migrations.AddField( model_name="show", name="showinformation", field=models.ManyToManyField( related_name="shows", verbose_name="Show information", to="program.ShowInformation", blank=True, ), ), migrations.AddField( model_name="show", name="showtopic", field=models.ManyToManyField( related_name="shows", verbose_name="Show topic", to="program.ShowTopic", blank=True, ), ), migrations.AddField( model_name="programslot", name="rrule", field=models.ForeignKey( related_name="programslots", on_delete=models.CASCADE, verbose_name="Recurrence rule", to="program.RRule", ), ), migrations.AddField( model_name="programslot", name="show", field=models.ForeignKey( related_name="programslots", on_delete=models.CASCADE, verbose_name="Show", to="program.Show", ), ), migrations.AddField( model_name="note", name="show", field=models.ForeignKey( related_name="notes", on_delete=models.CASCADE, editable=False, to="program.Show", ), ), migrations.AddField( model_name="note", name="timeslot", field=models.OneToOneField( verbose_name="Time slot", on_delete=models.CASCADE, to="program.TimeSlot", ), ), migrations.AlterUniqueTogether( name="programslot", unique_together=set([("rrule", "byweekday", "dstart", "tstart")]), ), ]