Files
Pinry/pinry/core/views.py
2013-03-03 22:47:25 +00:00

31 lines
937 B
Python

from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.views.generic import CreateView
from django_images.models import Image
from braces.views import JSONResponseMixin, LoginRequiredMixin
from .forms import ImageForm
class CreateImage(JSONResponseMixin, LoginRequiredMixin, CreateView):
template_name = None # JavaScript-only view
model = Image
form_class = ImageForm
def get(self, request, *args, **kwargs):
if not request.is_ajax():
return HttpResponseRedirect(reverse('core:recent-pins'))
return super(CreateImage, self).get(request, *args, **kwargs)
def form_valid(self, form):
image = form.save()
return self.render_json_response({
'success': {
'id': image.id
}
})
def form_invalid(self, form):
return self.render_json_response({'error': form.errors})