view default/merge-request/item.html @ 96:94b5806b9e2f

blog/item: various improvments: - title and publication date are now clickable if HTTP link of item is set - show labels (aka tags/categories) - text only content in body is urlized
author Goffi <goffi@goffi.org>
date Fri, 19 Jan 2018 18:19:57 +0100
parents 339f4011ed9b
children da8f1ba9034d
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 = [('merge-requests_list', url_tickets_list),
                        ('merge-request_new', url_tickets_new)] %}
{% if not embedded %}{% extends 'base/base.html' %}{% endif %}
{% import 'input/xmlui.html' as xmlui with context %}
{% import 'blog/macros.html' as blog with context %}
{% import 'input/comment.html' as comment 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 %}
<div class="tab_container">
    <div class="tab_header">
        <ul>
            <li class="tab_button clicked" onclick='toggle_clicked_class_sel(".tab_button,.tab_page")'>{% trans %}Description{% endtrans %}</li>
            <li class="tab_button" onclick='toggle_clicked_class_sel(".tab_button,.tab_page")'>{% trans %}Patches{% endtrans %}</li>
        </ul>
    </div>
    <div class="tab_page clicked" id="tab_description">
        <div id="{{ item.widget_value['id'] }}" class="view single ticket box">
            {{ xmlui.generate(item,
                form=false,
                filters={'created': {'filters': ['date_fmt'], 'filters_args':[{'fmt': 'short'}]},
                         'updated': {'filters': ['date_fmt'], 'filters_args':[{'fmt': 'short'}]},
                         'body': {'filters': ['urlize'], 'filters_args':[{'nofollow': True, 'rel': 'noopener noreferrer'}]}},
                )}}
        </div>
        {% if comments is defined %}
        <div id="blog_items">
            {{ blog.show_items(comments|reverse, expanded=true) }}
        </div>
        {% endif %}
        {% if comments_node is defined %}
            <div class="comment_post">
                {{- comment.comment_or_login(service=comments_service, node=comments_node) -}}
            </div>
        {% endif %}
    </div>
    <div class="tab_page" id="tab_patches">
        {% for patch in patches %}
            <div class="patch">
                <header class="box">
                    <div class="author"><label>{% trans %}author:{% endtrans %} </label>{{patch.author}}</div>
                    <p class="commit_msg">{{patch.commit_msg}}</p>
                </header>
                <div class="diff">
                    {{- patch.diff|highlight('diff') -}}
                </div>
            </div>
        {% endfor %}
    </div>
</div>
{% endblock body %}