def edit(request, image_id, callback=None): Image = get_image_model() ImageForm = get_image_form_for_multi() image = get_object_or_404(Image, id=image_id) if not request.is_ajax(): return HttpResponseBadRequest("Cannot POST to this view without AJAX") if not image.is_editable_by_user(request.user): raise PermissionDenied form = ImageForm(request.POST, request.FILES, instance=image, prefix='image-'+image_id) if form.is_valid(): form.save() return json_response({ 'success': True, 'image_id': int(image_id), }) else: return json_response({ 'success': False, 'image_id': int(image_id), 'form': render_to_string('wagtailimages/multiple/edit_form.html', { 'image': image, 'form': form, }, context_instance=RequestContext(request)), })
def add(request): Image = get_image_model() ImageForm = get_image_form_for_multi() if request.method == 'POST': if not request.is_ajax(): return HttpResponseBadRequest( "Cannot POST to this view without AJAX") if not request.FILES: return HttpResponseBadRequest("Must upload a file") # Check that the uploaded file is valid try: validate_image_format(request.FILES['files[]']) except ValidationError as e: return json_response({ 'success': False, 'error_message': '\n'.join(e.messages), }) # Save it image = Image(uploaded_by_user=request.user, title=request.FILES['files[]'].name, file=request.FILES['files[]']) image.save() # Success! Send back an edit form for this image to the user form = ImageForm(instance=image, prefix='image-%d' % image.id) return json_response({ 'success': True, 'image_id': int(image.id), 'form': render_to_string('wagtailimages/multiple/edit_form.html', { 'image': image, 'form': form, }, context_instance=RequestContext(request)), }) return render(request, 'wagtailimages/multiple/add.html', {})
def edit(request, image_id, callback=None): Image = get_image_model() ImageForm = get_image_form_for_multi() image = get_object_or_404(Image, id=image_id) if not request.is_ajax(): return HttpResponseBadRequest("Cannot POST to this view without AJAX") if not image.is_editable_by_user(request.user): raise PermissionDenied form = ImageForm(request.POST, request.FILES, instance=image, prefix='image-' + image_id) if form.is_valid(): form.save() # Reindex the image to make sure all tags are indexed for backend in get_search_backends(): backend.add(image) return json_response({ 'success': True, 'image_id': int(image_id), }) else: return json_response({ 'success': False, 'image_id': int(image_id), 'form': render_to_string('wagtailimages/multiple/edit_form.html', { 'image': image, 'form': form, }, context_instance=RequestContext(request)), })
def add(request): Image = get_image_model() ImageForm = get_image_form_for_multi() if request.method == 'POST': if not request.is_ajax(): return HttpResponseBadRequest("Cannot POST to this view without AJAX") if not request.FILES: return HttpResponseBadRequest("Must upload a file") # Check that the uploaded file is valid try: validate_image_format(request.FILES['files[]']) except ValidationError as e: return json_response({ 'success': False, 'error_message': '\n'.join(e.messages), }) # Save it image = Image(uploaded_by_user=request.user, title=request.FILES['files[]'].name, file=request.FILES['files[]']) image.save() # Success! Send back an edit form for this image to the user form = ImageForm(instance=image, prefix='image-%d' % image.id) return json_response({ 'success': True, 'image_id': int(image.id), 'form': render_to_string('wagtailimages/multiple/edit_form.html', { 'image': image, 'form': form, }, context_instance=RequestContext(request)), }) return render(request, 'wagtailimages/multiple/add.html', {})