From e92af7e50bf565a45026434de3aa8462c0833763 Mon Sep 17 00:00:00 2001 From: Todd Dembrey <todd.dembrey@torchbox.com> Date: Thu, 23 Aug 2018 16:21:53 +0100 Subject: [PATCH] Refactor the messaging to send less messages --- opentech/apply/determinations/views.py | 2 +- opentech/apply/funds/views.py | 30 ++++++++++++++------------ 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/opentech/apply/determinations/views.py b/opentech/apply/determinations/views.py index 7fbe4471a..035039a34 100644 --- a/opentech/apply/determinations/views.py +++ b/opentech/apply/determinations/views.py @@ -97,7 +97,7 @@ class DeterminationCreateOrUpdateView(CreateOrUpdateView): submission=self.submission, ) - self.submission.perform_transition(transition, self.request.user, request=self.request) + self.submission.perform_transition(transition, self.request.user, request=self.request, notify=False) return HttpResponseRedirect(self.submission.get_absolute_url()) diff --git a/opentech/apply/funds/views.py b/opentech/apply/funds/views.py index 267bfeaa8..3407305a6 100644 --- a/opentech/apply/funds/views.py +++ b/opentech/apply/funds/views.py @@ -1,12 +1,14 @@ from copy import copy from django.contrib.auth.decorators import login_required +from django.contrib import messages from django.core.exceptions import PermissionDenied from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404 from django.urls import reverse_lazy from django.utils.decorators import method_decorator from django.utils.text import mark_safe +from django.utils.translation import ugettext_lazy as _ from django.views.generic import DetailView, ListView, UpdateView from django_filters.views import FilterView @@ -28,6 +30,7 @@ from .differ import compare from .forms import ProgressSubmissionForm, UpdateReviewersForm, UpdateSubmissionLeadForm from .models import ApplicationSubmission, ApplicationRevision from .tables import AdminSubmissionsTable, SubmissionFilter, SubmissionFilterAndSearch +from .workflow import STAGE_CHANGE_ACTIONS @method_decorator(staff_required, name='dispatch') @@ -82,18 +85,7 @@ class ProgressSubmissionView(DelegatedViewMixin, UpdateView): 'apply:submissions:determinations:form', args=(form.instance.id,)) + "?action=" + action) - submitting_proposal = self.object.phase.name == 'proposal_draft' and action == 'proposal_discussion' - - self.object.perform_transition(action, self.request.user, request=self.request, notify=not submitting_proposal) - - if submitting_proposal: - messenger( - MESSAGES.PROPOSAL_SUBMITTED, - request=self.request, - user=self.request.user, - submission=self.object.instance, - ) - + self.object.perform_transition(action, self.request.user, request=self.request) return super().form_valid(form) @@ -320,10 +312,20 @@ class ApplicantSubmissionEditView(BaseSubmissionEditView): if 'save' in self.request.POST: self.object.create_revision(draft=True, by=self.request.user) + messages.success(self.request, _('Submission saved successfully')) return self.form_invalid(form) created = self.object.create_revision(by=self.request.user) - if created: + submitting_proposal = self.object.phase.name in STAGE_CHANGE_ACTIONS + + if submitting_proposal: + messenger( + MESSAGES.PROPOSAL_SUBMITTED, + request=self.request, + user=self.request.user, + submission=self.object.instance, + ) + elif created: messenger( MESSAGES.APPLICANT_EDIT, request=self.request, @@ -338,7 +340,7 @@ class ApplicantSubmissionEditView(BaseSubmissionEditView): transition.target, self.request.user, request=self.request, - notify=not created, # Use the APPLICANT_EDIT notification + notify=not (created or submitting_proposal), # Use the other notification ) return HttpResponseRedirect(self.get_success_url()) -- GitLab