Commits

Mikhail Korobov committed 1491d54

Better error handling for ajax requests.

  • Participants
  • Parent commits 06d91c9

Comments (0)

Files changed (2)

photo_albums/views.py

     template_variants = _get_template_names(obj, template)
     return render_to_response(template_variants, context_instance=context)
 
+def get_prepared_errors(form):
+    return dict([(unicode(f), unicode(form.errors[f][0]),) for f in form.errors]) #todo: get rif of errors[f][0]
+
 
 #==============================================================================
 
 
 
 @login_required
+@ajax_request
 @album_site_method()
 def upload_main_image(request, obj, album_site, context):
     ''' Upload 1 image and make it main image in gallery '''
             return HttpResponseRedirect(success_url) # Redirect after POST
         else:
             if request.is_ajax():
-                return HttpResponse(form.errors.as_text())
+                return get_prepared_errors(form)
     else:
         form = album_site.upload_form_class()
 
 
 
 @login_required
+@ajax_request
 @album_site_method()
 def upload_zip(request, obj, album_site, context):
     ''' Upload zip archive with images, extract them, check if they are correct
             return HttpResponseRedirect(success_url)
         else:
             if request.is_ajax():
-                return HttpResponse(form.errors.as_text())
+                return get_prepared_errors(form)
     else:
         form = form_class(request.user, obj)
 
     return _render('upload_zip.html', obj, context)
 
 @login_required
+@ajax_request
 @album_site_method()
 def upload_images(request, obj, album_site, context):
     ''' Upload several images at once '''
             return HttpResponseRedirect(success_url) # Redirect after POST
         else:
             if request.is_ajax():
-                return HttpResponse(formset.errors.as_text())
+                return get_prepared_errors(formset)
     else:
         formset = FormsetCls(queryset = AttachedImage.objects.none())
 
 
 setup(
       name='django-photo-albums',
-      version='0.20.5',
+      version='0.20.6',
       author='Mikhail Korobov',
       author_email='kmike84@gmail.com',
       url='http://bitbucket.org/kmike/django-photo-albums/',