

@permission_checker.require('add')
def add(request):
    ImageModel = get_image_model()
    ImageForm = get_image_form(ImageModel)
    if (request.method == 'POST'):
        image = ImageModel(uploaded_by_user=request.user)
        form = ImageForm(request.POST, request.FILES, instance=image, user=request.user)
        if form.is_valid():
            image.file_size = image.file.size
            form.save()
            for backend in get_search_backends():
                backend.add(image)
            messages.success(request, _("Image '{0}' added.").format(image.title), buttons=[messages.button(reverse('wagtailimages:edit', args=(image.id,)), _('Edit'))])
            return redirect('wagtailimages:index')
        else:
            messages.error(request, _('The image could not be created due to errors.'))
    else:
        form = ImageForm(user=request.user)
    return render(request, 'wagtailimages/images/add.html', {
        'form': form,
    })

dataset/ETHPy150Open torchbox/wagtail/wagtail/wagtailimages/views/images.py add/original