Display an error message when the submission to work is neither contains files nor is the submission URL to work.
diff --git a/app/soc/modules/gci/views/task.py b/app/soc/modules/gci/views/task.py
index 26c213e..155ece0 100644
--- a/app/soc/modules/gci/views/task.py
+++ b/app/soc/modules/gci/views/task.py
@@ -408,6 +408,10 @@
for f in self.data.request.file_uploads.itervalues():
f.delete()
return self.redirect.id().to('gci_view_task', extra=['file=0'])
+ else:
+ logging.warning('Neither the URL nor the files were provided for work '
+ 'submission.')
+ return self.redirect.id().to('gci_view_task', extra=['ws_error=1'])
task = self.data.task
@@ -624,6 +628,9 @@
if self.data.GET.get('file', None) == '0':
context['work_file_form'].addFileRequiredError()
+ if self.data.GET.get('ws_error', None) == '1':
+ context['ws_error'] = True
+
url = '%s?submit_work' %(
self.data.redirect.id().urlOf('gci_view_task'))
context['direct_post_url'] = url
diff --git a/app/soc/templates/v2/modules/gci/task/_work_submissions.html b/app/soc/templates/v2/modules/gci/task/_work_submissions.html
index 45200dd..f496b36 100644
--- a/app/soc/templates/v2/modules/gci/task/_work_submissions.html
+++ b/app/soc/templates/v2/modules/gci/task/_work_submissions.html
@@ -54,6 +54,13 @@
{% if work_file_form %}
<span class="block-task-uploaded-code-note">Upload your final work file or paste in its URL, then click Submit.</span>
+ {% if ws_error %}
+ <div class="form-row error">
+ <span class="form-row-error-msg">
+ Your work was not submitted due to an error, please retry.
+ </span>
+ </div>
+ {% endif %}
<form method="post" enctype="multipart/form-data" id="file-form" class="form-upload-code clearfix">
{{ work_file_form.render }}
<div class="form-row form-row-buttons">