diff --git a/webapp/migrations/0012_auto_20170913_1934.py b/webapp/migrations/0012_auto_20170913_1934.py new file mode 100644 index 0000000..4604c90 --- /dev/null +++ b/webapp/migrations/0012_auto_20170913_1934.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2017-09-13 16:34 +from __future__ import unicode_literals + +import django.contrib.postgres.fields.jsonb +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('webapp', '0011_auto_20170913_1841'), + ] + + operations = [ + migrations.CreateModel( + name='OhlhafvChallenge', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('challenger', models.CharField(max_length=255)), + ('victim', models.CharField(max_length=255)), + ('challenger_email', models.EmailField(max_length=254)), + ('victim_email', models.EmailField(max_length=254)), + ('series', models.CharField(choices=[('0.33 L', '0.33 L'), ('0.5 L', '0.5 L'), ('1.0 L', '1.0 L')], max_length=10)), + ('message', models.TextField()), + ], + ), + migrations.CreateModel( + name='Registration', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('email', models.EmailField(max_length=254)), + ('options', django.contrib.postgres.fields.jsonb.JSONField()), + ], + ), + migrations.AlterField( + model_name='baserole', + name='name', + field=models.CharField(max_length=255, verbose_name='Name'), + ), + migrations.AlterField( + model_name='kaehmyform', + name='name', + field=models.CharField(max_length=255, verbose_name='Name'), + ), + migrations.AlterField( + model_name='kaehmymessage', + name='name', + field=models.CharField(max_length=255, verbose_name='Name'), + ), + migrations.AddField( + model_name='event', + name='registration', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='webapp.Registration'), + ), + ] diff --git a/webapp/migrations/0013_auto_20170920_1800.py b/webapp/migrations/0013_auto_20170920_1800.py new file mode 100644 index 0000000..d367aab --- /dev/null +++ b/webapp/migrations/0013_auto_20170920_1800.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2017-09-20 15:00 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('webapp', '0012_auto_20170913_1934'), + ] + + operations = [ + migrations.AlterField( + model_name='baserole', + name='name', + field=models.CharField(max_length=256, verbose_name='Name'), + ), + migrations.AlterField( + model_name='kaehmyform', + name='name', + field=models.CharField(max_length=256, verbose_name='Name'), + ), + migrations.AlterField( + model_name='kaehmymessage', + name='name', + field=models.CharField(max_length=256, verbose_name='Name'), + ), + migrations.AlterField( + model_name='ohlhafvchallenge', + name='challenger', + field=models.CharField(max_length=256), + ), + migrations.AlterField( + model_name='ohlhafvchallenge', + name='victim', + field=models.CharField(max_length=256), + ), + migrations.AlterField( + model_name='registration', + name='name', + field=models.CharField(max_length=256), + ), + ] diff --git a/webapp/migrations/0014_auto_20170920_1807.py b/webapp/migrations/0014_auto_20170920_1807.py new file mode 100644 index 0000000..633abb4 --- /dev/null +++ b/webapp/migrations/0014_auto_20170920_1807.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2017-09-20 15:07 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('webapp', '0013_auto_20170920_1800'), + ] + + operations = [ + migrations.AlterField( + model_name='baserole', + name='name', + field=models.CharField(max_length=255, verbose_name='Name'), + ), + migrations.AlterField( + model_name='kaehmyform', + name='name', + field=models.CharField(max_length=255, verbose_name='Name'), + ), + migrations.AlterField( + model_name='kaehmymessage', + name='name', + field=models.CharField(max_length=255, verbose_name='Name'), + ), + migrations.AlterField( + model_name='ohlhafvchallenge', + name='challenger', + field=models.CharField(max_length=255), + ), + migrations.AlterField( + model_name='ohlhafvchallenge', + name='victim', + field=models.CharField(max_length=255), + ), + migrations.AlterField( + model_name='registration', + name='name', + field=models.CharField(max_length=255), + ), + ] diff --git a/webapp/models.py b/webapp/models.py index 993702d..569089e 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -7,6 +7,7 @@ from django.utils.translation import ugettext_lazy as _ from django.contrib.auth.models import User from auditlog.registry import auditlog from phonenumber_field.modelfields import PhoneNumberField +from django.contrib.postgres.fields import JSONField class Tag(models.Model): @@ -35,13 +36,20 @@ class Feed(BaseFeed): class Event(BaseFeed): start_time = models.DateTimeField(default=timezone.now) end_time = models.DateTimeField(default=timezone.now) + registration = models.ForeignKey('Registration', on_delete=models.CASCADE, null=True) + + +class Registration(models.Model): + name = models.CharField(max_length=255) + email = models.EmailField() + options = JSONField() class BaseRole(models.Model): ''' Base model for occupations/roles ''' - name = models.CharField(_('Name'), max_length=256) + name = models.CharField(_('Name'), max_length=255) is_board = models.BooleanField(_('Board member')) @@ -73,7 +81,7 @@ class KaehmyMessage(MessageParent): Model representing a kaehmymessage. Every message relates to certain kaehmyform or parent message. ''' - name = models.CharField(_('Name'), max_length=256) + name = models.CharField(_('Name'), max_length=255) email = models.EmailField(_('Email')) message = models.TextField(_('Message')) parent = models.ForeignKey('MessageParent', related_name='messages') @@ -84,7 +92,7 @@ class KaehmyForm(MessageParent): Model representing a form for kaehmy. Allows user to choose from existing roles or to create custom ones. ''' - name = models.CharField(_('Name'), max_length=256) + name = models.CharField(_('Name'), max_length=255) email = models.EmailField(_('Email')) year = models.IntegerField(_('Year')) @@ -112,6 +120,25 @@ class Official(User): phone_number = PhoneNumberField(_('Phone number')) +#Ohlhafv +class OhlhafvChallenge(models.Model): + ''' + Model containing all info about ohlhafv challenge + ''' + SERIES_CHOICES = ( + ('0.33 L', '0.33 L'), + ('0.5 L', '0.5 L'), + ('1.0 L', '1.0 L'), + ) + + challenger = models.CharField(max_length=255) + victim = models.CharField(max_length=255) + challenger_email = models.EmailField() + victim_email = models.EmailField() + series = models.CharField(choices=SERIES_CHOICES, max_length=10) + message = models.TextField() + + auditlog.register(Tag) auditlog.register(Feed) auditlog.register(Event)