diff --git a/ietf/submit/templatetags/submit_tags.py b/ietf/submit/templatetags/submit_tags.py index 9f8314976..fa6228fa1 100644 --- a/ietf/submit/templatetags/submit_tags.py +++ b/ietf/submit/templatetags/submit_tags.py @@ -4,6 +4,9 @@ from django import template from django.conf import settings from django.utils.html import mark_safe, escape +from ietf.submit.utils import POSTED, POSTED_BY_SECRETARIAT + + register = template.Library() @@ -11,10 +14,15 @@ register = template.Library() def show_submission_files(context, submission): result = [] for ext in submission.file_type.split(','): + exists = False source = os.path.join(settings.IDSUBMIT_STAGING_PATH, '%s-%s%s' % (submission.filename, submission.revision, ext)) if os.path.exists(source): - result.append({'name': '[%s version ]' % ext[1:].capitalize(), - 'url': '%s%s-%s%s' % (settings.IDSUBMIT_STAGING_URL, submission.filename, submission.revision, ext)}) + exists = True + elif submission.status_id in [POSTED, POSTED_BY_SECRETARIAT]: + continue + result.append({'name': '[%s version ]' % ext[1:].capitalize(), + 'exists': exists, + 'url': '%s%s-%s%s' % (settings.IDSUBMIT_STAGING_URL, submission.filename, submission.revision, ext)}) return {'files': result} def show_two_pages(context, two_pages, validation): diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py index 566898931..567b5efef 100644 --- a/ietf/submit/utils.py +++ b/ietf/submit/utils.py @@ -273,6 +273,16 @@ class DraftValidation(object): self.validate_abstract() self.validate_creation_date() self.validate_wg() + self.validate_files() + + def validate_files(self): + if self.draft.status_id in [POSTED, POSTED_BY_SECRETARIAT]: + return + for ext in self.draft.file_type.split(','): + source = os.path.join(settings.STAGING_PATH, '%s-%s%s' % (self.draft.filename, self.draft.revision, ext)) + if not os.path.exists(source): + self.add_warning('document_files', 'Some files are not found on staging area.
We recommend you that you cancel this submission and upload your files again.') + break def validate_title(self): if not self.draft.id_document_name: diff --git a/ietf/templates/submit/draft_status.html b/ietf/templates/submit/draft_status.html index b9760e80a..7701fa90e 100644 --- a/ietf/templates/submit/draft_status.html +++ b/ietf/templates/submit/draft_status.html @@ -138,11 +138,15 @@ returned to the submitter. {% endif %} - + + + + diff --git a/ietf/templates/submit/submission_files.html b/ietf/templates/submit/submission_files.html index 287d366c3..1328ab845 100644 --- a/ietf/templates/submit/submission_files.html +++ b/ietf/templates/submit/submission_files.html @@ -1,7 +1,11 @@ {% if files %} {% endif %}
Document - {% ifequal status.status_value "Posted" %}{{ detail.filename }}{% else %}{{ detail.filename }}{% endifequal %} -
[View first two pages] -{% show_submission_files detail %} -
Document + {% ifequal status.status_value "Posted" %}{{ detail.filename }}{% else %}{{ detail.filename }}{% endifequal %} +
[View first two pages] + {% show_submission_files detail %} +
{{ validation.warnings.document_files|safe }}
+
Revision{{ detail.revision }}
{{ validation.warnings.revision }}{% if validation.warnings.revision %}
[View error]{% endif %}
WG{{ validation.wg|default:"Individual Submission" }}
{{ validation.warnings.group }}
Document date{{ detail.creation_date }}
{{ validation.warnings.creation_date }}