diff --git a/symposion/reviews/models.py b/symposion/reviews/models.py index 3de03fa5..ce3c3957 100644 --- a/symposion/reviews/models.py +++ b/symposion/reviews/models.py @@ -287,6 +287,7 @@ class Comment(models.Model): class NotificationTemplate(models.Model): label = models.CharField(max_length=100) + from_address = models.EmailField() subject = models.CharField(max_length=100) body = models.TextField( help_text=( diff --git a/symposion/reviews/views.py b/symposion/reviews/views.py index 0174b28d..44c696f7 100644 --- a/symposion/reviews/views.py +++ b/symposion/reviews/views.py @@ -441,7 +441,7 @@ def result_notification_send(request, section_slug, status): if not request.user.has_perm("reviews.can_manage_%s" % section_slug): return access_not_permitted(request) - if not all([k in request.POST for k in ["proposal_pks", "subject", "body"]]): + if not all([k in request.POST for k in ["proposal_pks", "from_address", "subject", "body"]]): return HttpResponseBadRequest() try: @@ -470,7 +470,7 @@ def result_notification_send(request, section_slug, status): rn.proposal = proposal rn.template = notification_template rn.to_address = proposal.speaker_email - rn.from_address = settings.DEFAULT_FROM_EMAIL + rn.from_address = request.POST["from_address"] rn.subject = request.POST["subject"] rn.body = re.sub(r"{{\s*proposal\s*}}", proposal.title, request.POST["body"]) rn.save() diff --git a/symposion/templates/reviews/result_notification_prepare.html b/symposion/templates/reviews/result_notification_prepare.html index b6e8ff24..9651c665 100644 --- a/symposion/templates/reviews/result_notification_prepare.html +++ b/symposion/templates/reviews/result_notification_prepare.html @@ -27,6 +27,9 @@ {% csrf_token %} + + +