mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-01-11 12:49:33 +00:00
Die Tabs "Details" und "Stückliste" wurden in der Baugruppenansicht vertauscht, um der Nutzererwartung besser zu entsprechen. Zudem wurde die Methode zur rekursiven Ermittlung referenzierter Baugruppen überarbeitet und in der Datentabelle integriert.
115 lines
No EOL
5.7 KiB
Twig
115 lines
No EOL
5.7 KiB
Twig
{% extends "main_card.html.twig" %}
|
|
{% import "helper.twig" as helper %}
|
|
|
|
{% block title %}
|
|
{% trans %}assembly.info.title{% endtrans %}: {{ assembly.name }}
|
|
{% endblock %}
|
|
|
|
{% block before_card %}
|
|
<div class="row mb-3">
|
|
<div class="col d-flex align-items-center">
|
|
<a href="{{ path('assembly_new') }}"
|
|
class="btn btn-success me-2 {% if not is_granted('@assemblies.create') %}disabled{% endif %}">
|
|
<i class="fas fa-plus-square fa-fw"></i>
|
|
{% trans %}assembly.new{% endtrans %}
|
|
</a>
|
|
|
|
<div class="btn-group">
|
|
<a class="btn btn-success" {% if not is_granted('@assemblies.edit') %}disabled{% endif %}
|
|
href="{{ path('assembly_add_parts', {"id": assembly.id, "_redirect": uri_without_host(app.request)}) }}">
|
|
<i class="fa-solid fa-square-plus fa-fw"></i>
|
|
{% trans %}assembly.info.bom_add_parts{% endtrans %}
|
|
</a>
|
|
<button type="button" class="btn btn-success dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
|
|
<span class="visually-hidden">Toggle Dropdown</span>
|
|
</button>
|
|
<ul class="dropdown-menu">
|
|
<li>
|
|
<a class="dropdown-item" href="{{ path('assembly_import_bom', {'id': assembly.id}) }}" {% if not is_granted('edit', assembly) %}disabled="disabled"{% endif %}>
|
|
<i class="fa-solid fa-file-import fa-fw"></i>
|
|
{% trans %}assembly.edit.bom.import_bom{% endtrans %}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<a class="btn btn-secondary ms-2" {% if not is_granted('@assemblies.edit') %}disabled{% endif %}
|
|
href="{{ path('assembly_edit', {"id": assembly.id}) }}#part">
|
|
<i class="fa-solid fa-square-plus fa-cog"></i>
|
|
{% trans %}assembly_bom_entry.label{% endtrans %}
|
|
</a>
|
|
|
|
<a class="btn btn-secondary ms-2" {% if not is_granted('@assemblies.edit') %}disabled{% endif %}
|
|
href="{{ path('assembly_edit', {"id": assembly.id}) }}">
|
|
<i class="fa-solid fa-pencil"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
{{ helper.breadcrumb_entity_link(assembly) }}
|
|
{{ parent() }}
|
|
{% endblock %}
|
|
|
|
{% block card_title %}
|
|
{% if assembly.masterPictureAttachment is not null and attachment_manager.isFileExisting(assembly.masterPictureAttachment) %}
|
|
<img class="hoverpic ms-0 me-1 d-inline" {{ stimulus_controller('elements/hoverpic') }} data-thumbnail="{{ entity_url(assembly.masterPictureAttachment, 'file_view') }}" src="{{ attachment_thumbnail(assembly.masterPictureAttachment, 'thumbnail_sm') }}">
|
|
{% else %}
|
|
{{ helper.entity_icon(assembly, "me-1") }}
|
|
{% endif %}
|
|
{% trans %}assembly.info.title{% endtrans %}: <b>{{ assembly.name }}</b>
|
|
{% endblock %}
|
|
|
|
{% block card_content %}
|
|
<ul class="nav nav-tabs" role="tablist">
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link active" id="info-tab" data-bs-toggle="tab" data-bs-target="#info-tab-pane"
|
|
type="button" role="tab" aria-controls="info-tab-pane" aria-selected="true">
|
|
<i class="fa-solid fa-circle-info fa-fw"></i>
|
|
{% trans %}assembly.info.info.label{% endtrans %}
|
|
</button>
|
|
</li>
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link" id="part-tab" data-bs-toggle="tab" data-bs-target="#part-tab-pane"
|
|
type="button" role="tab" aria-controls="part-tab-pane" aria-selected="false">
|
|
<i class="fa-solid fa-list-check fa-fw"></i>
|
|
{% trans %}assembly_bom_entry.label{% endtrans %}
|
|
<span class="badge bg-secondary">{{ assembly.bomEntries | length }}</span>
|
|
</button>
|
|
</li>
|
|
<li class="nav-item" role="presentation">
|
|
<button class="nav-link" id="builds-tab" data-bs-toggle="tab" data-bs-target="#builds-tab-pane"
|
|
type="button" role="tab" aria-controls="builds-tab-pane" aria-selected="false">
|
|
<i class="fa-solid fa-bolt fa-fw"></i>
|
|
{% trans %}assembly.info.builds.label{% endtrans %}
|
|
</button>
|
|
</li>
|
|
{% if assembly.attachments is not empty %}
|
|
<li class="nav-item">
|
|
<a class="nav-link" id="attachments-tab" data-bs-toggle="tab"
|
|
data-bs-target="#attachments-tab-pane" role="tab">
|
|
<i class="fas fa-paperclip fa-fw"></i>
|
|
{% trans %}attachment.labelp{% endtrans %}
|
|
<span class="badge bg-secondary">{{ assembly.attachments | length }}</span>
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
</ul>
|
|
|
|
<div class="tab-content">
|
|
<div class="tab-pane fade" id="info-tab-pane" role="tabpanel" aria-labelledby="info-tab" tabindex="0">
|
|
{% include "assemblies/info/_info.html.twig" %}
|
|
</div>
|
|
<div class="tab-pane fade show active" id="part-tab-pane" role="tabpanel" aria-labelledby="part-tab" tabindex="0">
|
|
{% include "assemblies/info/_part.html.twig" %}
|
|
</div>
|
|
<div class="tab-pane fade" id="builds-tab-pane" role="tabpanel" aria-labelledby="builds-tab" tabindex="0">
|
|
{% include "assemblies/info/_builds.html.twig" %}
|
|
</div>
|
|
<div class="tab-pane fade" id="attachments-tab-pane" role="tabpanel" aria-labelledby="attachments-tab" tabindex="0">
|
|
{% include "assemblies/info/_attachments_info.html.twig" with {"assembly": assembly} %}
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %} |