diff --git a/interface/models.py b/interface/models.py index 0001fb6..b55426e 100644 --- a/interface/models.py +++ b/interface/models.py @@ -45,6 +45,7 @@ class Project(models.Model): active = models.BooleanField(default=True) deadline =models.DateField(null=True, blank=True) + @property def submissions(self): return self.all_submissions.filter(complete=True).order_by('-pk') diff --git a/interface/static/interface/css/polyphonic.css b/interface/static/interface/css/polyphonic.css index 6df8f6f..ed72b58 100644 --- a/interface/static/interface/css/polyphonic.css +++ b/interface/static/interface/css/polyphonic.css @@ -220,4 +220,12 @@ TABLE.horizontal TH { .dz-clickable { text-align: center; +} +.scrollable { + max-height: 200px; + overflow: auto; + background-color: #EEE; + border: 1px solid var(--border-color); + border-radius: 10px; + padding: 5px; } \ No newline at end of file diff --git a/interface/templates/interface/project_detail.html b/interface/templates/interface/project_detail.html index 3fe9883..64011bb 100644 --- a/interface/templates/interface/project_detail.html +++ b/interface/templates/interface/project_detail.html @@ -4,8 +4,9 @@

Due in {{ project.deadline|timeuntil }}!

There have been {{ project.submissions.count }} submissions so far...

+
- + {% for submission in project.submissions %} @@ -22,4 +23,5 @@
{{ submission.date|timesince }} ago
+
{% endblock %} \ No newline at end of file diff --git a/interface/templates/interface/s3_upload.html b/interface/templates/interface/s3_upload.html index 51b55ba..73f889a 100644 --- a/interface/templates/interface/s3_upload.html +++ b/interface/templates/interface/s3_upload.html @@ -12,7 +12,7 @@ {% endfor %} - + @@ -47,11 +47,14 @@ $('#fallback-file').on('change', function() { $('#fallback-upload').attr('disabled', false); }); +let fallback = {{ request.GET.fallback|yesno:"true,false,false" }}; + Dropzone.options.itemUpload = { params: dzData['fields'], - forceFallback: {{ request.GET.fallback|yesno:"true,false,false" }}, + forceFallback: fallback, autoProcessQueue: false, createImageThumbnails: false, + //acceptedFiles: acceptFiles, maxFiles: 1, addRemoveLinks: true, maxFilesize: 500, diff --git a/interface/views.py b/interface/views.py index a437923..78ab4d1 100644 --- a/interface/views.py +++ b/interface/views.py @@ -46,10 +46,10 @@ class ProjectMixin(EnsembleMixin): return context class S3UploadMixin(ProjectMixin): - media_type = '' + accept_files = '' - def get_media_type(self): - return self.media_type + def get_accept_files(self): + return self.accept_files def get_cancel_url(self): return self.cancel_url @@ -68,7 +68,7 @@ class S3UploadMixin(ProjectMixin): context['ajax_upload'] = project.presigned_post(key_template) context['success_url'] = success_url context['cancel_url'] = self.get_cancel_url() - context['media_type'] = self.media_type + context['accept_files'] = self.accept_files return context class S3CompleteMixin(View): @@ -181,7 +181,7 @@ class SubmissionDetailView(ProjectMixin, S3CompleteMixin, DetailView): class SubmissionUploadView(S3UploadMixin, DetailView): template_name = 'interface/s3_upload.html' model = models.Submission - media_type = "video" + accept_files = "video/*" def get_success_url(self): return resolve_url('submission_detail', **self.kwargs) @@ -217,7 +217,7 @@ class ResourceUploadView(S3UploadMixin, DetailView): model = models.Resource template_name = 'interface/s3_upload.html' - def get_media_type(self): + def get_accept_files(self): return self.object.accept() def get_success_url(self):