From ef988708d8af04b542bb00fa6fd75bf854d3d20b Mon Sep 17 00:00:00 2001 From: Tris Date: Thu, 10 Sep 2020 14:17:05 +1000 Subject: [PATCH] Fixed s3 complete --- interface/views.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/interface/views.py b/interface/views.py index c1140d6..f3d3d7d 100644 --- a/interface/views.py +++ b/interface/views.py @@ -69,18 +69,21 @@ class S3UploadMixin(ProjectMixin): class S3CompleteMixin(View): always_set = False + def complete(self, key): + self.object.key = key + self.object.save() + def get(self, request, *args, **kwargs): self.object = self.get_object() if self.always_set or not self.object.key: if 'location' in request.GET: uri = urlparse(request.GET['location']) - self.object.key = uri.path[1:] + self.complete(uri.path[1:]) elif 'key' in request.GET: - self.object.key = request.GET['key'] + self.complete(request.GET['key']) else: raise KeyError("No key or location found") - self.object.save() return super().get(request, *args, **kwargs) @@ -159,7 +162,11 @@ class SubmissionCreateView(ProjectMixin, CreateView): class SubmissionDetailView(ProjectMixin, S3CompleteMixin, DetailView): model = models.Submission - + + def complete(self, key): + self.object.complete = True + super().complete(key) + def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) if self.request.user.is_authenticated: @@ -167,7 +174,7 @@ class SubmissionDetailView(ProjectMixin, S3CompleteMixin, DetailView): return context class SubmissionUploadView(S3UploadMixin, DetailView): - template_name = 'interface/submission_upload.html' + template_name = 'interface/s3_upload.html' model = models.Submission def get_success_url(self):