コード例 #1
0
ファイル: chooser.py プロジェクト: tomusher/wagtail
def chooser_select_format(request, image_id):
    image = get_object_or_404(get_image_model(), id=image_id)

    if request.method == 'POST':
        form = ImageInsertionForm(request.POST,
                                  initial={'alt_text': image.default_alt_text},
                                  prefix='image-chooser-insertion')
        if form.is_valid():

            format = get_image_format(form.cleaned_data['format'])
            preview_image = image.get_rendition(format.filter_spec)

            image_data = {
                'id':
                image.id,
                'title':
                image.title,
                'format':
                format.name,
                'alt':
                form.cleaned_data['alt_text'],
                'class':
                format.classnames,
                'edit_link':
                reverse('wagtailimages:edit', args=(image.id, )),
                'preview': {
                    'url': preview_image.url,
                    'width': preview_image.width,
                    'height': preview_image.height,
                },
                'html':
                format.image_to_editor_html(image,
                                            form.cleaned_data['alt_text']),
            }

            return render_modal_workflow(request,
                                         None,
                                         None,
                                         None,
                                         json_data={
                                             'step': 'image_chosen',
                                             'result': image_data
                                         })
    else:
        initial = {'alt_text': image.default_alt_text}
        initial.update(request.GET.dict())
        # If you edit an existing image, and there is no alt text, ensure that
        # "image is decorative" is ticked when you open the form
        initial['image_is_decorative'] = initial['alt_text'] == ''
        form = ImageInsertionForm(initial=initial,
                                  prefix='image-chooser-insertion')

    return render_modal_workflow(request,
                                 'wagtailimages/chooser/select_format.html',
                                 None, {
                                     'image': image,
                                     'form': form
                                 },
                                 json_data={'step': 'select_format'})
コード例 #2
0
ファイル: chooser.py プロジェクト: nadavshevy/mysite
def chooser_select_format(request, image_id):
    image = get_object_or_404(get_image_model(), id=image_id)

    if request.method == 'POST':
        form = ImageInsertionForm(request.POST,
                                  initial={'alt_text': image.default_alt_text})
        if form.is_valid():

            format = get_image_format(form.cleaned_data['format'])
            preview_image = image.get_rendition(format.filter_spec)

            image_json = json.dumps({
                'id':
                image.id,
                'title':
                image.title,
                'format':
                format.name,
                'alt':
                form.cleaned_data['alt_text'],
                'class':
                format.classnames,
                'edit_link':
                reverse('wagtailimages:edit', args=(image.id, )),
                'preview': {
                    'url': preview_image.url,
                    'width': preview_image.width,
                    'height': preview_image.height,
                },
                'html':
                format.image_to_editor_html(image,
                                            form.cleaned_data['alt_text']),
            })

            return render_modal_workflow(
                request, None, 'wagtailimages/chooser/image_chosen.js',
                {'image_json': image_json})
    else:
        initial = {'alt_text': image.default_alt_text}
        initial.update(request.GET.dict())
        form = ImageInsertionForm(initial=initial)

    return render_modal_workflow(request,
                                 'wagtailimages/chooser/select_format.html',
                                 'wagtailimages/chooser/select_format.js', {
                                     'image': image,
                                     'form': form
                                 })
コード例 #3
0
ファイル: chooser.py プロジェクト: tnir/wagtail
class ImageSelectFormatView(SelectFormatResponseMixin, ImageChosenResponseMixin, View):
    model = None

    def get(self, request, image_id):
        image = get_object_or_404(self.model, id=image_id)
        initial = {"alt_text": image.default_alt_text}
        initial.update(request.GET.dict())
        # If you edit an existing image, and there is no alt text, ensure that
        # "image is decorative" is ticked when you open the form
        initial["image_is_decorative"] = initial["alt_text"] == ""
        form = ImageInsertionForm(initial=initial, prefix="image-chooser-insertion")
        return self.render_select_format_response(image, form)

    def get_chosen_response_data(self, image):
        format = get_image_format(self.form.cleaned_data["format"])
        alt_text = self.form.cleaned_data["alt_text"]
        response_data = super().get_chosen_response_data(
            image, preview_image_filter=format.filter_spec
        )
        response_data.update(
            {
                "format": format.name,
                "alt": alt_text,
                "class": format.classnames,
                "html": format.image_to_editor_html(image, alt_text),
            }
        )
        return response_data

    def post(self, request, image_id):
        image = get_object_or_404(get_image_model(), id=image_id)

        self.form = ImageInsertionForm(
            request.POST,
            initial={"alt_text": image.default_alt_text},
            prefix="image-chooser-insertion",
        )
        if self.form.is_valid():
            return self.get_chosen_response(image)
        else:
            return self.render_select_format_response(image, self.form)
コード例 #4
0
ファイル: image.py プロジェクト: TorselloM/non-admin-draftail
def image_select_format(request, image_id):
    image = get_object_or_404(get_image_model(), id=image_id)

    if request.method == "POST":
        form = ImageInsertionForm(
            request.POST,
            initial={"alt_text": image.default_alt_text},
            prefix="image-chooser-insertion",
        )
        if form.is_valid():
            format = get_image_format(form.cleaned_data["format"])
            preview_image = image.get_rendition(format.filter_spec)

            image_data = {
                "id":
                image.id,
                "title":
                image.title,
                "format":
                format.name,
                "alt":
                form.cleaned_data["alt_text"],
                "class":
                format.classnames,
                "edit_link":
                reverse("wagtailimages:edit", args=(image.id, )),
                "preview": {
                    "url": preview_image.url,
                    "width": preview_image.width,
                    "height": preview_image.height,
                },
                "html":
                format.image_to_editor_html(image,
                                            form.cleaned_data["alt_text"]),
            }

            return render_modal_workflow(
                request,
                None,
                None,
                None,
                json_data={
                    "step": "image_chosen",
                    "result": image_data
                },
            )
    else:
        initial = {"alt_text": image.default_alt_text}
        initial.update(request.GET.dict())
        form = ImageInsertionForm(initial=initial,
                                  prefix="image-chooser-insertion")

    return render_modal_workflow(
        request,
        "non_admin_draftail/image/select_format.html",
        None,
        {
            "image": image,
            "form": form
        },
        json_data={"step": "select_format"},
    )