Пример #1
0
    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, }))