Compare commits

...

2 Commits

Author SHA1 Message Date
Luca b99264647d feat: add {assignee} placeholder
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/tag Build is failing Details
2024-02-13 15:32:23 +01:00
Luca 48216a8862 feat: add submission assignee model 2024-02-13 15:30:34 +01:00
2 changed files with 24 additions and 0 deletions

View File

@ -105,3 +105,10 @@ class Rating(models.Model):
fields=("submission", "juror"), name="unique_rating" fields=("submission", "juror"), name="unique_rating"
), ),
] ]
class Assignee(models.Model):
submission = models.OneToOneField("submission.Submission", on_delete=models.CASCADE)
user = models.ForeignKey(
"person.User", on_delete=models.CASCADE, related_name="assigned_submissions"
)

View File

@ -1,9 +1,26 @@
from django.dispatch import receiver from django.dispatch import receiver
from django.urls import reverse from django.urls import reverse
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from pretalx.mail.placeholders import SimpleFunctionalMailTextPlaceholder
from pretalx.mail.signals import register_mail_placeholders
from pretalx.orga.signals import nav_event, nav_event_settings from pretalx.orga.signals import nav_event, nav_event_settings
@receiver(register_mail_placeholders)
def pretalx_musicrate_placeholders(sender, **kwargs):
return [
SimpleFunctionalMailTextPlaceholder(
"assignee",
["submission"],
lambda submission: assignee.user.name
if (assignee := submission.assignee) is not None
else "Günther",
"Günther",
_("The name of the submission's assignee"),
)
]
@receiver(nav_event) @receiver(nav_event)
def pretalx_musicrate_qrcode(sender, request, **kwargs): def pretalx_musicrate_qrcode(sender, request, **kwargs):
if not request.user.has_perm("orga.view_submissions", request.event): if not request.user.has_perm("orga.view_submissions", request.event):