From 064b07e75ad72c84571b98612df0692359c29162 Mon Sep 17 00:00:00 2001 From: Aarni Date: Wed, 13 Sep 2017 19:06:59 +0300 Subject: [PATCH 1/6] Ohlhafv model --- webapp/models.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/webapp/models.py b/webapp/models.py index 993702d..04e19b6 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -111,6 +111,26 @@ 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'), + ) + class Meta: + verbose_name = _('OhlhafvChallenge') + + challenger = models.CharField(max_length=256) + victim = models.CharField(max_length=256) + 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) From 68b37dea9102f2dec03c1d98aacb5d45a2aae35f Mon Sep 17 00:00:00 2001 From: Aarni Date: Wed, 13 Sep 2017 19:21:47 +0300 Subject: [PATCH 2/6] Registration model --- webapp/models.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/webapp/models.py b/webapp/models.py index 04e19b6..1927028 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -35,6 +35,13 @@ 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) + + +class Registration(models.Model): + name = models.CharField(max_length=256) + email = models.EmailField() + options = models.JSONField() class BaseRole(models.Model): @@ -111,6 +118,7 @@ class Official(User): phone_number = PhoneNumberField(_('Phone number')) + #Ohlhafv class OhlhafvChallenge(models.Model): ''' From 62be06ea6e8530de7a91a42943a070a0740e4b4b Mon Sep 17 00:00:00 2001 From: Aarni Date: Wed, 13 Sep 2017 19:24:13 +0300 Subject: [PATCH 3/6] Remove copypasta verbose_name --- webapp/models.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/webapp/models.py b/webapp/models.py index 1927028..ff4e890 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -129,8 +129,6 @@ class OhlhafvChallenge(models.Model): ('0.5 L', '0.5 L'), ('1.0 L', '1.0 L'), ) - class Meta: - verbose_name = _('OhlhafvChallenge') challenger = models.CharField(max_length=256) victim = models.CharField(max_length=256) From f006c6ceef86041151b757a31824ba34748af576 Mon Sep 17 00:00:00 2001 From: Aarni Date: Wed, 20 Sep 2017 18:01:44 +0300 Subject: [PATCH 4/6] Fix JSONField and add migration files --- webapp/migrations/0012_auto_20170913_1934.py | 58 ++++++++++++++++++++ webapp/migrations/0013_auto_20170920_1800.py | 45 +++++++++++++++ webapp/models.py | 5 +- 3 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 webapp/migrations/0012_auto_20170913_1934.py create mode 100644 webapp/migrations/0013_auto_20170920_1800.py 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/models.py b/webapp/models.py index ff4e890..bf2f9af 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,13 @@ 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) + registration = models.ForeignKey('Registration', on_delete=models.CASCADE, null=True) class Registration(models.Model): name = models.CharField(max_length=256) email = models.EmailField() - options = models.JSONField() + options = JSONField() class BaseRole(models.Model): From 5e4a41d52a7dd2a812022e29c2d14ebe8f814ac5 Mon Sep 17 00:00:00 2001 From: Aarni Date: Wed, 20 Sep 2017 18:06:01 +0300 Subject: [PATCH 5/6] Unite some CharField max_lengths --- webapp/models.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/webapp/models.py b/webapp/models.py index bf2f9af..569089e 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -40,7 +40,7 @@ class Event(BaseFeed): class Registration(models.Model): - name = models.CharField(max_length=256) + name = models.CharField(max_length=255) email = models.EmailField() options = JSONField() @@ -49,7 +49,7 @@ 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')) @@ -81,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') @@ -92,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')) @@ -131,8 +131,8 @@ class OhlhafvChallenge(models.Model): ('1.0 L', '1.0 L'), ) - challenger = models.CharField(max_length=256) - victim = models.CharField(max_length=256) + 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) From e18f28ab7f04acd2b5363622fb311bf1b8e4d9b0 Mon Sep 17 00:00:00 2001 From: Aarni Date: Wed, 20 Sep 2017 18:09:09 +0300 Subject: [PATCH 6/6] Migration file for max_length change --- webapp/migrations/0014_auto_20170920_1807.py | 45 ++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 webapp/migrations/0014_auto_20170920_1807.py 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), + ), + ]