All the migrations seem fixed now

This commit is contained in:
Scott Bragg 2016-09-17 15:53:47 +10:00
parent aa70c5aeb2
commit 433a99a402
10 changed files with 217 additions and 223 deletions

View file

@ -1,4 +1,4 @@
Django==1.9.2 Django==1.9.7
django-appconf==1.0.1 django-appconf==1.0.1
django-model-utils==2.4.0 django-model-utils==2.4.0
django-reversion==1.10.1 django-reversion==1.10.1

View file

@ -1,12 +1,16 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-17 03:34
from __future__ import unicode_literals from __future__ import unicode_literals
from django.db import models, migrations from django.db import migrations, models
import django.db.models.deletion
import timezone_field.fields import timezone_field.fields
class Migration(migrations.Migration): class Migration(migrations.Migration):
initial = True
dependencies = [ dependencies = [
] ]
@ -14,31 +18,31 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Conference', name='Conference',
fields=[ fields=[
('id', models.AutoField(primary_key=True, auto_created=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=100, verbose_name='Title')), ('title', models.CharField(max_length=100, verbose_name='Title')),
('start_date', models.DateField(null=True, blank=True, verbose_name='Start date')), ('start_date', models.DateField(blank=True, null=True, verbose_name='Start date')),
('end_date', models.DateField(null=True, blank=True, verbose_name='End date')), ('end_date', models.DateField(blank=True, null=True, verbose_name='End date')),
('timezone', timezone_field.fields.TimeZoneField(blank=True, verbose_name='timezone')), ('timezone', timezone_field.fields.TimeZoneField(blank=True, verbose_name='timezone')),
], ],
options={ options={
'verbose_name_plural': 'conferences',
'verbose_name': 'conference', 'verbose_name': 'conference',
'verbose_name_plural': 'conferences',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='Section', name='Section',
fields=[ fields=[
('id', models.AutoField(primary_key=True, auto_created=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100, verbose_name='Name')), ('name', models.CharField(max_length=100, verbose_name='Name')),
('slug', models.SlugField(verbose_name='Slug')), ('slug', models.SlugField(verbose_name='Slug')),
('start_date', models.DateField(null=True, blank=True, verbose_name='Start date')), ('start_date', models.DateField(blank=True, null=True, verbose_name='Start date')),
('end_date', models.DateField(null=True, blank=True, verbose_name='End date')), ('end_date', models.DateField(blank=True, null=True, verbose_name='End date')),
('conference', models.ForeignKey(to='symposion_conference.Conference', verbose_name='Conference')), ('conference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_conference.Conference', verbose_name='Conference')),
], ],
options={ options={
'ordering': ['start_date'], 'ordering': ['start_date'],
'verbose_name_plural': 'sections',
'verbose_name': 'section', 'verbose_name': 'section',
'verbose_name_plural': 'sections',
}, },
), ),
] ]

View file

