Skip to content

Commit

Permalink
#3618 fixes the review preview form and ensures it's display takes th…
Browse files Browse the repository at this point in the history
…e recommendation decision setting
  • Loading branch information
ajrbyers authored and mauromsl committed Sep 15, 2023
1 parent 8aeb782 commit 661dc70
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 8 deletions.
10 changes: 3 additions & 7 deletions src/review/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,25 +177,21 @@ class ReviewerDecisionForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
decision_required = kwargs.pop("decision_required", False)
open_review_initial = kwargs.pop("open_review_initial", False)
self.recommendation_disabled = kwargs.pop("recommendation_disabled", False)
super().__init__(*args, **kwargs)
self.fields['decision'].required = decision_required
self.fields['decision'].choices = models.reviewer_decision_choices()
self.fields['permission_to_make_public'].widget.attrs['checked'] = open_review_initial

if self.instance:
self.disable_reviewer_decision = setting_handler.get_setting(
'general',
'disable_reviewer_recommendation',
self.instance.article.journal,
).processed_value
if self.disable_reviewer_decision:
if self.recommendation_disabled:
del self.fields['decision']

def save(self, commit=True):
review_assignment = super().save(commit=False)

# sets the decision to none, if decisions are disabled.
if self.disable_reviewer_decision:
if self.recommendation_disabled:
review_assignment.decision = models.RD.DECISION_NO_RECOMMENDATION.value

if commit:
Expand Down
16 changes: 15 additions & 1 deletion src/review/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -831,6 +831,11 @@ def do_review(request, assignment_id):
'open_review_default_opt_in',
request.journal,
).processed_value
recommendation_disabled = setting_handler.get_setting(
'general',
'disable_reviewer_recommendation',
request.journal,
).processed_value

fields_required = False
decision_required = False if allow_save_review else True
Expand All @@ -844,6 +849,7 @@ def do_review(request, assignment_id):
instance=assignment,
decision_required=decision_required,
open_review_initial=open_review_initial,
recommendation_disabled=recommendation_disabled,
)

if 'review_file' in request.GET:
Expand Down Expand Up @@ -889,6 +895,7 @@ def do_review(request, assignment_id):
request.POST,
instance=assignment,
decision_required=decision_required,
recommendation_disabled=recommendation_disabled,
)

if form.is_valid() and decision_form.is_valid():
Expand Down Expand Up @@ -2498,7 +2505,14 @@ def preview_form(request, form_id):
"""Displays a preview of a review form."""
form = get_object_or_404(models.ReviewForm, pk=form_id)
generated_form = forms.GeneratedForm(preview=form)
decision_form = forms.FakeReviewerDecisionForm()
recommendation_disabled = setting_handler.get_setting(
'general',
'disable_reviewer_recommendation',
request.journal,
).processed_value
decision_form = forms.FakeReviewerDecisionForm(
recommendation_disabled=recommendation_disabled,
)

template = 'review/manager/preview_form.html'
context = {
Expand Down

0 comments on commit 661dc70

Please sign in to comment.