From 14ce0c970c6428e2c377ca5d594f99b5a16f95f3 Mon Sep 17 00:00:00 2001 From: "J.-S. Caux" <J.S.Caux@uva.nl> Date: Sat, 10 Nov 2018 06:34:27 +0100 Subject: [PATCH] Accelerate ref deadline updating methods using .update --- .../templates/submissions/select_referee.html | 2 +- submissions/views.py | 22 ++++++++----------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/submissions/templates/submissions/select_referee.html b/submissions/templates/submissions/select_referee.html index f9f5adc18..2e1448349 100644 --- a/submissions/templates/submissions/select_referee.html +++ b/submissions/templates/submissions/select_referee.html @@ -73,7 +73,7 @@ <div class="row"> <div class="col-12"> {% if workdays_left_to_report < 15 %} - <h4 class="highlight p-1"><strong class="text-danger">Warning: there are {{ workdays_left_to_report }} days left before the refereeing deadline.</strong><br/><br/>Consider resetting the deadline at the <a href="{% url 'submissions:editorial_page' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr %}">Editorial Page</a> before inviting a referee.</h4> + <h4 class="highlight p-1"><strong class="text-danger">Warning: there are {{ workdays_left_to_report }} working days left before the refereeing deadline.</strong><br/><br/>Consider resetting the deadline at the <a href="{% url 'submissions:editorial_page' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr %}">Editorial Page</a> before inviting a referee.</h4> {% endif %} {% if profiles_found %} <h3>Matching people in our database:</h3> diff --git a/submissions/views.py b/submissions/views.py index e6d0ede8e..a9fc47ea3 100644 --- a/submissions/views.py +++ b/submissions/views.py @@ -1181,12 +1181,11 @@ def extend_refereeing_deadline(request, identifier_w_vn_nr, days): submission = get_object_or_404(Submission.objects.filter_for_eic(request.user), preprint__identifier_w_vn_nr=identifier_w_vn_nr) - submission.reporting_deadline += datetime.timedelta(days=int(days)) - submission.open_for_reporting = True - submission.open_for_commenting = True - submission.status = STATUS_EIC_ASSIGNED - submission.latest_activity = timezone.now() - submission.save() + Submission.objects.filter(pk=submission.id).update( + reporting_deadline=submission.reporting_deadline + datetime.timedelta(days=int(days)), + open_for_reporting=True, + open_for_commenting=True, + latest_activity=timezone.now()) submission.add_general_event('A new refereeing deadline is set.') return redirect(reverse('submissions:editorial_page', @@ -1204,13 +1203,10 @@ def set_refereeing_deadline(request, identifier_w_vn_nr): form = SetRefereeingDeadlineForm(request.POST or None) if form.is_valid(): - submission.reporting_deadline = form.cleaned_data['deadline'] - if form.cleaned_data['deadline'] > timezone.now().date(): - submission.open_for_reporting = True - submission.open_for_commenting = True - submission.latest_activity = timezone.now() - # submission.status = STATUS_EIC_ASSIGNED # This is dangerous as shit. - submission.save() + Submission.objects.filter(pk=submission.id).update( + reporting_deadline=form.cleaned_data['deadline'], + open_for_reporting=(form.cleaned_data['deadline'] >= timezone.now().date()), + latest_activity = timezone.now()) submission.add_general_event('A new refereeing deadline is set.') messages.success(request, 'New reporting deadline set.') else: -- GitLab