@ -1,17 +1,21 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-17 03:35
from __future__ import unicode_literals from __future__ import unicode_literals
from django.db import models, migrations
from django.conf import settings from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone import django.utils.timezone
import symposion.proposals.models import symposion.proposals.models
class Migration(migrations.Migration): class Migration(migrations.Migration):
initial = True
dependencies = [ dependencies = [
('symposion_speakers', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL), migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('symposion_speakers', '__first__'),
('symposion_conference', '0001_initial'), ('symposion_conference', '0001_initial'),
] ]
@ -19,8 +23,8 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='AdditionalSpeaker', name='AdditionalSpeaker',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('status', models.IntegerField(verbose_name='Status', default=1, choices=[(1, 'Pending'), (2, 'Accepted'), (3, 'Declined')])), ('status', models.IntegerField(choices=[(1, 'Pending'), (2, 'Accepted'), (3, 'Declined')], default=1, verbose_name='Status')),
], ],
options={ options={
'verbose_name': 'Addtional speaker', 'verbose_name': 'Addtional speaker',
@ -30,68 +34,72 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='ProposalBase', name='ProposalBase',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(verbose_name='Title', max_length=100)), ('title', models.CharField(max_length=100, verbose_name='Title')),
('description', models.TextField(verbose_name='Brief Description', max_length=400, help_text='If your proposal is accepted this will be made public and printed in the program. Should be one paragraph, maximum 400 characters.')), ('abstract', models.TextField(help_text="This will appear in the conference programme. Up to about 500 words. Edit using <a href='http://warpedvisions.org/projects/markdown-cheat-sheet/' target='_blank'>Markdown</a>.", verbose_name='Abstract')),
('abstract', models.TextField(verbose_name='Detailed Abstract', help_text="Detailed outline. Will be made public if your proposal is accepted. Edit using <a href='http://daringfireball.net/projects/markdown/basics' target='_blank'>Markdown</a>.")),
('abstract_html', models.TextField(blank=True)), ('abstract_html', models.TextField(blank=True)),
('additional_notes', models.TextField(blank=True, verbose_name='Addtional Notes', help_text="Anything else you'd like the program committee to know when making their selection: your past experience, etc. This is not made public. Edit using <a href='http://daringfireball.net/projects/markdown/basics' target='_blank'>Markdown</a>.")), ('private_abstract', models.TextField(help_text="This will only be shown to organisers and reviewers. You should provide any details about your proposal that you don't want to be public here. Edit using <a href='http://warpedvisions.org/projects/markdown-cheat-sheet/' target='_blank'>Markdown</a>.", verbose_name='Private Abstract')),
('additional_notes_html', models.TextField(blank=True)), ('private_abstract_html', models.TextField(blank=True)),
('submitted', models.DateTimeField(editable=False, default=django.utils.timezone.now, verbose_name='Submitted')), ('technical_requirements', models.TextField(blank=True, help_text="Speakers will be provided with: Internet access, power, projector, audio. If you require anything in addition, please list your technical requirements here. Such as: a static IP address, A/V equipment or will be demonstrating security-related techniques on the conference network. Edit using <a href='http://warpedvisions.org/projects/markdown-cheat-sheet/' target='_blank'>Markdown</a>.", verbose_name='Special Requirements')),
('cancelled', models.BooleanField(verbose_name='Cancelled', default=False)), ('technical_requirements_html', models.TextField(blank=True)),
('additional_speakers', models.ManyToManyField(blank=True, verbose_name='Addtional speakers', through='symposion_proposals.AdditionalSpeaker', to='symposion_speakers.Speaker')), ('project', models.CharField(blank=True, help_text='The name of the project you will be talking about.', max_length=100)),
('project_url', models.URLField(blank=True, help_text='If your project has a webpage, specify the URL here so the committee can find out more about your proposal.', verbose_name='Project URL')),
('video_url', models.URLField(blank=True, help_text="You may optionally provide us with a link to a video of you speaking at another event, or of a short 'elevator pitch' of your proposed talk.", verbose_name='Video')),
('submitted', models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Submitted')),
('cancelled', models.BooleanField(default=False, verbose_name='Cancelled')),
('additional_speakers', models.ManyToManyField(blank=True, through='symposion_proposals.AdditionalSpeaker', to='symposion_speakers.Speaker', verbose_name='Addtional speakers')),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
name='ProposalKind', name='ProposalKind',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(verbose_name='Name', max_length=100)), ('name', models.CharField(max_length=100, verbose_name='Name')),
('slug', models.SlugField(verbose_name='Slug')), ('slug', models.SlugField(verbose_name='Slug')),
('section', models.ForeignKey(to='symposion_conference.Section', verbose_name='Section', related_name='proposal_kinds')), ('section', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='proposal_kinds', to='symposion_conference.Section', verbose_name='Section')),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
name='ProposalSection', name='ProposalSection',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('start', models.DateTimeField(blank=True, verbose_name='Start', null=True)), ('start', models.DateTimeField(blank=True, null=True, verbose_name='Start')),
('end', models.DateTimeField(blank=True, verbose_name='End', null=True)), ('end', models.DateTimeField(blank=True, null=True, verbose_name='End')),
('closed', models.NullBooleanField(verbose_name='Closed')), ('closed', models.NullBooleanField(verbose_name='Closed')),
('published', models.NullBooleanField(verbose_name='Published')), ('published', models.NullBooleanField(verbose_name='Published')),
('section', models.OneToOneField(to='symposion_conference.Section', verbose_name='Section')), ('section', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='symposion_conference.Section', verbose_name='Section')),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
name='SupportingDocument', name='SupportingDocument',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(verbose_name='Created at', default=django.utils.timezone.now)), ('created_at', models.DateTimeField(default=django.utils.timezone.now, verbose_name='Created at')),
('file', models.FileField(verbose_name='File', upload_to=symposion.proposals.models.uuid_filename)), ('file', models.FileField(upload_to=symposion.proposals.models.uuid_filename, verbose_name='File')),
('description', models.CharField(verbose_name='Description', max_length=140)), ('description', models.CharField(max_length=140, verbose_name='Description')),
('proposal', models.ForeignKey(to='symposion_proposals.ProposalBase', verbose_name='Proposal', related_name='supporting_documents')), ('proposal', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='supporting_documents', to='symposion_proposals.ProposalBase', verbose_name='Proposal')),
('uploaded_by', models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name='Uploaded by')), ('uploaded_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Uploaded by')),
], ],
), ),
migrations.AddField( migrations.AddField(
model_name='proposalbase', model_name='proposalbase',
name='kind', name='kind',
field=models.ForeignKey(to='symposion_proposals.ProposalKind', verbose_name='Kind'), field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_proposals.ProposalKind', verbose_name='Kind'),
), ),
migrations.AddField( migrations.AddField(
model_name='proposalbase', model_name='proposalbase',
name='speaker', name='speaker',
field=models.ForeignKey(to='symposion_speakers.Speaker', verbose_name='Speaker', related_name='proposals'), field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='proposals', to='symposion_speakers.Speaker', verbose_name='Speaker'),
), ),
migrations.AddField( migrations.AddField(
model_name='additionalspeaker', model_name='additionalspeaker',
name='proposalbase', name='proposalbase',
field=models.ForeignKey(to='symposion_proposals.ProposalBase', verbose_name='Proposalbase'), field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_proposals.ProposalBase', verbose_name='Proposalbase'),
), ),
migrations.AddField( migrations.AddField(
model_name='additionalspeaker', model_name='additionalspeaker',
name='speaker', name='speaker',
field=models.ForeignKey(to='symposion_speakers.Speaker', verbose_name='Speaker'), field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_speakers.Speaker', verbose_name='Speaker'),
), ),
migrations.AlterUniqueTogether( migrations.AlterUniqueTogether(
name='additionalspeaker', name='additionalspeaker',

View file

@ -1,17 +1,20 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-17 03:35
from __future__ import unicode_literals from __future__ import unicode_literals
from django.db import models, migrations
import django.db.models.deletion
from django.conf import settings
from decimal import Decimal
import datetime import datetime
from decimal import Decimal
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration): class Migration(migrations.Migration):
initial = True
dependencies = [ dependencies = [
('symposion_proposals', '0001_initial'), ('symposion_proposals', '__first__'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL), migrations.swappable_dependency(settings.AUTH_USER_MODEL),
] ]
@ -19,121 +22,122 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Comment', name='Comment',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('text', models.TextField(verbose_name='Text')), ('text', models.TextField(verbose_name='Text')),
('text_html', models.TextField(blank=True)), ('text_html', models.TextField(blank=True)),
('public', models.BooleanField(verbose_name='Public', default=False, choices=[(True, 'public'), (False, 'private')])), ('public', models.BooleanField(choices=[(True, 'public'), (False, 'private')], default=False, verbose_name='Public')),
('commented_at', models.DateTimeField(verbose_name='Commented at', default=datetime.datetime.now)), ('commented_at', models.DateTimeField(default=datetime.datetime.now, verbose_name='Commented at')),
('commenter', models.ForeignKey(verbose_name='Commenter', to=settings.AUTH_USER_MODEL)), ('commenter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Commenter')),
('proposal', models.ForeignKey(to='symposion_proposals.ProposalBase', verbose_name='Proposal', related_name='comments')), ('proposal', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='symposion_proposals.ProposalBase', verbose_name='Proposal')),
], ],
options={ options={
'verbose_name_plural': 'comments',
'verbose_name': 'comment', 'verbose_name': 'comment',
'verbose_name_plural': 'comments',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='LatestVote', name='LatestVote',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('vote', models.CharField(choices=[('+1', '+1 \u2014 Good proposal and I will argue for it to be accepted.'), ('+0', '+0 \u2014 OK proposal, but I will not argue for it to be accepted.'), ('\u22120', '\u22120 \u2014 Weak proposal, but I will not argue strongly against acceptance.'), ('\u22121', '\u22121 \u2014 Serious issues and I will argue to reject this proposal.')], verbose_name='Vote', max_length=2)), ('vote', models.CharField(choices=[('+2', '+2 \u2014 Good proposal and I will argue for it to be accepted.'), ('+1', '+1 \u2014 OK proposal, but I will not argue for it to be accepted.'), ('-1', '\u22121 \u2014 Weak proposal, but I will not argue strongly against acceptance.'), ('-2', '\u22122 \u2014 Serious issues and I will argue to reject this proposal.'), ('0', 'Abstain - I do not want to review this proposal and I do not want to see it again.')], max_length=2, verbose_name='Vote')),
('submitted_at', models.DateTimeField(editable=False, verbose_name='Submitted at', default=datetime.datetime.now)), ('submitted_at', models.DateTimeField(default=datetime.datetime.now, editable=False, verbose_name='Submitted at')),
('proposal', models.ForeignKey(to='symposion_proposals.ProposalBase', verbose_name='Proposal', related_name='votes')), ('proposal', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='votes', to='symposion_proposals.ProposalBase', verbose_name='Proposal')),
('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
], ],
options={ options={
'verbose_name_plural': 'latest votes',
'verbose_name': 'latest vote', 'verbose_name': 'latest vote',
'verbose_name_plural': 'latest votes',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='NotificationTemplate', name='NotificationTemplate',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('label', models.CharField(verbose_name='Label', max_length=100)), ('label', models.CharField(max_length=100, verbose_name='Label')),
('from_address', models.EmailField(verbose_name='From address', max_length=254)), ('from_address', models.EmailField(max_length=254, verbose_name='From address')),
('subject', models.CharField(verbose_name='Subject', max_length=100)), ('subject', models.CharField(max_length=100, verbose_name='Subject')),
('body', models.TextField(verbose_name='Body')), ('body', models.TextField(verbose_name='Body')),
], ],
options={ options={
'verbose_name_plural': 'notification templates',
'verbose_name': 'notification template', 'verbose_name': 'notification template',
'verbose_name_plural': 'notification templates',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='ProposalMessage', name='ProposalMessage',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('message', models.TextField(verbose_name='Message')), ('message', models.TextField(verbose_name='Message')),
('message_html', models.TextField(blank=True)), ('message_html', models.TextField(blank=True)),
('submitted_at', models.DateTimeField(editable=False, verbose_name='Submitted at', default=datetime.datetime.now)), ('submitted_at', models.DateTimeField(default=datetime.datetime.now, editable=False, verbose_name='Submitted at')),
('proposal', models.ForeignKey(to='symposion_proposals.ProposalBase', verbose_name='Proposal', related_name='messages')), ('proposal', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='messages', to='symposion_proposals.ProposalBase', verbose_name='Proposal')),
('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
], ],
options={ options={
'verbose_name_plural': 'proposal messages',
'verbose_name': 'proposal message',
'ordering': ['submitted_at'], 'ordering': ['submitted_at'],
'verbose_name': 'proposal message',
'verbose_name_plural': 'proposal messages',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='ProposalResult', name='ProposalResult',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('score', models.DecimalField(decimal_places=2, verbose_name='Score', max_digits=5, default=Decimal('0.00'))), ('score', models.DecimalField(decimal_places=2, default=Decimal('0.00'), max_digits=5, verbose_name='Score')),
('comment_count', models.PositiveIntegerField(verbose_name='Comment count', default=0)), ('comment_count', models.PositiveIntegerField(default=0, verbose_name='Comment count')),
('vote_count', models.PositiveIntegerField(verbose_name='Vote count', default=0)), ('vote_count', models.PositiveIntegerField(default=0, verbose_name='Vote count')),
('plus_one', models.PositiveIntegerField(verbose_name='Plus one', default=0)), ('abstain', models.PositiveIntegerField(default=0, verbose_name='Abstain')),
('plus_zero', models.PositiveIntegerField(verbose_name='Plus zero', default=0)), ('plus_two', models.PositiveIntegerField(default=0, verbose_name='Plus two')),
('minus_zero', models.PositiveIntegerField(verbose_name='Minus zero', default=0)), ('plus_one', models.PositiveIntegerField(default=0, verbose_name='Plus one')),
('minus_one', models.PositiveIntegerField(verbose_name='Minus one', default=0)), ('minus_one', models.PositiveIntegerField(default=0, verbose_name='Minus one')),
('accepted', models.NullBooleanField(verbose_name='Accepted', default=None, choices=[(True, 'accepted'), (False, 'rejected'), (None, 'undecided')])), ('minus_two', models.PositiveIntegerField(default=0, verbose_name='Minus two')),
('status', models.CharField(choices=[('accepted', 'accepted'), ('rejected', 'rejected'), ('undecided', 'undecided'), ('standby', 'standby')], verbose_name='Status', max_length=20, default='undecided')), ('accepted', models.NullBooleanField(choices=[(True, 'accepted'), (False, 'rejected'), (None, 'undecided')], default=None, verbose_name='Accepted')),
('proposal', models.OneToOneField(to='symposion_proposals.ProposalBase', verbose_name='Proposal', related_name='result')), ('status', models.CharField(choices=[('accepted', 'accepted'), ('rejected', 'rejected'), ('undecided', 'undecided'), ('standby', 'standby')], default='undecided', max_length=20, verbose_name='Status')),
('proposal', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='result', to='symposion_proposals.ProposalBase', verbose_name='Proposal')),
], ],
options={ options={
'verbose_name_plural': 'proposal_results',
'verbose_name': 'proposal_result', 'verbose_name': 'proposal_result',
'verbose_name_plural': 'proposal_results',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='ResultNotification', name='ResultNotification',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('timestamp', models.DateTimeField(verbose_name='Timestamp', default=datetime.datetime.now)), ('timestamp', models.DateTimeField(default=datetime.datetime.now, verbose_name='Timestamp')),
('to_address', models.EmailField(verbose_name='To address', max_length=254)), ('to_address', models.EmailField(max_length=254, verbose_name='To address')),
('from_address', models.EmailField(verbose_name='From address', max_length=254)), ('from_address', models.EmailField(max_length=254, verbose_name='From address')),
('subject', models.CharField(verbose_name='Subject', max_length=100)), ('subject', models.CharField(max_length=255, verbose_name='Subject')),
('body', models.TextField(verbose_name='Body')), ('body', models.TextField(verbose_name='Body')),
('proposal', models.ForeignKey(to='symposion_proposals.ProposalBase', verbose_name='Proposal', related_name='notifications')), ('proposal', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notifications', to='symposion_proposals.ProposalBase', verbose_name='Proposal')),
('template', models.ForeignKey(to='symposion_reviews.NotificationTemplate', blank=True, verbose_name='Template', null=True, on_delete=django.db.models.deletion.SET_NULL)), ('template', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='symposion_reviews.NotificationTemplate', verbose_name='Template')),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
name='Review', name='Review',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('vote', models.CharField(blank=True, verbose_name='Vote', max_length=2, choices=[('+1', '+1 \u2014 Good proposal and I will argue for it to be accepted.'), ('+0', '+0 \u2014 OK proposal, but I will not argue for it to be accepted.'), ('\u22120', '\u22120 \u2014 Weak proposal, but I will not argue strongly against acceptance.'), ('\u22121', '\u22121 \u2014 Serious issues and I will argue to reject this proposal.')])), ('vote', models.CharField(blank=True, choices=[('+2', '+2 \u2014 Good proposal and I will argue for it to be accepted.'), ('+1', '+1 \u2014 OK proposal, but I will not argue for it to be accepted.'), ('-1', '\u22121 \u2014 Weak proposal, but I will not argue strongly against acceptance.'), ('-2', '\u22122 \u2014 Serious issues and I will argue to reject this proposal.'), ('0', 'Abstain - I do not want to review this proposal and I do not want to see it again.')], max_length=2, verbose_name='Vote')),
('comment', models.TextField(verbose_name='Comment')), ('comment', models.TextField(blank=True, verbose_name='Comment')),
('comment_html', models.TextField(blank=True)), ('comment_html', models.TextField(blank=True)),
('submitted_at', models.DateTimeField(editable=False, verbose_name='Submitted at', default=datetime.datetime.now)), ('submitted_at', models.DateTimeField(default=datetime.datetime.now, editable=False, verbose_name='Submitted at')),
('proposal', models.ForeignKey(to='symposion_proposals.ProposalBase', verbose_name='Proposal', related_name='reviews')), ('proposal', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviews', to='symposion_proposals.ProposalBase', verbose_name='Proposal')),
('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
], ],
options={ options={
'verbose_name_plural': 'reviews',
'verbose_name': 'review', 'verbose_name': 'review',
'verbose_name_plural': 'reviews',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='ReviewAssignment', name='ReviewAssignment',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('origin', models.IntegerField(choices=[(0, 'auto-assigned, initial'), (1, 'opted-in'), (2, 'auto-assigned, later')], verbose_name='Origin')), ('origin', models.IntegerField(choices=[(0, 'auto-assigned, initial'), (1, 'opted-in'), (2, 'auto-assigned, later')], verbose_name='Origin')),
('assigned_at', models.DateTimeField(verbose_name='Assigned at', default=datetime.datetime.now)), ('assigned_at', models.DateTimeField(default=datetime.datetime.now, verbose_name='Assigned at')),
('opted_out', models.BooleanField(verbose_name='Opted out', default=False)), ('opted_out', models.BooleanField(default=False, verbose_name='Opted out')),
('proposal', models.ForeignKey(verbose_name='Proposal', to='symposion_proposals.ProposalBase')), ('proposal', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_proposals.ProposalBase', verbose_name='Proposal')),
('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
], ],
), ),
migrations.AlterUniqueTogether( migrations.AlterUniqueTogether(

View file

@ -342,7 +342,7 @@ class ResultNotification(models.Model):
timestamp = models.DateTimeField(default=datetime.now, verbose_name=_("Timestamp")) timestamp = models.DateTimeField(default=datetime.now, verbose_name=_("Timestamp"))
to_address = models.EmailField(verbose_name=_("To address")) to_address = models.EmailField(verbose_name=_("To address"))
from_address = models.EmailField(verbose_name=_("From address")) from_address = models.EmailField(verbose_name=_("From address"))
subject = models.CharField(max_length=100, verbose_name=_("Subject")) subject = models.CharField(max_length=255, verbose_name=_("Subject"))
body = models.TextField(verbose_name=_("Body")) body = models.TextField(verbose_name=_("Body"))
def recipients(self): def recipients(self):

View file

@ -1,25 +1,29 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-17 03:35
from __future__ import unicode_literals from __future__ import unicode_literals
from django.db import models, migrations
import datetime import datetime
from django.conf import settings from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration): class Migration(migrations.Migration):
initial = True
dependencies = [ dependencies = [
('symposion_proposals', '__first__'),
('symposion_speakers', '__first__'), ('symposion_speakers', '__first__'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL), migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('symposion_conference', '0001_initial'), ('symposion_conference', '0001_initial'),
('symposion_proposals', '0001_initial'),
] ]
operations = [ operations = [
migrations.CreateModel( migrations.CreateModel(
name='Day', name='Day',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date', models.DateField(verbose_name='Date')), ('date', models.DateField(verbose_name='Date')),
], ],
options={ options={
@ -31,16 +35,14 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Presentation', name='Presentation',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=100, verbose_name='Title')), ('title', models.CharField(max_length=100, verbose_name='Title')),
('description', models.TextField(verbose_name='Description')),
('description_html', models.TextField(blank=True)),
('abstract', models.TextField(verbose_name='Abstract')), ('abstract', models.TextField(verbose_name='Abstract')),
('abstract_html', models.TextField(blank=True)), ('abstract_html', models.TextField(blank=True)),
('cancelled', models.BooleanField(default=False, verbose_name='Cancelled')), ('cancelled', models.BooleanField(default=False, verbose_name='Cancelled')),
('additional_speakers', models.ManyToManyField(related_name='copresentations', to='symposion_speakers.Speaker', verbose_name='Additional speakers', blank=True)), ('additional_speakers', models.ManyToManyField(blank=True, related_name='copresentations', to='symposion_speakers.Speaker', verbose_name='Additional speakers')),
('proposal_base', models.OneToOneField(to='symposion_proposals.ProposalBase', related_name='presentation', verbose_name='Proposal base')), ('proposal_base', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='presentation', to='symposion_proposals.ProposalBase', verbose_name='Proposal base')),
('section', models.ForeignKey(to='symposion_conference.Section', related_name='presentations', verbose_name='Section')), ('section', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='presentations', to='symposion_conference.Section', verbose_name='Section')),
], ],
options={ options={
'ordering': ['slot'], 'ordering': ['slot'],
@ -51,7 +53,7 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Room', name='Room',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=65, verbose_name='Name')), ('name', models.CharField(max_length=65, verbose_name='Name')),
('order', models.PositiveIntegerField(verbose_name='Order')), ('order', models.PositiveIntegerField(verbose_name='Order')),
], ],
@ -63,10 +65,10 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Schedule', name='Schedule',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('published', models.BooleanField(default=True, verbose_name='Published')), ('published', models.BooleanField(default=True, verbose_name='Published')),
('hidden', models.BooleanField(default=False, verbose_name='Hide schedule from overall conference view')), ('hidden', models.BooleanField(default=False, verbose_name='Hide schedule from overall conference view')),
('section', models.OneToOneField(to='symposion_conference.Section', verbose_name='Section')), ('section', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='symposion_conference.Section', verbose_name='Section')),
], ],
options={ options={
'ordering': ['section'], 'ordering': ['section'],
@ -77,8 +79,8 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Session', name='Session',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('day', models.ForeignKey(to='symposion_schedule.Day', related_name='sessions', verbose_name='Day')), ('day', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sessions', to='symposion_schedule.Day', verbose_name='Day')),
], ],
options={ options={
'verbose_name': 'Session', 'verbose_name': 'Session',
@ -88,12 +90,12 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='SessionRole', name='SessionRole',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('role', models.IntegerField(verbose_name='Role', choices=[(1, 'Session Chair'), (2, 'Session Runner')])), ('role', models.IntegerField(choices=[(1, 'Session Chair'), (2, 'Session Runner')], verbose_name='Role')),
('status', models.NullBooleanField(verbose_name='Status')), ('status', models.NullBooleanField(verbose_name='Status')),
('submitted', models.DateTimeField(default=datetime.datetime.now)), ('submitted', models.DateTimeField(default=datetime.datetime.now)),
('session', models.ForeignKey(to='symposion_schedule.Session', verbose_name='Session')), ('session', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_schedule.Session', verbose_name='Session')),
('user', models.ForeignKey(to=settings.AUTH_USER_MODEL, verbose_name='User')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
], ],
options={ options={
'verbose_name': 'Session role', 'verbose_name': 'Session role',
@ -103,12 +105,13 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Slot', name='Slot',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(editable=False, max_length=100)),
('start', models.TimeField(verbose_name='Start')), ('start', models.TimeField(verbose_name='Start')),
('end', models.TimeField(verbose_name='End')), ('end', models.TimeField(verbose_name='End')),
('content_override', models.TextField(verbose_name='Content override', blank=True)), ('content_override', models.TextField(blank=True, verbose_name='Content override')),
('content_override_html', models.TextField(blank=True)), ('content_override_html', models.TextField(blank=True)),
('day', models.ForeignKey(to='symposion_schedule.Day', verbose_name='Day')), ('day', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_schedule.Day', verbose_name='Day')),
], ],
options={ options={
'ordering': ['day', 'start', 'end'], 'ordering': ['day', 'start', 'end'],
@ -119,9 +122,9 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='SlotKind', name='SlotKind',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('label', models.CharField(max_length=50, verbose_name='Label')), ('label', models.CharField(max_length=50, verbose_name='Label')),
('schedule', models.ForeignKey(to='symposion_schedule.Schedule', verbose_name='schedule')), ('schedule', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_schedule.Schedule', verbose_name='schedule')),
], ],
options={ options={
'verbose_name': 'Slot kind', 'verbose_name': 'Slot kind',
@ -131,9 +134,9 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='SlotRoom', name='SlotRoom',
fields=[ fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('room', models.ForeignKey(to='symposion_schedule.Room', verbose_name='Room')), ('room', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_schedule.Room', verbose_name='Room')),
('slot', models.ForeignKey(to='symposion_schedule.Slot', verbose_name='Slot')), ('slot', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_schedule.Slot', verbose_name='Slot')),
], ],
options={ options={
'ordering': ['slot', 'room__order'], 'ordering': ['slot', 'room__order'],
@ -144,32 +147,32 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='slot', model_name='slot',
name='kind', name='kind',
field=models.ForeignKey(to='symposion_schedule.SlotKind', verbose_name='Kind'), field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_schedule.SlotKind', verbose_name='Kind'),
), ),
migrations.AddField( migrations.AddField(
model_name='session', model_name='session',
name='slots', name='slots',
field=models.ManyToManyField(related_name='sessions', verbose_name='Slots', to='symposion_schedule.Slot'), field=models.ManyToManyField(related_name='sessions', to='symposion_schedule.Slot', verbose_name='Slots'),
), ),
migrations.AddField( migrations.AddField(
model_name='room', model_name='room',
name='schedule', name='schedule',
field=models.ForeignKey(to='symposion_schedule.Schedule', verbose_name='Schedule'), field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_schedule.Schedule', verbose_name='Schedule'),
), ),
migrations.AddField( migrations.AddField(
model_name='presentation', model_name='presentation',
name='slot', name='slot',
field=models.OneToOneField(to='symposion_schedule.Slot', related_name='content_ptr', blank=True, null=True, verbose_name='Slot'), field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='content_ptr', to='symposion_schedule.Slot', verbose_name='Slot'),
), ),
migrations.AddField( migrations.AddField(
model_name='presentation', model_name='presentation',
name='speaker', name='speaker',
field=models.ForeignKey(to='symposion_speakers.Speaker', related_name='presentations', verbose_name='Speaker'), field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='presentations', to='symposion_speakers.Speaker', verbose_name='Speaker'),
), ),
migrations.AddField( migrations.AddField(
model_name='day', model_name='day',
name='schedule', name='schedule',
field=models.ForeignKey(to='symposion_schedule.Schedule', verbose_name='Schedule'), field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_schedule.Schedule', verbose_name='Schedule'),
), ),
migrations.AlterUniqueTogether( migrations.AlterUniqueTogether(
name='slotroom', name='slotroom',

View file

@ -1,23 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.2 on 2016-09-03 01:46
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('symposion_schedule', '0001_initial'),
]
operations = [
migrations.RemoveField(
model_name='presentation',
name='description',
),
migrations.RemoveField(
model_name='presentation',
name='description_html',
),
]

View file

@ -1,13 +1,17 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-17 03:35
from __future__ import unicode_literals from __future__ import unicode_literals
from django.db import models, migrations
import datetime import datetime
from django.conf import settings from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration): class Migration(migrations.Migration):
initial = True
dependencies = [ dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL), migrations.swappable_dependency(settings.AUTH_USER_MODEL),
] ]
@ -16,21 +20,31 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Speaker', name='Speaker',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, verbose_name='ID', serialize=False)), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(verbose_name='Name', help_text='As you would like it to appear in the conference program.', max_length=100)), ('name', models.CharField(help_text='As you would like it to appear in the conference programme.', max_length=100, verbose_name='Name')),
('biography', models.TextField(verbose_name='Biography', blank=True, help_text="A little bit about you. Edit using <a href='http://warpedvisions.org/projects/markdown-cheat-sheet/target='_blank'>Markdown</a>.")), ('biography', models.TextField(blank=True, help_text="This will appear on the conference website and in the programme. Please write in the third person, eg 'Alice is a Moblin hacker...', 150-200 words. Edit using <a href='http://warpedvisions.org/projects/markdown-cheat-sheet/' target='_blank'>Markdown</a>.", verbose_name='Biography')),
('biography_html', models.TextField(blank=True)), ('biography_html', models.TextField(blank=True)),
('photo', models.ImageField(verbose_name='Photo', upload_to='speaker_photos', blank=True)), ('experience', models.TextField(blank=True, help_text="Have you had any experience presenting elsewhere? If so, we'd like to know. Anything you put here will only be seen by the organisers and reviewers; use it to convince them why they should accept your proposal. Edit using <a href='http://warpedvisions.org/projects/markdown-cheat-sheet/' target='_blank'>Markdown</a>.", verbose_name='Speaking experience')),
('experience_html', models.TextField(blank=True)),
('photo', models.ImageField(blank=True, upload_to='speaker_photos', verbose_name='Photo')),
('telephone', models.CharField(help_text="The conference team will need this to contact you during the conference week. If you don't have one, or do not wish to provide it, then enter NONE in this field.", max_length=15)),
('homepage', models.URLField(blank=True, help_text='Your home page, if you have one')),
('twitter_username', models.CharField(blank=True, help_text='Your Twitter account', max_length=15)),
('accessibility', models.TextField(blank=True, help_text="Please describe any special accessibility requirements that you may have. Edit using <a href='http://warpedvisions.org/projects/markdown-cheat-sheet/' target='_blank'>Markdown</a>.", verbose_name='Accessibility requirements')),
('accessibility_html', models.TextField(blank=True)),
('travel_assistance', models.BooleanField(default=False, help_text='Check this box if you require assistance to travel to Hobart to present your proposed sessions.', verbose_name='Travel assistance required')),
('accommodation_assistance', models.BooleanField(default=False, help_text='Check this box if you require us to provide you with student-style accommodation in order to present your proposed sessions.', verbose_name='Accommodation assistance required')),
('agreement', models.BooleanField(default=False, help_text='I agree to the terms and conditions of attendance, and I have read, understood, and agree to act according to the standards set forth in our Code of Conduct ')),
('annotation', models.TextField(verbose_name='Annotation')), ('annotation', models.TextField(verbose_name='Annotation')),
('invite_email', models.CharField(verbose_name='Invite_email', unique=True, db_index=True, max_length=200, null=True)), ('invite_email', models.CharField(db_index=True, max_length=200, null=True, unique=True, verbose_name='Invite_email')),
('invite_token', models.CharField(verbose_name='Invite token', db_index=True, max_length=40)), ('invite_token', models.CharField(db_index=True, max_length=40, verbose_name='Invite token')),
('created', models.DateTimeField(editable=False, verbose_name='Created', default=datetime.datetime.now)), ('created', models.DateTimeField(default=datetime.datetime.now, editable=False, verbose_name='Created')),
('user', models.OneToOneField(null=True, related_name='speaker_profile', verbose_name='User', to=settings.AUTH_USER_MODEL)), ('user', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='speaker_profile', to=settings.AUTH_USER_MODEL, verbose_name='User')),
], ],
options={ options={
'ordering': ['name'],
'verbose_name': 'Speaker', 'verbose_name': 'Speaker',
'verbose_name_plural': 'Speakers', 'verbose_name_plural': 'Speakers',
'ordering': ['name'],
}, },
), ),
] ]

