Fixed s3 complete
This commit is contained in:
parent
bcb8613e55
commit
ef988708d8
@ -69,18 +69,21 @@ class S3UploadMixin(ProjectMixin):
|
|||||||
class S3CompleteMixin(View):
|
class S3CompleteMixin(View):
|
||||||
always_set = False
|
always_set = False
|
||||||
|
|
||||||
|
def complete(self, key):
|
||||||
|
self.object.key = key
|
||||||
|
self.object.save()
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
self.object = self.get_object()
|
self.object = self.get_object()
|
||||||
|
|
||||||
if self.always_set or not self.object.key:
|
if self.always_set or not self.object.key:
|
||||||
if 'location' in request.GET:
|
if 'location' in request.GET:
|
||||||
uri = urlparse(request.GET['location'])
|
uri = urlparse(request.GET['location'])
|
||||||
self.object.key = uri.path[1:]
|
self.complete(uri.path[1:])
|
||||||
elif 'key' in request.GET:
|
elif 'key' in request.GET:
|
||||||
self.object.key = request.GET['key']
|
self.complete(request.GET['key'])
|
||||||
else:
|
else:
|
||||||
raise KeyError("No key or location found")
|
raise KeyError("No key or location found")
|
||||||
self.object.save()
|
|
||||||
|
|
||||||
return super().get(request, *args, **kwargs)
|
return super().get(request, *args, **kwargs)
|
||||||
|
|
||||||
@ -159,7 +162,11 @@ class SubmissionCreateView(ProjectMixin, CreateView):
|
|||||||
|
|
||||||
class SubmissionDetailView(ProjectMixin, S3CompleteMixin, DetailView):
|
class SubmissionDetailView(ProjectMixin, S3CompleteMixin, DetailView):
|
||||||
model = models.Submission
|
model = models.Submission
|
||||||
|
|
||||||
|
def complete(self, key):
|
||||||
|
self.object.complete = True
|
||||||
|
super().complete(key)
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
if self.request.user.is_authenticated:
|
if self.request.user.is_authenticated:
|
||||||
@ -167,7 +174,7 @@ class SubmissionDetailView(ProjectMixin, S3CompleteMixin, DetailView):
|
|||||||
return context
|
return context
|
||||||
|
|
||||||
class SubmissionUploadView(S3UploadMixin, DetailView):
|
class SubmissionUploadView(S3UploadMixin, DetailView):
|
||||||
template_name = 'interface/submission_upload.html'
|
template_name = 'interface/s3_upload.html'
|
||||||
model = models.Submission
|
model = models.Submission
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user