From d85e20a046f645359890823a4544d0683c0c235e Mon Sep 17 00:00:00 2001 From: nsandler1 Date: Mon, 30 Jan 2023 15:21:42 -0500 Subject: [PATCH 1/4] make alias unique --- home/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/models.py b/home/models.py index f1c99c0a..129e42af 100644 --- a/home/models.py +++ b/home/models.py @@ -287,7 +287,7 @@ class ProfessorAlias(Model): class Meta: db_table = "home_professor_alias" - alias = CharField(max_length=100) + alias = CharField(max_length=100, unique=True) professor = ForeignKey(Professor, CASCADE) From 26e7b838a393be6dd25713d4c516ce5332ea334e Mon Sep 17 00:00:00 2001 From: nsandler1 Date: Mon, 30 Jan 2023 15:22:27 -0500 Subject: [PATCH 2/4] create migration file --- .../0007_alter_professoralias_alias.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 home/migrations/0007_alter_professoralias_alias.py diff --git a/home/migrations/0007_alter_professoralias_alias.py b/home/migrations/0007_alter_professoralias_alias.py new file mode 100644 index 00000000..ede12213 --- /dev/null +++ b/home/migrations/0007_alter_professoralias_alias.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.4 on 2023-01-30 20:21 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('home', '0006_delete_auditlog'), + ] + + operations = [ + migrations.AlterField( + model_name='professoralias', + name='alias', + field=models.CharField(max_length=100, unique=True), + ), + ] From b9ea2a3784942827228c10819bb5e4adab7f9a3b Mon Sep 17 00:00:00 2001 From: nsandler1 Date: Tue, 31 Jan 2023 17:20:34 -0500 Subject: [PATCH 3/4] don't filter aliases by professor --- home/views/admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/views/admin.py b/home/views/admin.py index 94df3b57..3d6fc9c0 100644 --- a/home/views/admin.py +++ b/home/views/admin.py @@ -169,7 +169,7 @@ def post(self, request): Grade.unfiltered.filter(professor__id=subject_id).update(professor=merge_target) ProfessorAlias.objects.filter(professor=merge_subject).update(professor=merge_target) - aliases = ProfessorAlias.objects.filter(alias=merge_subject.name, professor=merge_target) + aliases = ProfessorAlias.objects.filter(alias=merge_subject.name) if not aliases.exists(): ProfessorAlias(alias=merge_subject.name, professor=merge_target).save() From 58f212e9126f434a247666ff50d40e9a6b349109 Mon Sep 17 00:00:00 2001 From: nsandler1 Date: Tue, 31 Jan 2023 17:58:10 -0500 Subject: [PATCH 4/4] Revert "don't filter aliases by professor" This reverts commit b9ea2a3784942827228c10819bb5e4adab7f9a3b. --- home/views/admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/views/admin.py b/home/views/admin.py index 3d6fc9c0..94df3b57 100644 --- a/home/views/admin.py +++ b/home/views/admin.py @@ -169,7 +169,7 @@ def post(self, request): Grade.unfiltered.filter(professor__id=subject_id).update(professor=merge_target) ProfessorAlias.objects.filter(professor=merge_subject).update(professor=merge_target) - aliases = ProfessorAlias.objects.filter(alias=merge_subject.name) + aliases = ProfessorAlias.objects.filter(alias=merge_subject.name, professor=merge_target) if not aliases.exists(): ProfessorAlias(alias=merge_subject.name, professor=merge_target).save()