Skip to content
Snippets Groups Projects
Verified Commit d193a0e8 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Fix unique constraint on personal notes

parent 1f2390ad
No related branches found
No related tags found
1 merge request!225Resolve "Lesson documentations are not unique [Ticket#75177]"
Pipeline #29553 passed with warnings
...@@ -13,6 +13,7 @@ Fixed ...@@ -13,6 +13,7 @@ Fixed
~~~~~ ~~~~~
* Fix problems with displaying dates for events in the week and lesson view. * Fix problems with displaying dates for events in the week and lesson view.
* Unique constraint on lesson documentations and personal notes did not work and caused racey duplicates.
`2.0rc5`_ - 2021-08-12 `2.0rc5`_ - 2021-08-12
---------------------- ----------------------
...@@ -22,7 +23,6 @@ Fixed ...@@ -22,7 +23,6 @@ Fixed
* The _Delete personal note_ action didn't work due to wrong usage of ``bulk_update``. * The _Delete personal note_ action didn't work due to wrong usage of ``bulk_update``.
* Groups and persons were shown multiple times in some forms due to filtering by permissions. * Groups and persons were shown multiple times in some forms due to filtering by permissions.
* Unique constraint on lesson documentations did not work and caused racey duplicates.
`2.0rc4`_ - 2021-08-01 `2.0rc4`_ - 2021-08-01
---------------------- ----------------------
......
# Generated by Django 3.2.4 on 2021-08-29 13:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('alsijil', '0014_fix_unique_lesson_documentation'),
]
operations = [
migrations.RemoveConstraint(
model_name='personalnote',
name='unique_personal_note_per_object',
),
migrations.AddConstraint(
model_name='personalnote',
constraint=models.UniqueConstraint(fields=('week', 'year', 'lesson_period', 'person'), name='unique_note_per_lp'),
),
migrations.AddConstraint(
model_name='personalnote',
constraint=models.UniqueConstraint(fields=('week', 'year', 'event', 'person'), name='unique_note_per_ev'),
),
migrations.AddConstraint(
model_name='personalnote',
constraint=models.UniqueConstraint(fields=('week', 'year', 'extra_lesson', 'person'), name='unique_note_per_el'),
),
]
...@@ -283,8 +283,13 @@ class PersonalNote(RegisterObjectRelatedMixin, ExtensibleModel): ...@@ -283,8 +283,13 @@ class PersonalNote(RegisterObjectRelatedMixin, ExtensibleModel):
check=lesson_related_constraint_q, name="one_relation_only_personal_note" check=lesson_related_constraint_q, name="one_relation_only_personal_note"
), ),
models.UniqueConstraint( models.UniqueConstraint(
fields=("lesson_period", "week", "year", "event", "extra_lesson"), fields=("week", "year", "lesson_period", "person"), name="unique_note_per_lp",
name="unique_personal_note_per_object", ),
models.UniqueConstraint(
fields=("week", "year", "event", "person"), name="unique_note_per_ev",
),
models.UniqueConstraint(
fields=("week", "year", "extra_lesson", "person"), name="unique_note_per_el",
), ),
] ]
...@@ -373,16 +378,13 @@ class LessonDocumentation(RegisterObjectRelatedMixin, ExtensibleModel): ...@@ -373,16 +378,13 @@ class LessonDocumentation(RegisterObjectRelatedMixin, ExtensibleModel):
check=lesson_related_constraint_q, name="one_relation_only_lesson_documentation", check=lesson_related_constraint_q, name="one_relation_only_lesson_documentation",
), ),
models.UniqueConstraint( models.UniqueConstraint(
fields=("week", "year", "lesson_period"), fields=("week", "year", "lesson_period"), name="unique_documentation_per_lp",
name="unique_documentation_per_lp",
), ),
models.UniqueConstraint( models.UniqueConstraint(
fields=("week", "year", "event"), fields=("week", "year", "event"), name="unique_documentation_per_ev",
name="unique_documentation_per_ev",
), ),
models.UniqueConstraint( models.UniqueConstraint(
fields=("week", "year", "extra_lesson"), fields=("week", "year", "extra_lesson"), name="unique_documentation_per_el",
name="unique_documentation_per_el",
), ),
] ]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment