Part-DB.Part-DB-server/templates/helper.twig

138 lines
5.2 KiB
Twig
Raw Normal View History

{% macro boolean(value) %}
{% if value %}
{% trans %}bool.true{% endtrans %}
{% else %}
{% trans %}bool.false{% endtrans %}
{% endif %}
2019-08-10 19:04:47 +02:00
{% endmacro %}
{% macro attachment_icon(attachment, attachment_helper, class = "fa-fw fas fa-3x", link = true) %}
{% set disabled = attachment.secure and not is_granted("show_secure", attachment) %}
2019-08-10 19:04:47 +02:00
{% if not attachment_helper or attachment_helper.fileExisting(attachment) %}
{% if link and not disabled %}
<a target="_blank" data-turbo="false" rel="noopener" href="{{ attachment|entityURL('file_view') }}">
{% endif %}
{% if attachment.picture %}
<img class="hoverpic" data-thumbnail="{{ attachment|entityURL('file_view') }}" src="{{ attachment|entityURL('file_view') }}">
{% else %}
<i class="text-dark {{ class }} {{ ext_to_fa_icon(attachment.extension) }}"></i>
{% endif %}
{% if link and not disabled %}
2019-08-10 19:04:47 +02:00
</a>
{% endif %}
2019-08-10 19:04:47 +02:00
{% elseif not attachment_helper.fileExisting(attachment) %}
<i class="{{ class }} fa-exclamation-triangle text-danger" title="{% trans %}attachment.file_not_found{% endtrans %}"></i>
2019-08-10 19:04:47 +02:00
{% endif %}
{% endmacro %}
2022-07-24 22:39:32 +02:00
{% macro string_to_tags(string, class="badge bg-info") %}
{% for tag in string|split(',') %}
<a href="{{ url('part_list_tags', {'tag': tag | trim}) }}" class="{{ class }}" >{{ tag | trim }}</a>
{% endfor %}
{% endmacro %}
{% macro m_status_to_badge(status, class="badge") %}
{% if status is not empty %}
2022-07-24 22:39:32 +02:00
{% set color = " bg-secondary" %}
{% if status == "active" %}
2022-07-24 22:39:32 +02:00
{% set color = " bg-success" %}
{% elseif status == "nrfnd" %}
2022-07-24 22:39:32 +02:00
{% set color = " bg-warning" %}
{% elseif status == "eol" %}
2022-07-24 22:39:32 +02:00
{% set color = " bg-warning" %}
{% elseif status == "discontinued" %}
2022-07-24 22:39:32 +02:00
{% set color = " bg-danger" %}
{% endif %}
<span class="{{ class ~ color}}" title="{{ ("m_status." ~ status ~ ".help") | trans }}">
<i class="fa-fw fas fa-info-circle"></i>
{{ ("m_status." ~ status) | trans }}
</span>
{% endif %}
{% endmacro %}
{% macro structural_entity_link(entity, link_type = "list_parts") %}
{# @var entity \App\Entity\Base\StructuralDBElement #}
{% if entity %}
<ul class="structural_link d-inline">
{% for e in entity.pathArray %}
<li>
{% if link_type is not empty and e.id is not null %}
<a href="{{ e | entityURL(link_type) }}">{{ e.name }}</a>
{% else %}
{{ e.name }}
{% endif %}
</li>
{% endfor %}
</ul>
{% else %}
-
{% endif %}
{% endmacro %}
{% macro breadcrumb_entity_link(entity, link_type = "list_parts") %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
{% for e in entity.pathArray %}
<li class="breadcrumb-item {% if loop.last %}active{% endif %}">
{% if link_type is not empty and not loop.last and e.id is not null %}
<a href="{{ e | entityURL(link_type) }}">{{ e.name }}</a>
{% else %}
{{ e.name }}
{% endif %}
</li>
{% endfor %}
</ol>
</nav>
{% endmacro %}
{% macro bool_icon(bool) %}
{% if bool %}
<i class="fas fa-check-circle fa-fw" title="{% trans %}Yes{% endtrans %}"></i>
{% else %}
<i class="fas fa-times-circle fa-fw" title="{% trans %}No{% endtrans %}"></i>
{% endif %}
{% endmacro %}
{% macro date_user_combination(entity, lastModified, datetime_format = "short") %}
{% if lastModified == true %}
{{ entity.lastModified | format_datetime(datetime_format) }}
{% else %}
{{ entity.addedDate | format_datetime(datetime_format) }}
{% endif %}
{% if is_granted('show_users', entity) %}
{% if lastModified == true %}
{% set user = getLastEditingUser(entity) %}
{% else %}
{% set user = getCreatingUser(entity) %}
{% endif %}
{% if user is not null %}
{% if user.fullName is not empty %}
<a href="{{ url('user_info', {"id": user.id}) }}" title="@{{ user.name }}"><i>({{ user.fullName }})</i></a>
{% else %}
<a href="{{ url('user_info', {"id": user.id}) }}" title="@{{ user.name }}"><i>(@{{ user.name }})</i></a>
{% endif %}
{% endif %}
{% endif %}
{% endmacro %}
{% macro parameters_table(parameters) %}
<table class="table table-hover table-striped table-sm">
<thead>
<tr>
<th>{% trans %}specifications.property{% endtrans %}</th>
<th>{% trans %}specifications.value{% endtrans %}</th>
</tr>
</thead>
<tbody>
{% for param in parameters %}
<tr>
<td>{{ param.name }} {% if param.symbol is not empty %}<span class="latex" data-controller="common--latex">${{ param.symbol }}$</span>{% endif %}</td>
<td>{{ param.formattedValue }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endmacro parameters_table %}