diff --git a/comments/forms.py b/comments/forms.py index c114082fd6aa21980db250503eb72edec522bdd1..5cf2285e16822c25c14525b99e648f8533bfa255 100644 --- a/comments/forms.py +++ b/comments/forms.py @@ -25,7 +25,7 @@ class CommentForm(forms.ModelForm): {'rows': 3, 'placeholder': '(these remarks will not be publicly visible)'}) self.fields['anonymous'].initial = True - if not self.is_report_comment: + if self.is_report_comment: del self.fields['anonymous'] diff --git a/scipost/static/scipost/assets/css/_reports.scss b/scipost/static/scipost/assets/css/_reports.scss index adf4a971511b20eec4c7350c95ef9b7898b89ac2..1398493dca9d69b5a74f207ed724ad5b11303a58 100644 --- a/scipost/static/scipost/assets/css/_reports.scss +++ b/scipost/static/scipost/assets/css/_reports.scss @@ -75,8 +75,4 @@ padding: 0.5rem 0.75rem; white-space: pre-wrap; } - - p { - white-space: pre; - } } diff --git a/submissions/forms.py b/submissions/forms.py index cb3abf8adee78d334b9a536edadba517add38d79..abb1e28670f0068ed5eea108022c72984487b7e8 100644 --- a/submissions/forms.py +++ b/submissions/forms.py @@ -776,9 +776,15 @@ class ReportForm(forms.ModelForm): 'cols': 100 }) + # Required fields on submission; optional on save as draft + if 'save_submit' in self.data: + required_fields = ['report', 'recommendation', 'qualification'] + else: + required_fields = [] + # If the Report is not a followup: Explicitly assign more fields as being required! if not self.instance.is_followup_report: - required_fields = [ + required_fields += [ 'strengths', 'weaknesses', 'requested_changes', @@ -789,12 +795,12 @@ class ReportForm(forms.ModelForm): 'formatting', 'grammar' ] - for field in required_fields: - self.fields[field].required = True + for field in required_fields: + self.fields[field].required = True # Let user know the field is required! for field in self.fields: - if self.fields[field].required: + if self.fields[field].required or field in ['report', 'recommendation', 'qualification']: self.fields[field].label += ' *' if self.submission.eicrecommendations.active().exists(): @@ -828,6 +834,8 @@ class ReportForm(forms.ModelForm): if self.submission.referees_flagged: if report.author.user.last_name in self.submission.referees_flagged: report.flagged = True + # r = report.recommendation + # t = report.qualification report.save() return report diff --git a/submissions/migrations/0029_auto_20180627_1207.py b/submissions/migrations/0029_auto_20180627_1207.py new file mode 100644 index 0000000000000000000000000000000000000000..93442a997bf0618abceb633e31f3e24fb0ed5e30 --- /dev/null +++ b/submissions/migrations/0029_auto_20180627_1207.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.4 on 2018-06-27 10:07 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('submissions', '0028_auto_20180621_0551'), + ] + + operations = [ + migrations.AlterField( + model_name='report', + name='qualification', + field=models.PositiveSmallIntegerField(blank=True, choices=[(None, '-'), (4, 'expert in this subject'), (3, 'very knowledgeable in this subject'), (2, 'knowledgeable in this subject'), (1, 'generally qualified'), (0, 'not qualified')], null=True, verbose_name='Qualification to referee this: I am'), + ), + migrations.AlterField( + model_name='report', + name='recommendation', + field=models.SmallIntegerField(blank=True, choices=[(None, '-'), (1, 'Publish as Tier I (top 10% of papers in this journal, qualifies as Select)'), (2, 'Publish as Tier II (top 50% of papers in this journal)'), (3, 'Publish as Tier III (meets the criteria of this journal)'), (-1, 'Ask for minor revision'), (-2, 'Ask for major revision'), (-3, 'Reject')], null=True), + ), + migrations.AlterField( + model_name='report', + name='report', + field=models.TextField(blank=True), + ), + ] diff --git a/submissions/models.py b/submissions/models.py index 12115c7eddc5c46bf7675119a2e1621bfd641bcf..554b610d42ef747767faa5324ddfdd02798381c7 100644 --- a/submissions/models.py +++ b/submissions/models.py @@ -500,13 +500,13 @@ class Report(SubmissionRelatedObjectMixin, models.Model): author = models.ForeignKey('scipost.Contributor', on_delete=models.CASCADE, related_name='reports') qualification = models.PositiveSmallIntegerField( - choices=REFEREE_QUALIFICATION, + null=True, blank=True, choices=REFEREE_QUALIFICATION, verbose_name="Qualification to referee this: I am") # Text-based reporting strengths = models.TextField(blank=True) weaknesses = models.TextField(blank=True) - report = models.TextField() + report = models.TextField(blank=True) requested_changes = models.TextField(verbose_name="requested changes", blank=True) # Comments can be added to a Submission @@ -526,7 +526,7 @@ class Report(SubmissionRelatedObjectMixin, models.Model): grammar = models.SmallIntegerField(choices=QUALITY_SPEC, null=True, blank=True, verbose_name="Quality of English grammar") - recommendation = models.SmallIntegerField(choices=REPORT_REC) + recommendation = models.SmallIntegerField(null=True, blank=True, choices=REPORT_REC) remarks_for_editors = models.TextField(blank=True, verbose_name='optional remarks for the Editors only') needs_doi = models.NullBooleanField(default=None) diff --git a/submissions/views.py b/submissions/views.py index e4e2d0cdbb0bd291b48ef05d9fba75e00e37e8ea..e4368d7b415da19ff6c5ecae739cecb4bae72248 100644 --- a/submissions/views.py +++ b/submissions/views.py @@ -1406,6 +1406,8 @@ def submit_report(request, arxiv_identifier_w_vn_nr): messages.success(request, 'Thank you for your Report') return redirect(submission.get_absolute_url()) + elif request.POST: + messages.error(request, 'Report not submitted, please read the errors below.') context = {'submission': submission, 'form': form} return render(request, 'submissions/report_form.html', context)