Esempio n. 1
0
def slide_admin_update(request, slide_id, prefix):
    if request.is_ajax():
        form = SlideForm(request.POST) if prefix == 'None' else SlideForm(request.POST, prefix=prefix) 
        if form.is_valid():
            try:
                slide = Slide.objects.get(pk=slide_id)
                slide.lesson = form.cleaned_data['lesson']
                slide.content = form.cleaned_data['content']
                slide.googleStyles = form.cleaned_data['googleStyles']
                slide.name = form.cleaned_data['name'] 
                slide.save()
                return HttpResponse('OK')
                
            except ObjectDoesNotExist:
                # create new object
                position = None
                if Slide.objects.count() > 0:
                    slide = Slide.objects.order_by('-position').all()[0]
                    position = slide.position

                else:
                    position = 1

                newslide = Slide()
                newslide.lesson = form.cleaned_data['lesson']
                newslide.name = form.cleaned_data['name']
                newslide.content = form.cleaned_data['content']
                newslide.googleStyles = form.cleaned_data['googleStyles']
                newslide.position = position
                newslide.save()
                response = {'created_object_id': newslide.pk}
                return HttpResponse(json.dumps(response), mimetype="application/json") 
        else:
            errors_dict = {}
            if form.errors:
                for error in form.errors:
                    e = form.errors[error]
                    field = prefix+"-"+error;
                    errors_dict[field] = unicode(e)
            print errors_dict
            return HttpResponseBadRequest(json.dumps(errors_dict))
    else:
        return HttpResponseNotFound('You do not have permission to access this page!')