diff --git a/submissions/forms.py b/submissions/forms.py index 4f229ae78c72807da4ba24d2a103e32fa8ec1533..f3daecdd5851092456e1a6f8ff51840982ff768a 100644 --- a/submissions/forms.py +++ b/submissions/forms.py @@ -720,7 +720,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'): @@ -781,6 +781,12 @@ class ReportForm(forms.ModelForm): # An active EICRecommendation is already formulated. This Report will be flagged. self.report_type = REPORT_POST_EDREC + # def clean_file_attachment(self): + # f = self.cleaned_data['file_attachment'] + # r = f.file + # raise + # return f + def save(self): """ Update meta data if ModelForm is submitted (non-draft). diff --git a/submissions/migrations/0011_report_file_attachment.py b/submissions/migrations/0011_report_file_attachment.py new file mode 100644 index 0000000000000000000000000000000000000000..f4d463f7dfa685bd3dcf5703468ce3c7656657b9 --- /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/migrations/0012_auto_20180519_1047.py b/submissions/migrations/0012_auto_20180519_1047.py new file mode 100644 index 0000000000000000000000000000000000000000..b67c1f3d4929ec9f87d5a1bfc4ce0787adb7a63c --- /dev/null +++ b/submissions/migrations/0012_auto_20180519_1047.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.4 on 2018-05-19 08:47 +from __future__ import unicode_literals + +import comments.behaviors +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('submissions', '0011_report_file_attachment'), + ] + + operations = [ + migrations.AlterField( + model_name='report', + name='file_attachment', + field=models.FileField(blank=True, null=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 e3b917bda3836ae7974b40b762d981edb6694d13..bb95ca702f7c96c7a33ba2b301028e740344b163 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 @@ -529,6 +530,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, null=True, + validators=[validate_file_extension, validate_max_file_size]) + objects = ReportQuerySet.as_manager() class Meta: diff --git a/submissions/templates/submissions/report_form.html b/submissions/templates/submissions/report_form.html index 84b69c692cf125c1b5ab90effb2b5580cf4847a2..12d790a0d920db64a377954e9da297a6d3ed6276 100644 --- a/submissions/templates/submissions/report_form.html +++ b/submissions/templates/submissions/report_form.html @@ -91,7 +91,7 @@ <div class="row"> <div class="col-md-6"> <br> - <form action="{% url 'submissions:submit_report' arxiv_identifier_w_vn_nr=submission.arxiv_identifier_w_vn_nr %}" method="post"> + <form action="{% url 'submissions:submit_report' arxiv_identifier_w_vn_nr=submission.arxiv_identifier_w_vn_nr %}" method="post" enctype="multipart/form-data"> {% csrf_token %} {{ form|bootstrap:'12,12' }} <div class="anonymous-alert" style="display: none;">