def test_ViewAccessibiliteForm_filled_null_comment():
    form = forms.ViewAccessibiliteForm({
        "sanitaires_presence": True,
        "commentaire": "",
    })
    data = form.get_accessibilite_data()
    assert list(data.keys()) == ["Sanitaires"]
def test_ViewAccessibiliteForm_serialized():
    form = forms.ViewAccessibiliteForm({
        "entree_reperage": True,
    })
    data = form.get_accessibilite_data()
    field = data["Entrée"]["fields"][0]

    assert field["name"] == "entree_reperage"
    assert field["label"] == schema.get_help_text_ui("entree_reperage")
    assert field["value"] is True
    assert field["warning"] is False
    assert field["is_comment"] is False
Ejemplo n.º 3
0
def erp_details(request, commune, erp_slug, activite_slug=None):
    base_qs = (Erp.objects.select_related(
        "accessibilite",
        "activite",
        "commune_ext",
        "user",
    ).published().with_votes().filter(commune_ext__slug=commune,
                                      slug=erp_slug))
    if activite_slug:
        base_qs = base_qs.filter(activite__slug=activite_slug)
    erp = get_object_or_404(base_qs)
    nearest_erps = (Erp.objects.select_related(
        "accessibilite", "activite", "commune_ext").published().nearest(
            erp.geom).filter(distance__lt=Distance(km=20))[:10])
    geojson_list = make_geojson(nearest_erps)
    form = forms.ViewAccessibiliteForm(instance=erp.accessibilite)
    accessibilite_data = form.get_accessibilite_data()
    user_vote = (request.user.is_authenticated and
                 not Vote.objects.filter(user=request.user, erp=erp).exists()
                 and request.user != erp.user)
    user_is_subscribed = request.user.is_authenticated and erp.is_subscribed_by(
        request.user)
    url_widget_js = f"{settings.SITE_ROOT_URL}/static/js/widget.js"

    widget_tag = f"""<div id="widget-a11y-container" data-pk="{erp.uuid}" data-baseurl="{settings.SITE_ROOT_URL}"></div>\n
<a href="#" aria-haspopup="dialog" aria-controls="dialog">Accessibilité</a>
<script src="{url_widget_js}" type="text/javascript" async="true"></script>\n"""
    return render(
        request,
        "erp/index.html",
        context={
            "accessibilite_data": accessibilite_data,
            "activite": erp.activite,
            "commune": erp.commune_ext,
            "commune_json": erp.commune_ext.toTemplateJson(),
            "erp": erp,
            "geojson_list": geojson_list,
            "nearest_erps": nearest_erps,
            "widget_tag": widget_tag,
            "url_widget_js": url_widget_js,
            "root_url": settings.SITE_ROOT_URL,
            "user_is_subscribed": user_is_subscribed,
            "user_vote": user_vote,
        },
    )
def test_ViewAccessibiliteForm_filled():
    form = forms.ViewAccessibiliteForm({
        "entree_reperage": True,
        "transport_station_presence": True,
        "stationnement_presence": True,
        "cheminement_ext_presence": True,
        "accueil_visibilite": True,
        "sanitaires_presence": True,
        "commentaire": "plop",
    })
    data = form.get_accessibilite_data()
    assert list(data.keys()) == [
        "Transports en commun",
        "Stationnement",
        "Chemin extérieur",
        "Entrée",
        "Accueil",
        "Sanitaires",
        "Commentaire",
    ]
def test_ViewAccessibiliteForm_filled_with_comment():
    form = forms.ViewAccessibiliteForm({"commentaire": "plop"})
    data = form.get_accessibilite_data()
    field = data["Commentaire"]["fields"][0]
    assert field["value"] == "plop"
    assert field["is_comment"] is True
def test_ViewAccessibiliteForm_empty():
    form = forms.ViewAccessibiliteForm()
    data = form.get_accessibilite_data()
    assert list(data.keys()) == []
 def _factory(name, value):
     instance = Accessibilite(**{name: value})
     form = forms.ViewAccessibiliteForm(instance=instance)
     return form.get_accessibilite_data(flatten=True)