view sat_templates/templates/bulma/ticket/item.html @ 295:1de599c5a68f

bulma (base): loading screen: when the `loading_screen` variable is set before extending `base/base.html`, a loading modal is shown (and must be removed via JavaScript). This avoids the user to try to use an interface which is not reactive or working normally because JS is not fully loaded yet.
author Goffi <goffi@goffi.org>
date Fri, 27 Nov 2020 12:24:03 +0100
parents 40fccd3b7cf0
children
line wrap: on
line source

{# display a single ticket

    @variable item(xmlui_item): ticket to display
    @variable comments(data_object.BlogItems): comments of the ticket
    @variable comments_service(unicode): service for adding comments
    @variable comments_node(unicode): node for adding comments
#}

{% set category_menu = [('tickets', url_tickets_list),
                        ('ticket_new', url_tickets_new),
                        ] %}
{% if not embedded %}{% extends 'base/base.html' %}{% endif %}
{% import 'input/xmlui.html' as xmlui with context %}
{% import 'components/avatar.html' as avatar with context %}
{% import 'blog/macros.html' as blog with context %}
{% import 'input/textbox.html' as textbox with context %}

{% block title %}{{item|adv_format('#{value.widget_value.id} {value.widget_value.title}') }}{% endblock %}

{% block confirm_message %}
    {% trans %}Your comment has been sent{% endtrans %}
{% endblock confirm_message %}

{% block body %}
{{ icon_defs('pencil') }}
<div class="columns mt-4">
    <div class="column has-background-white">
        <div id="{{ item.widget_value['id'] }}" class="media px-1 py-1">
            {% if identities is defined %}
                {% if avatar is defined %}
                    <figure class="media-left">
                        {{ avatar.avatar(item.widget_value['publisher'].bare) }}
                    </figure>
                {% endif %}
            {% endif %}
            <div class="media-content">
                <div class="content">
                    <h4 class="title is-4">{{item.widget_value['title']}}</h1>
                    {{ item.widget_value['body'] }}

                </div>
                {% if comments is defined %}
                    {{ blog.show_items(comments['items']|reverse, expanded=true) }}
                {% endif %}
                {% if comments_node is defined %}
                    <div class="comment_post">
                        {{- textbox.comment_or_login(service=comments_service, node=comments_node) -}}
                    </div>
                {% endif %}
            </div>
            {% if url_ticket_edit is defined %}
                <div class="media-right">
                    <a href="{{url_ticket_edit}}">
                        {{ icon('pencil', cls='icon is-64x64') }}
                    </a>
                </div>
            {% endif %}
        </div>
    </div>
    <div class="column is-one-quarter has-background-light">
        {{
        xmlui.generate(
            item,
            form=false,
            filters={
                'created': {
                    'filters': ['date_fmt'],
                    'filters_args':[{'fmt': 'short'}]
                },
                'updated': {
                    'filters': ['date_fmt'],
                    'filters_args':[{'fmt': 'short'}]
                },
            },
            ignore=['publisher', 'title', 'body', 'comments_uri'],
        )
        }}
    </div>
</div>
{% endblock body %}