# -*- coding: utf-8 -*- # Generated by Django 1.11.4 on 2017-10-04 19:15 from __future__ import unicode_literals import LandingPage.models import django.core.files.storage from django.db import migrations, models import django.db.models.deletion class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Ban', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('reason', models.CharField(blank=True, help_text='The reason this user was banned', max_length=50, verbose_name='Ban Reason')), ('expiration', models.DateField(blank=True, help_text='The date this user will become unbanned', verbose_name='Expiration Date')), ('permanent', models.BooleanField(help_text='If checked, this user will never be unbanned, even if the expiration date passes', verbose_name='Permanent')), ('site_wide', models.BooleanField(help_text='If checked, this is a site-wide ban, and the user is automatically banned from all shows, not just those in the Banned From (scope) paramenter', verbose_name='Site Wide Ban')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='DiscussionBoard', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('title', models.CharField(help_text='The title of the discussion', max_length=100)), ('body', models.TextField(help_text='The body of the post', verbose_name='Body')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='DiscussionReply', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('body', models.TextField(help_text='The body of the response', verbose_name='Body')), ('board', models.ForeignKey(help_text='The discussion board this was created in reply to', on_delete=django.db.models.deletion.CASCADE, related_name='replies', to='LandingPage.DiscussionBoard')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='DiscussionVote', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('postive', models.BooleanField(help_text='If true, the vote is an upvote. Otherwise, it is a downvote. Neutral votes are not recorded')), ('board', models.ForeignKey(help_text='The board this vote was cast on', on_delete=django.db.models.deletion.CASCADE, related_name='votes', to='LandingPage.DiscussionBoard')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Episode', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('episode', models.IntegerField(help_text='The position of this episode in the season. The first episode of the season to air would be episode number 1', verbose_name='Episode Number')), ('name', models.CharField(help_text='The name given to this episode by its producers', max_length=40, verbose_name='Episode Season')), ('summary', models.TextField(help_text='A summary of this episode')), ('airdate', models.DateField(help_text='The date this episode officially aired for the first time', verbose_name='Original Air Date')), ], ), migrations.CreateModel( name='Favorite', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('episode', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='LandingPage.Episode')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Report', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('title', models.CharField(help_text='A brief summary of the report', max_length=50, verbose_name='Title')), ('details', models.TextField(help_text='The details of the report, preferably including why the content should be removed', verbose_name='Details')), ('url', models.URLField(help_text='The URL of the content being reported', max_length=100, verbose_name='Content URL')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Season', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(blank=True, help_text='The name given to this season by its producers. Can be blank if no name was given', max_length=40, verbose_name='Season Name')), ('number', models.IntegerField(help_text='The number of this season, starting at 1; For example, the first season to be aired would be number 1, and the second would be number 2')), ('description', models.TextField(help_text="A description of this season's happenings")), ('artwork', models.ImageField(blank=True, help_text='The artwork associated with the season. Should display the name of the show in a movie-poster esque format. Aspect ration should be about 2:3', storage=django.core.files.storage.FileSystemStorage(base_url='showstatic', location='uploaded_resources'), upload_to=LandingPage.models.name_season_artwork, verbose_name='Artwork')), ], ), migrations.CreateModel( name='Show', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('name', models.CharField(help_text='The full name of the show', max_length=40, verbose_name='Full Name')), ('abbr', models.SlugField(help_text='A short abbreviation of the show, for use in urls', max_length=5, unique=True, verbose_name='Abbreviation')), ('description', models.TextField(help_text='A description of the show', verbose_name='Description')), ('release', models.DateField(help_text='The release date of the first episode of the show', verbose_name='Release Date')), ('artwork', models.ImageField(help_text='The artwork associated with the show. Should display the name of the show in a movie-poster esque format. Aspect ration should be about 2:3', storage=django.core.files.storage.FileSystemStorage(base_url='showstatic', location='uploaded_resources'), upload_to=LandingPage.models.name_artwork, verbose_name='Artwork')), ('imdb', models.URLField(help_text='The url of the IMDb page for this show', verbose_name='IMDb Page')), ('moderated', models.BooleanField(help_text='Whether or not this show is user-moderated', verbose_name='User Moderated')), ('css', models.FileField(help_text="The CSS stylesheet applied to this show's page", storage=django.core.files.storage.FileSystemStorage(base_url='showstatic', location='uploaded_resources'), upload_to=LandingPage.models.name_css, verbose_name='Custom Style')), ('banner', models.ImageField(help_text="A banner used for the show's page.", storage=django.core.files.storage.FileSystemStorage(base_url='showstatic', location='uploaded_resources'), upload_to=LandingPage.models.name_banner, verbose_name='Artwork')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='ShowModerator', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='ShowSubmission', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('details', models.TextField(help_text='Some details about the show. Why it should be added, where information about it can be found, etc.', verbose_name='Details')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Submission', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('url', models.URLField(help_text='The link that was submitted')), ('tags', models.CharField(help_text='Tags applied to this link submission', max_length=200)), ('episode', models.ForeignKey(help_text='What episode this link contains a mirror of', on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to='LandingPage.Episode', verbose_name='Submitted For')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='SubmissionVote', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('positive', models.BooleanField(help_text='If this is true, the vote is an upvote. Otherwise, it is a downvote')), ('submission', models.ForeignKey(help_text='What this submission was cast on', on_delete=django.db.models.deletion.CASCADE, related_name='votes', to='LandingPage.Submission')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('user_id', models.CharField(help_text="The UUID assigned to this user by IcyNet's auth servers", max_length=36)), ('email', models.EmailField(help_text="This user's email address", max_length=254)), ('display_name', models.CharField(help_text='The name shown to other users', max_length=20, verbose_name='Display Name')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Watch', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('timestamp', models.DateTimeField(auto_now=True, help_text='The date and time this object was created')), ('episode', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='LandingPage.Episode')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Admin', fields=[ ('user_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='LandingPage.User')), ], options={ 'abstract': False, }, bases=('LandingPage.user',), ), migrations.AddField( model_name='watch', name='user', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='LandingPage.User'), ), migrations.AddField( model_name='user', name='favorites', field=models.ManyToManyField(related_name='favorited_by', through='LandingPage.Favorite', to='LandingPage.Episode'), ), migrations.AddField( model_name='user', name='watches', field=models.ManyToManyField(related_name='watched_by', through='LandingPage.Watch', to='LandingPage.Episode'), ), migrations.AddField( model_name='submissionvote', name='user', field=models.ForeignKey(help_text='The user who cast this vote', on_delete=django.db.models.deletion.CASCADE, related_name='votes', to='LandingPage.User'), ), migrations.AddField( model_name='submission', name='user', field=models.ForeignKey(help_text='The user who submitted this link', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='submissions', to='LandingPage.User'), ), migrations.AddField( model_name='showsubmission', name='user', field=models.ForeignKey(help_text='The user who submitted this show', on_delete=django.db.models.deletion.CASCADE, related_name='show_submissions', to='LandingPage.User', verbose_name='Submitter'), ), migrations.AddField( model_name='showmoderator', name='appointed_by', field=models.ForeignKey(help_text='The user who appointed this moderator', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='appointed_mods', to='LandingPage.User', verbose_name='Appointed by'), ), migrations.AddField( model_name='showmoderator', name='show', field=models.ForeignKey(help_text='The show this user moderates', on_delete=django.db.models.deletion.CASCADE, related_name='moderators', to='LandingPage.Show', verbose_name='Moderated Show'), ), migrations.AddField( model_name='showmoderator', name='user', field=models.ForeignKey(help_text='The user who moderates this show', on_delete=django.db.models.deletion.CASCADE, related_name='moderated_shows', to='LandingPage.User', verbose_name='Moderator'), ), migrations.AddField( model_name='season', name='show', field=models.ForeignKey(help_text='The show this season belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='seasons', to='LandingPage.Show'), ), migrations.AddField( model_name='report', name='reporter', field=models.ForeignKey(help_text='The user who created this report', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='reports', to='LandingPage.User', verbose_name='Reporter'), ), migrations.AddField( model_name='favorite', name='user', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='LandingPage.User'), ), migrations.AddField( model_name='episode', name='season', field=models.ForeignKey(help_text='The season this episode is from', on_delete=django.db.models.deletion.CASCADE, related_name='episodes', to='LandingPage.Season'), ), migrations.AddField( model_name='episode', name='show', field=models.ForeignKey(help_text='The show this episode belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='episodes', to='LandingPage.Show'), ), migrations.AddField( model_name='discussionvote', name='user', field=models.ForeignKey(help_text='The user which cast this vote', on_delete=django.db.models.deletion.CASCADE, related_name='discussion_votes', to='LandingPage.User'), ), migrations.AddField( model_name='discussionreply', name='user', field=models.ForeignKey(help_text='The user that posted this reply', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='replies', to='LandingPage.User'), ), migrations.AddField( model_name='discussionboard', name='show', field=models.ForeignKey(help_text='The show this discussion was created for', on_delete=django.db.models.deletion.CASCADE, related_name='discussion_boards', to='LandingPage.Show'), ), migrations.AddField( model_name='discussionboard', name='user', field=models.ForeignKey(help_text='The user that created this discussion', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='discussion_boards', to='LandingPage.User'), ), migrations.AddField( model_name='ban', name='scope', field=models.ManyToManyField(help_text='The shows this user is banned from interacting with', related_name='bans', to='LandingPage.Show', verbose_name='Banned From'), ), migrations.AddField( model_name='ban', name='user', field=models.OneToOneField(help_text='The user this ban applies to', on_delete=django.db.models.deletion.CASCADE, to='LandingPage.User', verbose_name='Banned User'), ), migrations.AddField( model_name='ban', name='admin', field=models.ForeignKey(help_text='The admin which banned this user', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='bans', to='LandingPage.Admin', verbose_name='Banned By'), ), ]