diff --git a/housewars/migrations/0001_initial.py b/housewars/migrations/0001_initial.py index ea16bd5..4d2710c 100644 --- a/housewars/migrations/0001_initial.py +++ b/housewars/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.0.4 on 2022-05-16 23:29 +# Generated by Django 4.0.4 on 2022-09-03 04:48 from django.db import migrations, models import django.db.models.deletion @@ -17,20 +17,84 @@ class Migration(migrations.Migration): fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), - ('quota', models.IntegerField()), - ('time', models.IntegerField(choices=[(30, '30'), (60, '60')])), + ('default_quota', models.IntegerField(default=0)), + ('time', models.IntegerField(blank=True, choices=[(30, '30'), (60, '60')], null=True)), + ('password', models.CharField(blank=True, default=None, max_length=100, null=True)), + ], + options={ + 'verbose_name_plural': 'Activities', + }, + ), + migrations.CreateModel( + name='Award', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=15)), + ('points', models.IntegerField(default=0)), + ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.activity')), ], ), migrations.CreateModel( - name='Entry', + name='House', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100)), + ('points', models.IntegerField(default=0)), + ], + ), + migrations.CreateModel( + name='UserEntry', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('first_name', models.CharField(max_length=100)), ('last_name', models.CharField(max_length=100)), - ('email', models.EmailField(max_length=100)), - ('grade', models.CharField(choices=[('9th', '9Th'), ('10th', '10Th'), ('11th', '11Th'), ('12th', '12Th')], max_length=5)), + ('email', models.EmailField(max_length=100, unique=True)), + ('grade', models.IntegerField(choices=[(9, '9th/Freshman'), (10, '10th/Sophomore'), (11, '11th/Junior'), (12, '12th/Senior')])), ('activity1', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activity1', to='housewars.activity')), - ('activity2', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activity2', to='housewars.activity')), + ('activity2', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='activity2', to='housewars.activity')), + ('house', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.house')), ], + options={ + 'verbose_name_plural': 'User Entries', + }, + ), + migrations.CreateModel( + name='PointsEntry', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('password', models.CharField(blank=True, max_length=15)), + ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.activity')), + ('award', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.award')), + ('house', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.house')), + ], + options={ + 'verbose_name_plural': 'Point Entries', + }, + ), + migrations.CreateModel( + name='Teacher', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('first_name', models.CharField(max_length=100)), + ('last_name', models.CharField(max_length=100)), + ('grade', models.IntegerField(choices=[(9, '9th/Freshman'), (10, '10th/Sophomore'), (11, '11th/Junior'), (12, '12th/Senior')])), + ('activity', models.OneToOneField(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='teacher', to='housewars.activity')), + ('house', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='teacher', to='housewars.house')), + ], + options={ + 'unique_together': {('house', 'grade')}, + }, + ), + migrations.CreateModel( + name='Quota', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('quota', models.IntegerField(default=0)), + ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.activity')), + ('house', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.house')), + ], + options={ + 'unique_together': {('activity', 'house')}, + }, ), ] diff --git a/housewars/migrations/0002_alter_activity_table.py b/housewars/migrations/0002_alter_activity_table.py deleted file mode 100644 index 4ee88df..0000000 --- a/housewars/migrations/0002_alter_activity_table.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-16 23:37 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0001_initial'), - ] - - operations = [ - migrations.AlterModelTable( - name='activity', - table='Activities', - ), - ] diff --git a/housewars/migrations/0002_alter_award_activity_alter_pointsentry_activity_and_more.py b/housewars/migrations/0002_alter_award_activity_alter_pointsentry_activity_and_more.py new file mode 100644 index 0000000..7c07013 --- /dev/null +++ b/housewars/migrations/0002_alter_award_activity_alter_pointsentry_activity_and_more.py @@ -0,0 +1,30 @@ +# Generated by Django 4.0.4 on 2022-09-03 05:12 + +from django.db import migrations, models +import django.db.models.deletion +import django.db.models.expressions + + +class Migration(migrations.Migration): + + dependencies = [ + ('housewars', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='award', + name='activity', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='awards', to='housewars.activity'), + ), + migrations.AlterField( + model_name='pointsentry', + name='activity', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='Activity', to='housewars.activity'), + ), + migrations.AlterField( + model_name='pointsentry', + name='award', + field=models.ForeignKey(limit_choices_to=models.Q(('activity__award', django.db.models.expressions.F('activity'))), on_delete=django.db.models.deletion.CASCADE, to='housewars.award'), + ), + ] diff --git a/housewars/migrations/0003_alter_activity_options_alter_entry_options_and_more.py b/housewars/migrations/0003_alter_activity_options_alter_entry_options_and_more.py deleted file mode 100644 index 5efbab9..0000000 --- a/housewars/migrations/0003_alter_activity_options_alter_entry_options_and_more.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-16 23:38 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0002_alter_activity_table'), - ] - - operations = [ - migrations.AlterModelOptions( - name='activity', - options={'verbose_name_plural': 'Activities'}, - ), - migrations.AlterModelOptions( - name='entry', - options={'verbose_name_plural': 'Entries'}, - ), - migrations.AlterModelTable( - name='activity', - table=None, - ), - ] diff --git a/housewars/migrations/0003_alter_award_activity_alter_pointsentry_award.py b/housewars/migrations/0003_alter_award_activity_alter_pointsentry_award.py new file mode 100644 index 0000000..6d84664 --- /dev/null +++ b/housewars/migrations/0003_alter_award_activity_alter_pointsentry_award.py @@ -0,0 +1,25 @@ +# Generated by Django 4.0.4 on 2022-09-03 05:46 + +from django.db import migrations, models +import django.db.models.deletion +import smart_selects.db_fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('housewars', '0002_alter_award_activity_alter_pointsentry_activity_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='award', + name='activity', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.activity'), + ), + migrations.AlterField( + model_name='pointsentry', + name='award', + field=smart_selects.db_fields.ChainedForeignKey(auto_choose=True, blank=True, chained_field='activity', chained_model_field='activity__name', null=True, on_delete=django.db.models.deletion.CASCADE, to='housewars.award'), + ), + ] diff --git a/housewars/migrations/0004_alter_entry_grade.py b/housewars/migrations/0004_alter_entry_grade.py deleted file mode 100644 index 052f93e..0000000 --- a/housewars/migrations/0004_alter_entry_grade.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-17 02:04 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0003_alter_activity_options_alter_entry_options_and_more'), - ] - - operations = [ - migrations.AlterField( - model_name='entry', - name='grade', - field=models.IntegerField(choices=[(9, '9th/Freshman'), (10, '10th/Sophomore'), (11, '11th/Junior'), (12, '12th/Senior')]), - ), - ] diff --git a/housewars/migrations/0005_alter_entry_activity2.py b/housewars/migrations/0005_alter_entry_activity2.py deleted file mode 100644 index 343cb50..0000000 --- a/housewars/migrations/0005_alter_entry_activity2.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-17 12:43 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0004_alter_entry_grade'), - ] - - operations = [ - migrations.AlterField( - model_name='entry', - name='activity2', - field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='activity2', to='housewars.activity'), - ), - ] diff --git a/housewars/migrations/0006_entry_house.py b/housewars/migrations/0006_entry_house.py deleted file mode 100644 index 0d3c4f8..0000000 --- a/housewars/migrations/0006_entry_house.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-17 13:09 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0005_alter_entry_activity2'), - ] - - operations = [ - migrations.AddField( - model_name='entry', - name='house', - field=models.CharField(choices=[('HAWK', 'Hawk'), ('GREATGREY', 'Great Grey'), ('EAGLE', 'Eagle'), ('SNOWY', 'Snowy')], default='HAWK', max_length=15), - preserve_default=False, - ), - ] diff --git a/housewars/migrations/0007_alter_entry_activity2.py b/housewars/migrations/0007_alter_entry_activity2.py deleted file mode 100644 index 39ad63f..0000000 --- a/housewars/migrations/0007_alter_entry_activity2.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-17 14:28 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0006_entry_house'), - ] - - operations = [ - migrations.AlterField( - model_name='entry', - name='activity2', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='activity2', to='housewars.activity'), - ), - ] diff --git a/housewars/migrations/0008_activity_session1_signups_activity_session2_signups.py b/housewars/migrations/0008_activity_session1_signups_activity_session2_signups.py deleted file mode 100644 index 4cace67..0000000 --- a/housewars/migrations/0008_activity_session1_signups_activity_session2_signups.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-17 15:17 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0007_alter_entry_activity2'), - ] - - operations = [ - migrations.AddField( - model_name='activity', - name='session1_signups', - field=models.IntegerField(default=10), - preserve_default=False, - ), - migrations.AddField( - model_name='activity', - name='session2_signups', - field=models.IntegerField(default=10), - preserve_default=False, - ), - ] diff --git a/housewars/migrations/0009_alter_activity_session1_signups_and_more.py b/housewars/migrations/0009_alter_activity_session1_signups_and_more.py deleted file mode 100644 index e281053..0000000 --- a/housewars/migrations/0009_alter_activity_session1_signups_and_more.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-17 15:19 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0008_activity_session1_signups_activity_session2_signups'), - ] - - operations = [ - migrations.AlterField( - model_name='activity', - name='session1_signups', - field=models.IntegerField(default=0), - ), - migrations.AlterField( - model_name='activity', - name='session2_signups', - field=models.IntegerField(default=0), - ), - ] diff --git a/housewars/migrations/0010_remove_activity_session1_signups_and_more.py b/housewars/migrations/0010_remove_activity_session1_signups_and_more.py deleted file mode 100644 index d83a859..0000000 --- a/housewars/migrations/0010_remove_activity_session1_signups_and_more.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-17 22:36 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0009_alter_activity_session1_signups_and_more'), - ] - - operations = [ - migrations.RemoveField( - model_name='activity', - name='session1_signups', - ), - migrations.RemoveField( - model_name='activity', - name='session2_signups', - ), - ] diff --git a/housewars/migrations/0011_house_alter_activity_managers_alter_entry_house.py b/housewars/migrations/0011_house_alter_activity_managers_alter_entry_house.py deleted file mode 100644 index 5a18c1c..0000000 --- a/housewars/migrations/0011_house_alter_activity_managers_alter_entry_house.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-18 22:10 - -from django.db import migrations, models -import django.db.models.deletion -import django.db.models.manager - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0010_remove_activity_session1_signups_and_more'), - ] - - operations = [ - migrations.CreateModel( - name='House', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ], - ), - migrations.AlterModelManagers( - name='activity', - managers=[ - ('session1', django.db.models.manager.Manager()), - ], - ), - migrations.AlterField( - model_name='entry', - name='house', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.house'), - ), - ] diff --git a/housewars/migrations/0012_alter_activity_managers_alter_entry_house_and_more.py b/housewars/migrations/0012_alter_activity_managers_alter_entry_house_and_more.py deleted file mode 100644 index 9a8a288..0000000 --- a/housewars/migrations/0012_alter_activity_managers_alter_entry_house_and_more.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-19 00:21 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0011_house_alter_activity_managers_alter_entry_house'), - ] - - operations = [ - migrations.AlterModelManagers( - name='activity', - managers=[ - ], - ), - migrations.AlterField( - model_name='entry', - name='house', - field=models.CharField(choices=[('HAWK', 'Hawk'), ('GREATGREY', 'Great Grey'), ('EAGLE', 'Eagle'), ('SNOWY', 'Snowy')], max_length=15), - ), - migrations.DeleteModel( - name='House', - ), - ] diff --git a/housewars/migrations/0013_house_pointsentry_userentry_delete_entry.py b/housewars/migrations/0013_house_pointsentry_userentry_delete_entry.py deleted file mode 100644 index f3ab584..0000000 --- a/housewars/migrations/0013_house_pointsentry_userentry_delete_entry.py +++ /dev/null @@ -1,59 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-21 18:15 - -from django.db import migrations, models -import django.db.models.deletion -import django.db.models.manager - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0012_alter_activity_managers_alter_entry_house_and_more'), - ] - - operations = [ - migrations.CreateModel( - name='House', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ('points', models.IntegerField()), - ], - ), - migrations.CreateModel( - name='PointsEntry', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=100)), - ('points', models.IntegerField()), - ('reason', models.TextField()), - ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.activity')), - ('house', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.house')), - ], - options={ - 'verbose_name_plural': 'Point Entries', - }, - ), - migrations.CreateModel( - name='UserEntry', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('first_name', models.CharField(max_length=100)), - ('last_name', models.CharField(max_length=100)), - ('email', models.EmailField(max_length=100)), - ('grade', models.IntegerField(choices=[(9, '9th/Freshman'), (10, '10th/Sophomore'), (11, '11th/Junior'), (12, '12th/Senior')])), - ('activity1', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activity1', to='housewars.activity')), - ('activity2', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='activity2', to='housewars.activity')), - ('house', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.house')), - ], - options={ - 'verbose_name_plural': 'User Entries', - }, - managers=[ - ('hawk', django.db.models.manager.Manager()), - ], - ), - migrations.DeleteModel( - name='Entry', - ), - ] diff --git a/housewars/migrations/0014_alter_pointsentry_managers.py b/housewars/migrations/0014_alter_pointsentry_managers.py deleted file mode 100644 index a133ec3..0000000 --- a/housewars/migrations/0014_alter_pointsentry_managers.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-21 18:17 - -from django.db import migrations -import django.db.models.manager - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0013_house_pointsentry_userentry_delete_entry'), - ] - - operations = [ - migrations.AlterModelManagers( - name='pointsentry', - managers=[ - ('hawk', django.db.models.manager.Manager()), - ], - ), - ] diff --git a/housewars/migrations/0015_alter_pointsentry_managers.py b/housewars/migrations/0015_alter_pointsentry_managers.py deleted file mode 100644 index bd05edc..0000000 --- a/housewars/migrations/0015_alter_pointsentry_managers.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-21 18:33 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0014_alter_pointsentry_managers'), - ] - - operations = [ - migrations.AlterModelManagers( - name='pointsentry', - managers=[ - ], - ), - ] diff --git a/housewars/migrations/0016_alter_userentry_managers_and_more.py b/housewars/migrations/0016_alter_userentry_managers_and_more.py deleted file mode 100644 index b5da7c9..0000000 --- a/housewars/migrations/0016_alter_userentry_managers_and_more.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-21 20:18 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0015_alter_pointsentry_managers'), - ] - - operations = [ - migrations.AlterModelManagers( - name='userentry', - managers=[ - ], - ), - migrations.RenameField( - model_name='pointsentry', - old_name='reason', - new_name='comment', - ), - ] diff --git a/housewars/migrations/0017_alter_house_points_alter_pointsentry_points.py b/housewars/migrations/0017_alter_house_points_alter_pointsentry_points.py deleted file mode 100644 index 961f8ec..0000000 --- a/housewars/migrations/0017_alter_house_points_alter_pointsentry_points.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.0.4 on 2022-05-21 20:31 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0016_alter_userentry_managers_and_more'), - ] - - operations = [ - migrations.AlterField( - model_name='house', - name='points', - field=models.IntegerField(default=0), - ), - migrations.AlterField( - model_name='pointsentry', - name='points', - field=models.IntegerField(default=0), - ), - ] diff --git a/housewars/migrations/0018_alter_pointsentry_comment.py b/housewars/migrations/0018_alter_pointsentry_comment.py deleted file mode 100644 index 8242890..0000000 --- a/housewars/migrations/0018_alter_pointsentry_comment.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0.4 on 2022-08-08 22:45 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0017_alter_house_points_alter_pointsentry_points'), - ] - - operations = [ - migrations.AlterField( - model_name='pointsentry', - name='comment', - field=models.TextField(blank=True), - ), - ] diff --git a/housewars/migrations/0019_alter_pointsentry_comment.py b/housewars/migrations/0019_alter_pointsentry_comment.py deleted file mode 100644 index 4deb913..0000000 --- a/housewars/migrations/0019_alter_pointsentry_comment.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.0.4 on 2022-08-08 22:46 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0018_alter_pointsentry_comment'), - ] - - operations = [ - migrations.AlterField( - model_name='pointsentry', - name='comment', - field=models.TextField(blank=True, default=''), - ), - ] diff --git a/housewars/migrations/0020_teacher.py b/housewars/migrations/0020_teacher.py deleted file mode 100644 index 3fe7c05..0000000 --- a/housewars/migrations/0020_teacher.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 4.0.4 on 2022-08-30 14:13 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0019_alter_pointsentry_comment'), - ] - - operations = [ - migrations.CreateModel( - name='Teacher', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('first_name', models.CharField(max_length=100)), - ('last_name', models.CharField(max_length=100)), - ('grade', models.IntegerField(choices=[(9, '9th/Freshman'), (10, '10th/Sophomore'), (11, '11th/Junior'), (12, '12th/Senior')])), - ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.activity')), - ('house', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='housewars.house')), - ], - ), - ] diff --git a/housewars/migrations/0021_alter_teacher_activity_alter_teacher_house.py b/housewars/migrations/0021_alter_teacher_activity_alter_teacher_house.py deleted file mode 100644 index b0e520e..0000000 --- a/housewars/migrations/0021_alter_teacher_activity_alter_teacher_house.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.0.4 on 2022-08-30 21:54 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0020_teacher'), - ] - - operations = [ - migrations.AlterField( - model_name='teacher', - name='activity', - field=models.OneToOneField(on_delete=django.db.models.deletion.DO_NOTHING, to='housewars.activity'), - ), - migrations.AlterField( - model_name='teacher', - name='house', - field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='housewars.house'), - ), - ] diff --git a/housewars/migrations/0022_alter_teacher_activity_alter_teacher_house.py b/housewars/migrations/0022_alter_teacher_activity_alter_teacher_house.py deleted file mode 100644 index 40893a1..0000000 --- a/housewars/migrations/0022_alter_teacher_activity_alter_teacher_house.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.0.4 on 2022-08-30 22:02 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0021_alter_teacher_activity_alter_teacher_house'), - ] - - operations = [ - migrations.AlterField( - model_name='teacher', - name='activity', - field=models.OneToOneField(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='activity', to='housewars.activity'), - ), - migrations.AlterField( - model_name='teacher', - name='house', - field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='house', to='housewars.house'), - ), - ] diff --git a/housewars/migrations/0023_alter_teacher_activity_alter_teacher_house.py b/housewars/migrations/0023_alter_teacher_activity_alter_teacher_house.py deleted file mode 100644 index 27c381c..0000000 --- a/housewars/migrations/0023_alter_teacher_activity_alter_teacher_house.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.0.4 on 2022-08-30 22:04 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0022_alter_teacher_activity_alter_teacher_house'), - ] - - operations = [ - migrations.AlterField( - model_name='teacher', - name='activity', - field=models.OneToOneField(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='teacher', to='housewars.activity'), - ), - migrations.AlterField( - model_name='teacher', - name='house', - field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='teacher', to='housewars.house'), - ), - ] diff --git a/housewars/migrations/0024_remove_pointsentry_comment_pointsentry_password.py b/housewars/migrations/0024_remove_pointsentry_comment_pointsentry_password.py deleted file mode 100644 index 0dbee29..0000000 --- a/housewars/migrations/0024_remove_pointsentry_comment_pointsentry_password.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 4.0.4 on 2022-08-31 02:15 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('housewars', '0023_alter_teacher_activity_alter_teacher_house'), - ] - - operations = [ - migrations.RemoveField( - model_name='pointsentry', - name='comment', - ), - migrations.AddField( - model_name='pointsentry', - name='password', - field=models.CharField(blank=True, default=None, max_length=15, null=True), - ), - ] diff --git a/housewars/models/Activity.py b/housewars/models/Activity.py index d37cddf..ec3d48c 100644 --- a/housewars/models/Activity.py +++ b/housewars/models/Activity.py @@ -12,7 +12,10 @@ class Activity(models.Model): name = models.CharField(max_length=100) quota = models.IntegerField() - time = models.IntegerField(choices=TimeslotChoices) + time = models.IntegerField( + choices=TimeslotChoices, blank=True, null=True, default=None) + password = models.CharField( + max_length=100, blank=True, null=True, default=None) def __str__(self): return f"{self.name} ({self.time})" diff --git a/housewars/models/Teacher.py b/housewars/models/Teacher.py index 4cacc7e..5775eef 100644 --- a/housewars/models/Teacher.py +++ b/housewars/models/Teacher.py @@ -3,6 +3,9 @@ from . import House, Activity class Teacher(models.Model): + class Meta: + unique_together = [['house', 'grade']] + GradeChoices = ( (9, '9th/Freshman'), (10, '10th/Sophomore'), diff --git a/housewars/models/UserEntry.py b/housewars/models/UserEntry.py index 3d228c2..420c195 100644 --- a/housewars/models/UserEntry.py +++ b/housewars/models/UserEntry.py @@ -1,8 +1,8 @@ from django.db import models +from django.core.exceptions import ValidationError from ..managers import (EagleEntryManager, EntryManager, GreatGreyEntryManager, HawkEntryManager, SnowyEntryManager) - from . import House, Activity @@ -25,7 +25,7 @@ class UserEntry(models.Model): first_name = models.CharField(max_length=100) last_name = models.CharField(max_length=100) - email = models.EmailField(max_length=100) + email = models.EmailField(max_length=100, unique=True) grade = models.IntegerField(choices=GradeChoices) house = models.ForeignKey( House, on_delete=models.CASCADE) @@ -34,9 +34,17 @@ class UserEntry(models.Model): activity2 = models.ForeignKey( Activity, related_name='activity2', on_delete=models.CASCADE, blank=True, null=True) + @property + def mentor(self): + return self.house.teacher.get(grade=self.grade) + def __str__(self): return f"{self.first_name} {self.last_name}" + def clean(self): + if (self.activity1.time == None or self.activity2.time == None): + raise ValidationError('You cannot sign up for a null activity.') + def save(self, *args, **kwargs): self.full_clean() return super().save(*args, **kwargs)