From ec731e48b879199d7118108eafc3fc385d8761ac Mon Sep 17 00:00:00 2001 From: Jorran de Wit <jorrandewit@outlook.com> Date: Fri, 27 Apr 2018 09:35:09 +0200 Subject: [PATCH] Report attachment; not checked --- submissions/forms.py | 4 ++-- .../migrations/0011_report_file_attachment.py | 21 +++++++++++++++++++ submissions/models.py | 6 ++++++ 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 submissions/migrations/0011_report_file_attachment.py diff --git a/submissions/forms.py b/submissions/forms.py index 7aa45b91c..aaf160d1c 100644 --- a/submissions/forms.py +++ b/submissions/forms.py @@ -324,7 +324,7 @@ class RequestSubmissionForm(SubmissionChecks, forms.ModelForm): def clean_author_list(self): """Check if author list matches the Contributor submitting. - + The submitting user must be an author of the submission. Also possibly may be extended to check permissions and give ultimate submission power to certain user groups. @@ -576,7 +576,7 @@ class ReportForm(forms.ModelForm): model = Report fields = ['qualification', 'strengths', 'weaknesses', 'report', 'requested_changes', 'validity', 'significance', 'originality', 'clarity', 'formatting', 'grammar', - 'recommendation', 'remarks_for_editors', 'anonymous'] + 'recommendation', 'remarks_for_editors', 'anonymous', 'file_attachment'] def __init__(self, *args, **kwargs): if kwargs.get('instance'): diff --git a/submissions/migrations/0011_report_file_attachment.py b/submissions/migrations/0011_report_file_attachment.py new file mode 100644 index 000000000..f4d463f7d --- /dev/null +++ b/submissions/migrations/0011_report_file_attachment.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.4 on 2018-04-27 07:31 +from __future__ import unicode_literals + +import comments.behaviors +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('submissions', '0010_auto_20180314_1607'), + ] + + operations = [ + migrations.AddField( + model_name='report', + name='file_attachment', + field=models.FileField(blank=True, upload_to='uploads/reports/%Y/%m/%d/', validators=[comments.behaviors.validate_file_extension, comments.behaviors.validate_max_file_size]), + ), + ] diff --git a/submissions/models.py b/submissions/models.py index 9c3bbcf7b..cf0e13a28 100644 --- a/submissions/models.py +++ b/submissions/models.py @@ -28,6 +28,7 @@ from .managers import ( from .utils import ( ShortSubmissionCycle, DirectRecommendationSubmissionCycle, GeneralSubmissionCycle) +from comments.behaviors import validate_file_extension, validate_max_file_size from comments.models import Comment from scipost.behaviors import TimeStampedModel from scipost.constants import TITLE_CHOICES @@ -515,6 +516,11 @@ class Report(SubmissionRelatedObjectMixin, models.Model): anonymous = models.BooleanField(default=True, verbose_name='Publish anonymously') pdf_report = models.FileField(upload_to='UPLOADS/REPORTS/%Y/%m/', max_length=200, blank=True) + # Attachment + file_attachment = models.FileField( + upload_to='uploads/reports/%Y/%m/%d/', blank=True, + validators=[validate_file_extension, validate_max_file_size]) + objects = ReportQuerySet.as_manager() class Meta: -- GitLab