diff --git a/submissions/views.py b/submissions/views.py index 0a6480786fd906afeba83d1023c13f5776ca02d2..d897e3adb0145101134090d0461cff908cfe6eba 100644 --- a/submissions/views.py +++ b/submissions/views.py @@ -829,14 +829,23 @@ def accept_or_decline_ref_invitation_ack(request, invitation_id): invitation.date_responded = timezone.now() if form.cleaned_data['accept'] == 'True': invitation.accepted = True + decision_string = 'accepted' else: invitation.accepted = False + decision_string = 'declined' invitation.refusal_reason = form.cleaned_data['refusal_reason'] invitation.save() SubmissionUtils.load({'invitation': invitation}, request) SubmissionUtils.email_referee_response_to_EIC() SubmissionUtils.email_referee_in_response_to_decision() + # Add SubmissionEvent's + invitation.submission.add_event_for_author('A referee has %s the refereeing invitation.' + % decision_string) + invitation.submission.add_event_for_eic('Referee %s has %s the refereeing invitation.' + % (invitation.referee.user.last_name, + decision_string)) + context = {'invitation': invitation} return render(request, 'submissions/accept_or_decline_ref_invitation_ack.html', context) @@ -852,6 +861,13 @@ def decline_ref_invitation(request, invitation_key): invitation.save() SubmissionUtils.load({'invitation': invitation}, request) SubmissionUtils.email_referee_response_to_EIC() + + # Add SubmissionEvent's + invitation.submission.add_event_for_author('A referee has declined the' + ' refereeing invitation.') + invitation.submission.add_event_for_eic('Referee %s has declined the refereeing ' + 'invitation.' % invitation.referee.user.last_name) + messages.success(request, 'Thank you for informing us that you will not provide a Report.') return redirect(reverse('scipost:index')) context = {'invitation': invitation, 'form': form} @@ -872,6 +888,12 @@ def cancel_ref_invitation(request, arxiv_identifier_w_vn_nr, invitation_id): invitation.save() SubmissionUtils.load({'invitation': invitation}) SubmissionUtils.send_ref_cancellation_email() + + # Add SubmissionEvents + invitation.submission.add_event_for_author('A referee invitation has been cancelled.') + invitation.submission.add_event_for_eic('Referee invitation for %s has been cancelled.' + % invitation.last_name) + return redirect(reverse('submissions:editorial_page', kwargs={'arxiv_identifier_w_vn_nr': arxiv_identifier_w_vn_nr})) @@ -945,6 +967,8 @@ def close_refereeing_round(request, arxiv_identifier_w_vn_nr): submission.reporting_deadline = timezone.now() submission.latest_activity = timezone.now() submission.save() + submission.add_general_event('Refereeing round is closed.') + return redirect(reverse('submissions:editorial_page', kwargs={'arxiv_identifier_w_vn_nr': arxiv_identifier_w_vn_nr})) @@ -1052,6 +1076,10 @@ def eic_recommendation(request, arxiv_identifier_w_vn_nr): submission.open_for_reporting = False submission.save() + # Add SubmissionEvents + submission.add_general_event('An Editorial Recommendation has been formulated: %s.' + % recommendation.get_recommendation_display()) + # The EIC has fulfilled this editorial assignment. assignment = get_object_or_404(EditorialAssignment, submission=submission, to=request.user.contributor) @@ -1218,6 +1246,11 @@ def prepare_for_voting(request, rec_id): recommendation.submission.status = 'put_to_EC_voting' recommendation.submission.save() messages.success(request, 'We have registered your selection.') + + # Add SubmissionEvents + recommendation.submission.add_general_event('The Editorial Recommendation is ' + 'put to vote.') + return redirect(reverse('submissions:editorial_page', args=[recommendation.submission.arxiv_identifier_w_vn_nr])) else: