mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-23 15:37:10 +00:00
feat: fixed review not adding if reviewer added after creating
This commit is contained in:
@@ -5,3 +5,6 @@ class CoreConfig(AppConfig):
|
|||||||
name = "apps.review"
|
name = "apps.review"
|
||||||
label = "review"
|
label = "review"
|
||||||
verbose_name = "Проверка"
|
verbose_name = "Проверка"
|
||||||
|
|
||||||
|
def ready(self):
|
||||||
|
import apps.review.signals
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# myapp/signals.py
|
||||||
|
from django.db.models.signals import m2m_changed
|
||||||
|
from django.dispatch import receiver
|
||||||
|
|
||||||
|
from apps.review.models import Review
|
||||||
|
from apps.task.models import CompetitionTask, CompetitionTaskSubmission
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(m2m_changed, sender=CompetitionTask.reviewers.through)
|
||||||
|
def print_reviewers(sender, instance, action, **kwargs):
|
||||||
|
if action in ['post_add', 'post_remove', 'post_clear']:
|
||||||
|
submissions = CompetitionTaskSubmission.objects.filter(task=instance)
|
||||||
|
for submission in submissions:
|
||||||
|
submission.send_on_review()
|
||||||
@@ -182,7 +182,7 @@ class CompetitionTaskSubmission(BaseModel):
|
|||||||
] # да это медленно работает и чо
|
] # да это медленно работает и чо
|
||||||
|
|
||||||
for reviewer in reviewers:
|
for reviewer in reviewers:
|
||||||
Review.objects.create(
|
Review.objects.update_or_create(
|
||||||
reviewer=reviewer,
|
reviewer=reviewer,
|
||||||
submission=self,
|
submission=self,
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user