mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-08-05 18:55:26 +02:00
120 lines
No EOL
6.6 KiB
Twig
120 lines
No EOL
6.6 KiB
Twig
{% import "helper.twig" as helper %}
|
|
{% import "label_system/dropdown_macro.html.twig" as dropdown %}
|
|
|
|
{% include "parts/info/_withdraw_modal.html.twig" %}
|
|
|
|
<div class="table-responsive">
|
|
<table class="table table-striped table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th>{% trans %}part_lots.description{% endtrans %}</th>
|
|
<th>{% trans %}part_lots.storage_location{% endtrans %}</th>
|
|
<th>{% trans %}part_lots.amount{% endtrans %}</th>
|
|
<th></th> {# Tags row #}
|
|
<th></th>
|
|
<th></th> {# Button row #}
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
{% for lot in part.partLots %}
|
|
<tr>
|
|
<td>{{ lot.description }}</td>
|
|
<td>
|
|
{% if lot.storageLocation %}
|
|
{{ helper.structural_entity_link(lot.storageLocation) }}
|
|
{% else %}
|
|
<span class="badge rounded-pill bg-warning">
|
|
<i class="fas fa-question-circle fa-fw"></i> {% trans %}part_lots.location_unknown{% endtrans %}
|
|
</span>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if lot.instockUnknown %}
|
|
<span class="badge rounded-pill bg-warning">
|
|
<i class="fas fa-question-circle fa-fw"></i> {% trans %}part_lots.instock_unknown{% endtrans %}
|
|
</span>
|
|
{% else %}
|
|
{{ lot.amount | format_amount(part.partUnit, {'decimals': 5}) }}
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
<h6>
|
|
{% if lot.owner %}
|
|
<span class="badge bg-light mb-1" title="{% trans %}part_lot.owner{% endtrans %}">
|
|
{{ helper.user_icon_link(lot.owner) }}
|
|
</span><br>
|
|
{% endif %}
|
|
{% if lot.expirationDate %}
|
|
<span class="badge bg-info mb-1" title="{% trans %}part_lots.expiration_date{% endtrans %}">
|
|
<i class="fas fa-calendar-alt fa-fw"></i> {{ lot.expirationDate | format_date() }}<br>
|
|
</span>
|
|
{% endif %}
|
|
{% if lot.expired %}
|
|
<br>
|
|
<span class="badge bg-warning mb-1">
|
|
<i class="fas fa-exclamation-circle fa-fw"></i>
|
|
{% trans %}part_lots.is_expired{% endtrans %}
|
|
</span>
|
|
{% endif %}
|
|
{% if lot.needsRefill %}
|
|
<br>
|
|
<span class="badge bg-warning mb-1">
|
|
<i class="fas fa-dolly fa-fw"></i>
|
|
{% trans %}part_lots.need_refill{% endtrans %}
|
|
</span>
|
|
{% endif %}
|
|
</h6>
|
|
</td>
|
|
<td>
|
|
<div class="btn-group" role="group">
|
|
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#withdraw-modal"
|
|
data-action="withdraw" data-lot-id="{{ lot.id }}" data-lot-amount="{{ lot.amount }}"
|
|
title="{% trans %}part.info.withdraw_modal.title.withdraw{% endtrans %}"
|
|
{% if not is_granted('withdraw', lot) or not withdraw_add_helper.canWithdraw(lot) %}disabled{% endif %}
|
|
>
|
|
<i class="fa-solid fa-minus fa-fw"></i>
|
|
</button>
|
|
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#withdraw-modal"
|
|
data-action="add" data-lot-id="{{ lot.id }}" data-lot-amount="{{ lot.amount }}"
|
|
title="{% trans %}part.info.withdraw_modal.title.add{% endtrans %}"
|
|
{% if not is_granted('add', lot) or not withdraw_add_helper.canAdd(lot) %}disabled{% endif %}
|
|
>
|
|
<i class="fa-solid fa-plus fa-fw"></i>
|
|
</button>
|
|
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#withdraw-modal"
|
|
data-action="move" data-lot-id="{{ lot.id }}" data-lot-amount="{{ lot.amount }}"
|
|
title="{% trans %}part.info.withdraw_modal.title.move{% endtrans %}"
|
|
{% if not is_granted('move', lot) or not withdraw_add_helper.canWithdraw(lot) or part.partLots.count == 1 %}disabled{% endif %}
|
|
>
|
|
<i class="fa-solid fa-right-left fa-fw"></i>
|
|
</button>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
{{ dropdown.profile_dropdown('part_lot', lot.id, false) }}
|
|
</td>
|
|
<td>
|
|
<td> {# Action for order information #}
|
|
<div class="btn-group">
|
|
<button type="button" class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
<i class="fa-solid fa-lightbulb fa-fw"></i>
|
|
</button>
|
|
<div class="dropdown-menu">
|
|
<span class="text-muted dropdown-item-text" ><i class="fas fa-lightbulb fa-fw"></i> <b>{% trans %}id.label{% endtrans %}:</b> {{ lot.iD }}</span>
|
|
<span class="text-muted dropdown-item-text" ><i class="fas fa-history fa-fw"></i> <b>{% trans %}lastModified{% endtrans %}:</b> {{ helper.entity_last_modified(lot) }}</span>
|
|
<span class="text-muted dropdown-item-text" ><i class="fas fa-calendar-plus fa-fw"></i> <b>{% trans %}createdAt{% endtrans %}:</b> {{ helper.entity_created_at(lot) }}</span>
|
|
{% if lot.comment is not empty %}
|
|
<span class="text-muted dropdown-item-text" ><i class="fas fa-sticky-note fa-fw"></i> <b>{% trans %}part_lot.edit.comment{% endtrans %}:</b> {{ lot.comment }}</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
|
|
</table>
|
|
</div> |