From 3fd9f82ddeeda3678d2e310cd80d1c9020460c3e Mon Sep 17 00:00:00 2001 From: "J.-S. Caux" <J.S.Caux@uva.nl> Date: Thu, 17 Oct 2019 19:49:13 +0200 Subject: [PATCH] Add ALT_REC_CHOICES with reconsult and seek additional referees --- scipost/templates/scipost/EdCol_by-laws.html | 13 +++++++++---- submissions/constants.py | 15 ++++++++++++++- submissions/forms.py | 4 ++-- .../migrations/0075_auto_20191017_1942.py | 18 ++++++++++++++++++ submissions/models.py | 4 ++-- .../submissions/pool/recommendation.html | 6 +++++- 6 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 submissions/migrations/0075_auto_20191017_1942.py diff --git a/scipost/templates/scipost/EdCol_by-laws.html b/scipost/templates/scipost/EdCol_by-laws.html index 32dd0f229..78bfc8bd6 100644 --- a/scipost/templates/scipost/EdCol_by-laws.html +++ b/scipost/templates/scipost/EdCol_by-laws.html @@ -441,10 +441,15 @@ </p> <p> If voting Fellows disagree with the recommendation, they are asked to specify - which recommendation(s) they would have supported. - A voting Fellow can thus disagree with a recommendation to publish and - specify that they think the paper should be rejected. Alternately, - the voting Fellow might also think that a higher-grade recommendation would + which recommendation(s) they would have supported; they can alternately + specify that they think previous referees should be reconsulted, or that + new referees should be found (this can happen in particular when a voting + Fellow disagrees with a direct recommendation). + </p> + <p> + For example, a voting Fellow can thus disagree with a recommendation to + publish and specify that they think the paper should be rejected. Alternately, + the voting Fellow might think that a higher-grade recommendation would be more appropriate: a voting Fellow can thus disagree with a recommendation for publication in a flagship journal because they deem the paper to be appropriate for Selections. diff --git a/submissions/constants.py b/submissions/constants.py index c2a8fe93c..ed406a32e 100644 --- a/submissions/constants.py +++ b/submissions/constants.py @@ -197,7 +197,6 @@ EVENT_TYPES = ( ) - # Editorial recommendations EIC_REC_PUBLISH = 1 EIC_REC_MINOR_REVISION = -1 @@ -210,6 +209,20 @@ EIC_REC_CHOICES = ( (EIC_REC_REJECT, 'Reject'), ) + +# Alternative recommendations +ALT_REC_RECONSULT_REFEREES = -4 # can be used as alternative to direct recommendation +ALT_REC_SEEK_ADDITIONAL_REFEREES = -5 +ALT_REC_CHOICES = ( + (EIC_REC_PUBLISH, 'Publish'), + (ALT_REC_RECONSULT_REFEREES, 'Reconsult previous referees'), + (ALT_REC_SEEK_ADDITIONAL_REFEREES, 'Seek additional referees'), + (EIC_REC_MINOR_REVISION, 'Ask for minor revision'), + (EIC_REC_MAJOR_REVISION, 'Ask for major revision'), + (EIC_REC_REJECT, 'Reject'), +) + + # Tiering TIER_I = 1 TIER_II = 2 diff --git a/submissions/forms.py b/submissions/forms.py index 54619bfdc..61b1e5365 100644 --- a/submissions/forms.py +++ b/submissions/forms.py @@ -22,7 +22,7 @@ from .constants import ( SUBMISSION_CYCLE_CHOICES, REPORT_PUBLISH_1, REPORT_PUBLISH_2, REPORT_PUBLISH_3, REPORT_MINOR_REV, REPORT_MAJOR_REV, REPORT_REJECT, - EIC_REC_CHOICES, SUBMISSION_TIERS, + ALT_REC_CHOICES, SUBMISSION_TIERS, STATUS_VETTED, DECISION_FIXED, DEPRECATED, STATUS_COMPLETED, STATUS_EIC_ASSIGNED, CYCLE_DEFAULT, CYCLE_DIRECT_REC, STATUS_PREASSIGNED, STATUS_REPLACED, STATUS_FAILED_PRESCREENING, STATUS_DEPRECATED, @@ -1365,7 +1365,7 @@ class RecommendationVoteForm(forms.Form): ) alternative_recommendation = forms.ChoiceField( label='Which action do you recommend?', - widget=forms.Select, choices=EIC_REC_CHOICES, + widget=forms.Select, choices=ALT_REC_CHOICES, required=False) remark = forms.CharField(widget=forms.Textarea(attrs={ 'rows': 3, diff --git a/submissions/migrations/0075_auto_20191017_1942.py b/submissions/migrations/0075_auto_20191017_1942.py new file mode 100644 index 000000000..3e5ddd52a --- /dev/null +++ b/submissions/migrations/0075_auto_20191017_1942.py @@ -0,0 +1,18 @@ +# Generated by Django 2.1.8 on 2019-10-17 17:42 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('submissions', '0074_auto_20191017_0949'), + ] + + operations = [ + migrations.AlterField( + model_name='alternativerecommendation', + name='recommendation', + field=models.SmallIntegerField(choices=[(1, 'Publish'), (-4, 'Reconsult previous referees'), (-5, 'Seek additional referees'), (-1, 'Ask for minor revision'), (-2, 'Ask for major revision'), (-3, 'Reject')]), + ), + ] diff --git a/submissions/models.py b/submissions/models.py index 3885b3d1d..ae117d25d 100644 --- a/submissions/models.py +++ b/submissions/models.py @@ -23,7 +23,7 @@ from .constants import ( SUBMISSION_CYCLES, CYCLE_DEFAULT, CYCLE_SHORT, DECISION_FIXED, ASSIGNMENT_STATUSES, CYCLE_DIRECT_REC, EVENT_GENERAL, EVENT_TYPES, EVENT_FOR_AUTHOR, EVENT_FOR_EIC, REPORT_TYPES, REPORT_NORMAL, - EIC_REC_CHOICES, SUBMISSION_TIERS, + EIC_REC_CHOICES, ALT_REC_CHOICES, SUBMISSION_TIERS, STATUS_DRAFT, STATUS_VETTED, EIC_REC_STATUSES, VOTING_IN_PREP, STATUS_UNASSIGNED, STATUS_INCORRECT, STATUS_UNCLEAR, STATUS_NOT_USEFUL, STATUS_NOT_ACADEMIC, DEPRECATED, STATUS_FAILED_PRESCREENING, STATUS_RESUBMITTED, STATUS_REJECTED, STATUS_WITHDRAWN, REPORT_REC, @@ -1042,7 +1042,7 @@ class AlternativeRecommendation(models.Model): eicrec = models.ForeignKey('submissions.EICRecommendation', on_delete=models.CASCADE) fellow = models.ForeignKey('scipost.Contributor', on_delete=models.CASCADE) for_journal = models.ForeignKey('journals.Journal', on_delete=models.CASCADE) - recommendation = models.SmallIntegerField(choices=EIC_REC_CHOICES) + recommendation = models.SmallIntegerField(choices=ALT_REC_CHOICES) class iThenticateReport(TimeStampedModel): diff --git a/submissions/templates/submissions/pool/recommendation.html b/submissions/templates/submissions/pool/recommendation.html index 762670302..10b57af2f 100644 --- a/submissions/templates/submissions/pool/recommendation.html +++ b/submissions/templates/submissions/pool/recommendation.html @@ -223,7 +223,11 @@ <p>You had previously voted <span class="text-danger">{{ previous_vote }}</span>; you can use the form below to change your vote and/or add a remark:</p> {% endif %} <form action="{% url 'submissions:vote_on_rec' rec_id=recommendation.id %}" method="post"> - <p id="agree_instructions"><strong class="text-success">If you agree with a recommendation to publish, you can provide your ballpark quality tiering below</strong><br>(this is not compulsory, but most welcome)</p> + <p id="agree_instructions"> + {% if recommendation.recommendation == 1 %} + <strong class="text-success">If you agree with a recommendation to publish, you can provide your ballpark quality tiering below</strong><br>(this is not compulsory, but most welcome) + {% endif %} + </p> <p id="disagree_instructions" class="text-danger"><strong>If you vote disagree, please provide an alternative recommendation below</strong></p> {% csrf_token %} {{ voting_form|bootstrap }} -- GitLab