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!')