View file

@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.4 on 2016-03-15 03:16
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('symposion_speakers', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='speaker',
name='twitter_username',
field=models.CharField(blank=True, help_text='Your Twitter account', max_length=15),
),
]

View file

@ -1,13 +1,17 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-17 03:35
from __future__ import unicode_literals from __future__ import unicode_literals
from django.db import models, migrations
from django.conf import settings
import datetime import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration): class Migration(migrations.Migration):
initial = True
dependencies = [ dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL), migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('symposion_conference', '0001_initial'), ('symposion_conference', '0001_initial'),
@ -17,99 +21,99 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Benefit', name='Benefit',
fields=[ fields=[
('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(verbose_name='Name', max_length=100)), ('name', models.CharField(max_length=100, verbose_name='Name')),
('description', models.TextField(blank=True, verbose_name='Description')), ('description', models.TextField(blank=True, verbose_name='Description')),
('type', models.CharField(default='simple', choices=[('text', 'Text'), ('file', 'File'), ('richtext', 'Rich Text'), ('weblogo', 'Web Logo'), ('simple', 'Simple'), ('option', 'Option')], verbose_name='Type', max_length=10)), ('type', models.CharField(choices=[('text', 'Text'), ('file', 'File'), ('richtext', 'Rich Text'), ('weblogo', 'Web Logo'), ('simple', 'Simple'), ('option', 'Option')], default='simple', max_length=10, verbose_name='Type')),
('content_type', models.CharField(default='simple', choices=[('simple', 'Simple'), ('listing_text_af', 'Listing Text (Afrikaans)'), ('listing_text_ar', 'Listing Text (Arabic)'), ('listing_text_ast', 'Listing Text (Asturian)'), ('listing_text_az', 'Listing Text (Azerbaijani)'), ('listing_text_bg', 'Listing Text (Bulgarian)'), ('listing_text_be', 'Listing Text (Belarusian)'), ('listing_text_bn', 'Listing Text (Bengali)'), ('listing_text_br', 'Listing Text (Breton)'), ('listing_text_bs', 'Listing Text (Bosnian)'), ('listing_text_ca', 'Listing Text (Catalan)'), ('listing_text_cs', 'Listing Text (Czech)'), ('listing_text_cy', 'Listing Text (Welsh)'), ('listing_text_da', 'Listing Text (Danish)'), ('listing_text_de', 'Listing Text (German)'), ('listing_text_el', 'Listing Text (Greek)'), ('listing_text_en', 'Listing Text (English)'), ('listing_text_en-au', 'Listing Text (Australian English)'), ('listing_text_en-gb', 'Listing Text (British English)'), ('listing_text_eo', 'Listing Text (Esperanto)'), ('listing_text_es', 'Listing Text (Spanish)'), ('listing_text_es-ar', 'Listing Text (Argentinian Spanish)'), ('listing_text_es-mx', 'Listing Text (Mexican Spanish)'), ('listing_text_es-ni', 'Listing Text (Nicaraguan Spanish)'), ('listing_text_es-ve', 'Listing Text (Venezuelan Spanish)'), ('listing_text_et', 'Listing Text (Estonian)'), ('listing_text_eu', 'Listing Text (Basque)'), ('listing_text_fa', 'Listing Text (Persian)'), ('listing_text_fi', 'Listing Text (Finnish)'), ('listing_text_fr', 'Listing Text (French)'), ('listing_text_fy', 'Listing Text (Frisian)'), ('listing_text_ga', 'Listing Text (Irish)'), ('listing_text_gl', 'Listing Text (Galician)'), ('listing_text_he', 'Listing Text (Hebrew)'), ('listing_text_hi', 'Listing Text (Hindi)'), ('listing_text_hr', 'Listing Text (Croatian)'), ('listing_text_hu', 'Listing Text (Hungarian)'), ('listing_text_ia', 'Listing Text (Interlingua)'), ('listing_text_id', 'Listing Text (Indonesian)'), ('listing_text_io', 'Listing Text (Ido)'), ('listing_text_is', 'Listing Text (Icelandic)'), ('listing_text_it', 'Listing Text (Italian)'), ('listing_text_ja', 'Listing Text (Japanese)'), ('listing_text_ka', 'Listing Text (Georgian)'), ('listing_text_kk', 'Listing Text (Kazakh)'), ('listing_text_km', 'Listing Text (Khmer)'), ('listing_text_kn', 'Listing Text (Kannada)'), ('listing_text_ko', 'Listing Text (Korean)'), ('listing_text_lb', 'Listing Text (Luxembourgish)'), ('listing_text_lt', 'Listing Text (Lithuanian)'), ('listing_text_lv', 'Listing Text (Latvian)'), ('listing_text_mk', 'Listing Text (Macedonian)'), ('listing_text_ml', 'Listing Text (Malayalam)'), ('listing_text_mn', 'Listing Text (Mongolian)'), ('listing_text_mr', 'Listing Text (Marathi)'), ('listing_text_my', 'Listing Text (Burmese)'), ('listing_text_nb', 'Listing Text (Norwegian Bokmal)'), ('listing_text_ne', 'Listing Text (Nepali)'), ('listing_text_nl', 'Listing Text (Dutch)'), ('listing_text_nn', 'Listing Text (Norwegian Nynorsk)'), ('listing_text_os', 'Listing Text (Ossetic)'), ('listing_text_pa', 'Listing Text (Punjabi)'), ('listing_text_pl', 'Listing Text (Polish)'), ('listing_text_pt', 'Listing Text (Portuguese)'), ('listing_text_pt-br', 'Listing Text (Brazilian Portuguese)'), ('listing_text_ro', 'Listing Text (Romanian)'), ('listing_text_ru', 'Listing Text (Russian)'), ('listing_text_sk', 'Listing Text (Slovak)'), ('listing_text_sl', 'Listing Text (Slovenian)'), ('listing_text_sq', 'Listing Text (Albanian)'), ('listing_text_sr', 'Listing Text (Serbian)'), ('listing_text_sr-latn', 'Listing Text (Serbian Latin)'), ('listing_text_sv', 'Listing Text (Swedish)'), ('listing_text_sw', 'Listing Text (Swahili)'), ('listing_text_ta', 'Listing Text (Tamil)'), ('listing_text_te', 'Listing Text (Telugu)'), ('listing_text_th', 'Listing Text (Thai)'), ('listing_text_tr', 'Listing Text (Turkish)'), ('listing_text_tt', 'Listing Text (Tatar)'), ('listing_text_udm', 'Listing Text (Udmurt)'), ('listing_text_uk', 'Listing Text (Ukrainian)'), ('listing_text_ur', 'Listing Text (Urdu)'), ('listing_text_vi', 'Listing Text (Vietnamese)'), ('listing_text_zh-cn', 'Listing Text (Simplified Chinese)'), ('listing_text_zh-hans', 'Listing Text (Simplified Chinese)'), ('listing_text_zh-hant', 'Listing Text (Traditional Chinese)'), ('listing_text_zh-tw', 'Listing Text (Traditional Chinese)')], verbose_name='content type', max_length=20)), ('content_type', models.CharField(choices=[('simple', 'Simple'), ('listing_text_af', 'Listing Text (Afrikaans)'), ('listing_text_ar', 'Listing Text (Arabic)'), ('listing_text_ast', 'Listing Text (Asturian)'), ('listing_text_az', 'Listing Text (Azerbaijani)'), ('listing_text_bg', 'Listing Text (Bulgarian)'), ('listing_text_be', 'Listing Text (Belarusian)'), ('listing_text_bn', 'Listing Text (Bengali)'), ('listing_text_br', 'Listing Text (Breton)'), ('listing_text_bs', 'Listing Text (Bosnian)'), ('listing_text_ca', 'Listing Text (Catalan)'), ('listing_text_cs', 'Listing Text (Czech)'), ('listing_text_cy', 'Listing Text (Welsh)'), ('listing_text_da', 'Listing Text (Danish)'), ('listing_text_de', 'Listing Text (German)'), ('listing_text_el', 'Listing Text (Greek)'), ('listing_text_en', 'Listing Text (English)'), ('listing_text_en-au', 'Listing Text (Australian English)'), ('listing_text_en-gb', 'Listing Text (British English)'), ('listing_text_eo', 'Listing Text (Esperanto)'), ('listing_text_es', 'Listing Text (Spanish)'), ('listing_text_es-ar', 'Listing Text (Argentinian Spanish)'), ('listing_text_es-co', 'Listing Text (Colombian Spanish)'), ('listing_text_es-mx', 'Listing Text (Mexican Spanish)'), ('listing_text_es-ni', 'Listing Text (Nicaraguan Spanish)'), ('listing_text_es-ve', 'Listing Text (Venezuelan Spanish)'), ('listing_text_et', 'Listing Text (Estonian)'), ('listing_text_eu', 'Listing Text (Basque)'), ('listing_text_fa', 'Listing Text (Persian)'), ('listing_text_fi', 'Listing Text (Finnish)'), ('listing_text_fr', 'Listing Text (French)'), ('listing_text_fy', 'Listing Text (Frisian)'), ('listing_text_ga', 'Listing Text (Irish)'), ('listing_text_gd', 'Listing Text (Scottish Gaelic)'), ('listing_text_gl', 'Listing Text (Galician)'), ('listing_text_he', 'Listing Text (Hebrew)'), ('listing_text_hi', 'Listing Text (Hindi)'), ('listing_text_hr', 'Listing Text (Croatian)'), ('listing_text_hu', 'Listing Text (Hungarian)'), ('listing_text_ia', 'Listing Text (Interlingua)'), ('listing_text_id', 'Listing Text (Indonesian)'), ('listing_text_io', 'Listing Text (Ido)'), ('listing_text_is', 'Listing Text (Icelandic)'), ('listing_text_it', 'Listing Text (Italian)'), ('listing_text_ja', 'Listing Text (Japanese)'), ('listing_text_ka', 'Listing Text (Georgian)'), ('listing_text_kk', 'Listing Text (Kazakh)'), ('listing_text_km', 'Listing Text (Khmer)'), ('listing_text_kn', 'Listing Text (Kannada)'), ('listing_text_ko', 'Listing Text (Korean)'), ('listing_text_lb', 'Listing Text (Luxembourgish)'), ('listing_text_lt', 'Listing Text (Lithuanian)'), ('listing_text_lv', 'Listing Text (Latvian)'), ('listing_text_mk', 'Listing Text (Macedonian)'), ('listing_text_ml', 'Listing Text (Malayalam)'), ('listing_text_mn', 'Listing Text (Mongolian)'), ('listing_text_mr', 'Listing Text (Marathi)'), ('listing_text_my', 'Listing Text (Burmese)'), ('listing_text_nb', 'Listing Text (Norwegian Bokmal)'), ('listing_text_ne', 'Listing Text (Nepali)'), ('listing_text_nl', 'Listing Text (Dutch)'), ('listing_text_nn', 'Listing Text (Norwegian Nynorsk)'), ('listing_text_os', 'Listing Text (Ossetic)'), ('listing_text_pa', 'Listing Text (Punjabi)'), ('listing_text_pl', 'Listing Text (Polish)'), ('listing_text_pt', 'Listing Text (Portuguese)'), ('listing_text_pt-br', 'Listing Text (Brazilian Portuguese)'), ('listing_text_ro', 'Listing Text (Romanian)'), ('listing_text_ru', 'Listing Text (Russian)'), ('listing_text_sk', 'Listing Text (Slovak)'), ('listing_text_sl', 'Listing Text (Slovenian)'), ('listing_text_sq', 'Listing Text (Albanian)'), ('listing_text_sr', 'Listing Text (Serbian)'), ('listing_text_sr-latn', 'Listing Text (Serbian Latin)'), ('listing_text_sv', 'Listing Text (Swedish)'), ('listing_text_sw', 'Listing Text (Swahili)'), ('listing_text_ta', 'Listing Text (Tamil)'), ('listing_text_te', 'Listing Text (Telugu)'), ('listing_text_th', 'Listing Text (Thai)'), ('listing_text_tr', 'Listing Text (Turkish)'), ('listing_text_tt', 'Listing Text (Tatar)'), ('listing_text_udm', 'Listing Text (Udmurt)'), ('listing_text_uk', 'Listing Text (Ukrainian)'), ('listing_text_ur', 'Listing Text (Urdu)'), ('listing_text_vi', 'Listing Text (Vietnamese)'), ('listing_text_zh-hans', 'Listing Text (Simplified Chinese)'), ('listing_text_zh-hant', 'Listing Text (Traditional Chinese)')], default='simple', max_length=20, verbose_name='content type')),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
name='BenefitLevel', name='BenefitLevel',
fields=[ fields=[
('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('max_words', models.PositiveIntegerField(blank=True, verbose_name='Max words', null=True)), ('max_words', models.PositiveIntegerField(blank=True, null=True, verbose_name='Max words')),
('other_limits', models.CharField(blank=True, verbose_name='Other limits', max_length=200)), ('other_limits', models.CharField(blank=True, max_length=200, verbose_name='Other limits')),
('benefit', models.ForeignKey(to='symposion_sponsorship.Benefit', related_name='benefit_levels', verbose_name='Benefit')), ('benefit', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='benefit_levels', to='symposion_sponsorship.Benefit', verbose_name='Benefit')),
], ],
options={ options={
'verbose_name_plural': 'Benefit levels',
'ordering': ['level'], 'ordering': ['level'],
'verbose_name': 'Benefit level', 'verbose_name': 'Benefit level',
'verbose_name_plural': 'Benefit levels',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='Sponsor', name='Sponsor',
fields=[ fields=[
('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(verbose_name='Sponsor Name', max_length=100)), ('name', models.CharField(max_length=100, verbose_name='Sponsor Name')),
('display_url', models.URLField(blank=True, verbose_name='display URL')), ('display_url', models.URLField(blank=True, verbose_name='display URL')),
('external_url', models.URLField(verbose_name='External URL')), ('external_url', models.URLField(verbose_name='External URL')),
('annotation', models.TextField(blank=True, verbose_name='Annotation')), ('annotation', models.TextField(blank=True, verbose_name='Annotation')),
('contact_name', models.CharField(verbose_name='Contact Name', max_length=100)), ('contact_name', models.CharField(max_length=100, verbose_name='Contact Name')),
('contact_email', models.EmailField(verbose_name='Contact Email', max_length=254)), ('contact_email', models.EmailField(max_length=254, verbose_name='Contact Email')),
('added', models.DateTimeField(default=datetime.datetime.now, verbose_name='added')), ('added', models.DateTimeField(default=datetime.datetime.now, verbose_name='added')),
('active', models.BooleanField(default=False, verbose_name='active')), ('active', models.BooleanField(default=False, verbose_name='active')),
('web_logo_benefit', models.NullBooleanField(verbose_name='Web logo benefit', help_text='Web logo benefit is complete')), ('web_logo_benefit', models.NullBooleanField(help_text='Web logo benefit is complete', verbose_name='Web logo benefit')),
('print_logo_benefit', models.NullBooleanField(verbose_name='Print logo benefit', help_text='Print logo benefit is complete')), ('print_logo_benefit', models.NullBooleanField(help_text='Print logo benefit is complete', verbose_name='Print logo benefit')),
('print_description_benefit', models.NullBooleanField(verbose_name='Print description benefit', help_text='Print description benefit is complete')), ('print_description_benefit', models.NullBooleanField(help_text='Print description benefit is complete', verbose_name='Print description benefit')),
('company_description_benefit', models.NullBooleanField(verbose_name='Company description benefit', help_text='Company description benefit is complete')), ('company_description_benefit', models.NullBooleanField(help_text='Company description benefit is complete', verbose_name='Company description benefit')),
('applicant', models.ForeignKey(to=settings.AUTH_USER_MODEL, null=True, related_name='sponsorships', verbose_name='Applicant')), ('applicant', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='sponsorships', to=settings.AUTH_USER_MODEL, verbose_name='Applicant')),
], ],
options={ options={
'verbose_name_plural': 'Sponsors',
'ordering': ['name'], 'ordering': ['name'],
'verbose_name': 'Sponsor', 'verbose_name': 'Sponsor',
'verbose_name_plural': 'Sponsors',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='SponsorBenefit', name='SponsorBenefit',
fields=[ fields=[
('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('active', models.BooleanField(default=True, verbose_name='Active')), ('active', models.BooleanField(default=True, verbose_name='Active')),
('max_words', models.PositiveIntegerField(blank=True, verbose_name='Max words', null=True)), ('max_words', models.PositiveIntegerField(blank=True, null=True, verbose_name='Max words')),
('other_limits', models.CharField(blank=True, verbose_name='Other limits', max_length=200)), ('other_limits', models.CharField(blank=True, max_length=200, verbose_name='Other limits')),
('text', models.TextField(blank=True, verbose_name='Text')), ('text', models.TextField(blank=True, verbose_name='Text')),
('upload', models.FileField(blank=True, verbose_name='File', upload_to='sponsor_files')), ('upload', models.FileField(blank=True, upload_to='sponsor_files', verbose_name='File')),
('is_complete', models.NullBooleanField(verbose_name='Complete?', help_text='True - benefit complete; False - benefit incomplete; Null - n/a')), ('is_complete', models.NullBooleanField(help_text='True - benefit complete; False - benefit incomplete; Null - n/a', verbose_name='Complete?')),
('benefit', models.ForeignKey(to='symposion_sponsorship.Benefit', related_name='sponsor_benefits', verbose_name='Benefit')), ('benefit', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sponsor_benefits', to='symposion_sponsorship.Benefit', verbose_name='Benefit')),
('sponsor', models.ForeignKey(to='symposion_sponsorship.Sponsor', related_name='sponsor_benefits', verbose_name='Sponsor')), ('sponsor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sponsor_benefits', to='symposion_sponsorship.Sponsor', verbose_name='Sponsor')),
], ],
options={ options={
'verbose_name_plural': 'Sponsor benefits',
'ordering': ['-active'], 'ordering': ['-active'],
'verbose_name': 'Sponsor benefit', 'verbose_name': 'Sponsor benefit',
'verbose_name_plural': 'Sponsor benefits',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='SponsorLevel', name='SponsorLevel',
fields=[ fields=[
('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(verbose_name='Name', max_length=100)), ('name', models.CharField(max_length=100, verbose_name='Name')),
('order', models.IntegerField(default=0, verbose_name='Order')), ('order', models.IntegerField(default=0, verbose_name='Order')),
('cost', models.PositiveIntegerField(verbose_name='Cost')), ('cost', models.PositiveIntegerField(verbose_name='Cost')),
('description', models.TextField(blank=True, verbose_name='Description', help_text='This is private.')), ('description', models.TextField(blank=True, help_text='This is private.', verbose_name='Description')),
('conference', models.ForeignKey(to='symposion_conference.Conference', verbose_name='Conference')), ('conference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_conference.Conference', verbose_name='Conference')),
], ],
options={ options={
'verbose_name_plural': 'Sponsor levels',
'ordering': ['conference', 'order'], 'ordering': ['conference', 'order'],
'verbose_name': 'Sponsor level', 'verbose_name': 'Sponsor level',
'verbose_name_plural': 'Sponsor levels',
}, },
), ),
migrations.AddField( migrations.AddField(
model_name='sponsor', model_name='sponsor',
name='level', name='level',
field=models.ForeignKey(to='symposion_sponsorship.SponsorLevel', verbose_name='level'), field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='symposion_sponsorship.SponsorLevel', verbose_name='level'),
), ),
migrations.AddField( migrations.AddField(
model_name='sponsor', model_name='sponsor',
name='sponsor_logo', name='sponsor_logo',
field=models.ForeignKey(blank=True, to='symposion_sponsorship.SponsorBenefit', null=True, related_name='+', verbose_name='Sponsor logo', editable=False), field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='symposion_sponsorship.SponsorBenefit', verbose_name='Sponsor logo'),
), ),
migrations.AddField( migrations.AddField(
model_name='benefitlevel', model_name='benefitlevel',
name='level', name='level',
field=models.ForeignKey(to='symposion_sponsorship.SponsorLevel', related_name='benefit_levels', verbose_name='Level'), field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='benefit_levels', to='symposion_sponsorship.SponsorLevel', verbose_name='Level'),
), ),
] ]