Exemple #1
0
def _render_tag_group(tg_id: Union[TagID, str], tag: Union[TagValue, str],
                      object_type: str, with_link: bool, label_type: str,
                      label_source: str) -> HTML:
    span = html.render_tag(html.render_div(
        html.render_span("%s:%s" % (tg_id, tag), class_=["tagify__tag-text"])),
                           class_=["tagify--noAnim", label_source])
    if not with_link:
        return span

    if label_type == "tag_group":
        type_filter_vars: HTTPVariables = [
            ("%s_tag_0_grp" % object_type, tg_id),
            ("%s_tag_0_op" % object_type, "is"),
            ("%s_tag_0_val" % object_type, tag),
        ]
    elif label_type == "label":
        type_filter_vars = [
            ("%s_label" % object_type,
             json.dumps([{
                 "value": "%s:%s" % (tg_id, tag)
             }])),
        ]

    else:
        raise NotImplementedError()

    url_vars: HTTPVariables = [
        ("filled_in", "filter"),
        ("search", "Search"),
        ("view_name", "searchhost" if object_type == "host" else "searchsvc"),
    ]

    url = html.makeuri_contextless(url_vars + type_filter_vars,
                                   filename="view.py")
    return html.render_a(span, href=url)
Exemple #2
0
def _render_tag_group(tg_id, tag, object_type, with_link, label_type,
                      label_source):
    span = html.render_tag(html.render_div(
        html.render_span("%s:%s" % (tg_id, tag), class_=["tagify__tag-text"])),
                           class_=["tagify--noAnim", label_source])
    if not with_link:
        return span

    if label_type == "tag_group":
        type_filter_vars = [
            ("%s_tag_0_grp" % object_type, tg_id),
            ("%s_tag_0_op" % object_type, "is"),
            ("%s_tag_0_val" % object_type, tag),
        ]
    elif label_type == "label":
        type_filter_vars = [
            ("%s_label" % object_type,
             json.dumps([{
                 "value": "%s:%s" % (tg_id, tag)
             }]).decode("utf-8")),
        ]

    else:
        raise NotImplementedError()

    url = html.makeuri_contextless([
        ("filled_in", "filter"),
        ("search", "Search"),
        ("view_name", "searchhost" if object_type == "host" else "searchsvc"),
    ] + type_filter_vars,
                                   filename="view.py")
    return html.render_a(span, href=url)