Ejemplo n.º 1
0
def phone_link(request):
    initial_data = {
        'link_text': request.GET.get('link_text', ''),
        'phone_number': request.GET.get('link_url', ''),
    }

    if request.method == 'POST':
        form = PhoneLinkChooserForm(request.POST, initial=initial_data, prefix='phone-link-chooser')

        if form.is_valid():
            result = {
                'url': 'tel:' + form.cleaned_data['phone_number'],
                'title': form.cleaned_data['link_text'].strip() or form.cleaned_data['phone_number'],
                # If the user has explicitly entered / edited something in the link_text field,
                # always use that text. If not, we should favour keeping the existing link/selection
                # text, where applicable.
                'prefer_this_title_as_link_text': ('link_text' in form.changed_data),
            }
            return render_modal_workflow(
                request, None, None,
                None, json_data={'step': 'external_link_chosen', 'result': result}
            )
    else:
        form = PhoneLinkChooserForm(initial=initial_data, prefix='phone-link-chooser')

    return render_modal_workflow(
        request,
        'wagtailadmin/chooser/phone_link.html', None,
        shared_context(request, {
            'form': form,
        }), json_data={'step': 'phone_link'}
    )
Ejemplo n.º 2
0
def phone_link(request):
    initial_data = {
        "link_text": request.GET.get("link_text", ""),
        "phone_number": request.GET.get("link_url", ""),
    }

    if request.method == "POST":
        form = PhoneLinkChooserForm(request.POST,
                                    initial=initial_data,
                                    prefix="phone-link-chooser")

        if form.is_valid():
            result = {
                "url":
                "tel:" + form.cleaned_data["phone_number"],
                "title":
                form.cleaned_data["link_text"].strip()
                or form.cleaned_data["phone_number"],
                # If the user has explicitly entered / edited something in the link_text field,
                # always use that text. If not, we should favour keeping the existing link/selection
                # text, where applicable.
                "prefer_this_title_as_link_text": ("link_text"
                                                   in form.changed_data),
            }
            return render_modal_workflow(
                request,
                None,
                None,
                None,
                json_data={
                    "step": "external_link_chosen",
                    "result": result
                },
            )
    else:
        form = PhoneLinkChooserForm(initial=initial_data,
                                    prefix="phone-link-chooser")

    return render_modal_workflow(
        request,
        "wagtailadmin/chooser/phone_link.html",
        None,
        shared_context(
            request,
            {
                "form": form,
            },
        ),
        json_data={"step": "phone_link"},
    )