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 %}
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 %} + + |
+
Revision | {{ detail.revision }} |
WG | {{ validation.wg|default:"Individual Submission" }} |
Document date | {{ detail.creation_date }} |