def post(self, request, *args, **kwargs): # self.object = self.get_object() form = InterviewForm(request.POST or None, request.FILES or None, user=request.user) if form.is_valid(): new_interview = form.save(commit=False) if request.FILES: form.mp3_file = request.FILES['mp3_file'] form.pic = request.FILES['pic'] # text_dump = json.dumps([self.kwargs['slug'], slugify(form.cleaned_data['full_name'])]) # project_blob = FileUpload(file_path=text_dump) # project_blob.save() image_blob = FileUpload(file_path=form.pic) image_blob.save() # find curr classroom # classroom = application = Application.objects.get(name="Oral Histories") if form.cleaned_data['classroom']: classroom = Team.objects.get(pk=form.cleaned_data['classroom']) else: classroom = None new_proj = Project(name=form.cleaned_data['full_name'], description=form.cleaned_data['summary'], owner=request.user, application=application, classroom=classroom, screenshot=image_blob, ) new_proj.save() new_interview.csdt_project = new_proj new_interview.save() form.save() send_mail('CSDT: New Oral History Project Interview needs approval', 'There is a new oral history project interview\ that needs approval on the CSDT server admin. \ Please approve it.', '*****@*****.**', ['*****@*****.**'], fail_silently=True) return self.form_valid(form) # return HttpResponseRedirect(reverse('oral_history:upload')) return HttpResponse(render(request, 'oral_history/upload.html', {'form': form, }))