misuzu/templates/changelog/macros.twig

99 lines
4.5 KiB
Twig
Raw Normal View History

2019-03-02 21:04:45 +00:00
{% macro changelog_listing(changes, hide_dates, is_small, is_manage) %}
2018-07-06 01:28:06 +00:00
{% from _self import changelog_entry %}
2019-03-02 21:04:45 +00:00
<div class="changelog__listing">
{% if changes|length > 0 %}
{% for change in changes %}
{% if not hide_dates and (last_date is not defined or last_date != change.change_date) %}
{% set last_date = change.change_date %}
2018-07-06 01:28:06 +00:00
2019-03-02 21:04:45 +00:00
<a href="{{ is_manage ? '#cd' ~ last_date : url('changelog-date', {'date': last_date}) }}" class="changelog__listing__date" id="cd{{ last_date }}">
{{ last_date }}
</a>
{% endif %}
2018-07-06 01:28:06 +00:00
2019-03-02 21:04:45 +00:00
{{ changelog_entry(change, is_small, is_manage) }}
{% endfor %}
{% else %}
<div class="changelog__listing__none">
There are no changes to display here.
</div>
{% endif %}
</div>
2018-07-06 01:28:06 +00:00
{% endmacro %}
2019-03-02 21:04:45 +00:00
{% macro changelog_entry(change, is_small, is_manage) %}
{% set change_url = url(is_manage ? 'manage-changelog-change-edit' : 'changelog-change', {'change': change.change_id}) %}
2018-07-06 01:28:06 +00:00
{% set has_text = change.change_has_text|default(false)
or (change.change_text is defined and change.change_text|length > 0)
%}
2019-03-02 21:04:45 +00:00
<div class="changelog__entry" id="cl{{ change.change_id }}">
<div class="changelog__entry__info">
{% if is_manage %}
2019-03-02 21:04:45 +00:00
<a href="{{ change_url|format(change.change_id) }}" class="changelog__entry__datetime">
<time class="changelog__datetime__text"
datetime="{{ change.change_created|date('c') }}"
title="{{ change.change_created|date('r') }}">
{{ change.change_created|time_diff }}
</time>
</a>
{% endif %}
2019-04-11 22:31:23 +00:00
{% if change.change_action == constant('MSZ_CHANGELOG_ACTION_ADD') %}
{% set action_name = 'Added' %}
{% elseif change.change_action == constant('MSZ_CHANGELOG_ACTION_REMOVE') %}
{% set action_name = 'Removed' %}
{% elseif change.change_action == constant('MSZ_CHANGELOG_ACTION_UPDATE') %}
{% set action_name = 'Updated' %}
{% elseif change.change_action == constant('MSZ_CHANGELOG_ACTION_FIX') %}
{% set action_name = 'Fixed' %}
{% elseif change.change_action == constant('MSZ_CHANGELOG_ACTION_IMPORT') %}
{% set action_name = 'Imported' %}
{% elseif change.change_action == constant('MSZ_CHANGELOG_ACTION_REVERT') %}
{% set action_name = 'Reverted' %}
{% else %}
{% set action_name = 'Unknown' %}
{% endif %}
<a class="changelog__entry__action changelog__action--{{ changelog_action_name(change.change_action) }}"
href="{{ change_url|format(change.change_id) }}"
2018-12-31 02:16:01 +00:00
{% if change.action_colour is defined %}style="{{ change.action_colour|html_colour('--action-colour') }}"{% endif %}
2019-04-11 22:31:23 +00:00
{% if is_small %}title="{{ action_name }}"{% endif %}>
2018-12-31 02:16:01 +00:00
{% if not is_small %}
2019-03-02 21:04:45 +00:00
<div class="changelog__entry__action__text">
2019-04-11 22:31:23 +00:00
{{ action_name }}
2018-12-31 02:16:01 +00:00
</div>
{% endif %}
</a>
2018-07-06 01:28:06 +00:00
{% if change.user_id is defined %}
2019-03-02 21:04:45 +00:00
<a class="changelog__entry__user"
href="{{ url(is_manage ? 'manage-user-edit' : 'user-profile', {'user': change.user_id}) }}"
style="{{ change.user_colour|html_colour }}">
2019-03-02 21:04:45 +00:00
<div class="changelog__entry__user__text">
{{ change.username }}
</div>
</a>
{% endif %}
</div>
2019-03-02 21:04:45 +00:00
<div class="changelog__entry__text">
<a class="changelog__entry__log{% if has_text %} changelog__entry__log--link{% endif %}"
{% if has_text %}href="{{ change_url|format(change.change_id) }}"{% endif %}>
{{ change.change_log }}
</a>
{% if is_manage %}
2019-03-02 21:04:45 +00:00
<div class="changelog__entry__tags">
{% for tag in change.tags %}
2019-03-02 21:04:45 +00:00
<a href="{{ url(is_manage ? 'manage-changelog-tag-edit' : 'changelog-tag', {'tag': tag.tag_id}) }}" class="changelog__entry__tag">
{{ tag.tag_name }}
</a>
{% endfor %}
</div>
{% endif %}
</div>
2018-07-06 01:28:06 +00:00
</div>
{% endmacro %}