{% extends "ereuse_devicehub/base_site.html" %} {% block main %} <div class="pagetitle"> <h1>Inventory</h1> <nav> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="{{ url_for('inventory.devicelist')}}">Inventory</a></li> <li class="breadcrumb-item active">{{ page_title }}</li> </ol> </nav> </div><!-- End Page Title --> <section class="section profile"> <div class="row"> <div class="col-xl-12"> <div class="card"> <div class="card-body pt-3"> <h3>{{ placeholder.device.devicehub_id }}</h3> <div class="tab-pane active show mb-5"> <div class="btn-group dropdown" uib-dropdown="" style="float: right; margin-right: 15px;"> <button id="btnUniqueID" type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> <i class="bi bi-tag"></i> Unique Identifiers (Tags) </button> <span class="d-none" id="unlinkTagAlertModal" data-bs-toggle="modal" data-bs-target="#unlinkTagErrorModal"></span> <span class="d-none" id="addTagAlertModal" data-bs-toggle="modal" data-bs-target="#addingTagModal"></span> <ul class="dropdown-menu" aria-labelledby="btnUniqueID"> <li> <a href="javascript:addTag()" class="dropdown-item"> <i class="bi bi-plus"></i> Add Unique Identifier </a> </li> <li> <a href="{{ url_for('inventory.tag_devices_del', dhid=placeholder.device.devicehub_id) }}" class="dropdown-item"> <i class="bi bi-x"></i> Remove Unique Identifier </a> </li> </ul> </div> {% if placeholder.status in ['Abstract', 'Real'] %} <a type="button" href="{{ url_for('inventory.binding_search', dhid=placeholder.device.devicehub_id) }}" class="btn btn-primary" style="float: right; margin-right: 15px;"> New Twin </a> {% elif placeholder.status == 'Twin' %} <a type="button" href="{{ url_for('inventory.unbinding', phid=placeholder.phid) }}" class="btn btn-primary" style="float: right; margin-right: 15px;"> Delete Twin </a> {% endif %} <div style="display: block;"></div> </div> <!-- Bordered Tabs --> <ul class="nav nav-tabs nav-tabs-bordered"> <li class="nav-item"> <button class="nav-link" data-bs-toggle="tab" data-bs-target="#details">General details</button> </li> <li class="nav-item"> <a class="nav-link" href="{{ device.public_link }}" target="_blank">Web</a> </li> <li class="nav-item"> <button class="nav-link" data-bs-toggle="tab" data-bs-target="#lots">Lots</button> </li> <li class="nav-item"> <button class="nav-link" data-bs-toggle="tab" data-bs-target="#status">Status</button> </li> <li class="nav-item"> <button class="nav-link" data-bs-toggle="tab" data-bs-target="#traceability">Traceability log</button> </li> <li class="nav-item"> <button class="nav-link" data-bs-toggle="tab" data-bs-target="#components">Components</button> </li> </ul> <div class="tab-content pt-2"> <div class="tab-pane fade show active" id="details"> <h5 class="card-title">Details Real part</h5> <div class="row mb-3"> <div class="col-lg-3 col-md-4 label "> (<a href="{{ url_for('inventory.device_edit', id=placeholder.device.devicehub_id)}}">Edit Device</a>) </div> <div class="col-lg-9 col-md-8">{{ placeholder.status }}</div> </div> <div class="row"> <div class="col-lg-3 col-md-4 label ">Phid</div> <div class="col-lg-9 col-md-8">{{ placeholder.phid }}</div> </div> <div class="row"> <div class="col-lg-3 col-md-4 label ">Type</div> <div class="col-lg-9 col-md-8">{{ placeholder.device.type }}</div> </div> <div class="row"> <div class="col-lg-3 col-md-4 label">Manufacturer</div> <div class="col-lg-9 col-md-8">{{ placeholder.device.manufacturer or ''}}</div> </div> <div class="row"> <div class="col-lg-3 col-md-4 label">Model</div> <div class="col-lg-9 col-md-8">{{ placeholder.device.model or ''}}</div> </div> <div class="row"> <div class="col-lg-3 col-md-4 label">Part Number</div> <div class="col-lg-9 col-md-8">{{ placeholder.device.part_number or ''}}</div> </div> <div class="row"> <div class="col-lg-3 col-md-4 label">Serial Number</div> <div class="col-lg-9 col-md-8">{{ placeholder.device.serial_number or ''}}</div> </div> {% if placeholder.binding %} <h5 class="card-title">Details Abstract part</h5> <div class="row"> <div class="col-lg-3 col-md-4 label ">Type</div> <div class="col-lg-9 col-md-8">{{ placeholder.binding.type }}</div> </div> <div class="row"> <div class="col-lg-3 col-md-4 label">Manufacturer</div> <div class="col-lg-9 col-md-8">{{ placeholder.binding.manufacturer or ''}}</div> </div> <div class="row"> <div class="col-lg-3 col-md-4 label">Model</div> <div class="col-lg-9 col-md-8">{{ placeholder.binding.model or ''}}</div> </div> <div class="row"> <div class="col-lg-3 col-md-4 label">Serial Number</div> <div class="col-lg-9 col-md-8">{{ placeholder.binding.serial_number or ''}}</div> </div> {% endif %} </div> <div class="tab-pane fade profile-overview" id="lots"> <h5 class="card-title">Incoming Lots</h5> <div class="row"> {% for lot in placeholder.device.lots %} {% if lot.is_incoming %} <div class="col"> <a class="ms-3" href="{{ url_for('inventory.lotdevicelist', lot_id=lot.id) }}"> <span>{{ lot.name }}</span> </a> </div> {% endif %} {% endfor %} </div> <h5 class="card-title">Outgoing Lots</h5> <div class="row"> {% for lot in placeholder.device.lots %} {% if lot.is_outgoing %} <div class="col"> <a class="ms-3" href="{{ url_for('inventory.lotdevicelist', lot_id=lot.id) }}"> <span>{{ lot.name }}</span> </a> </div> {% endif %} {% endfor %} </div> <h5 class="card-title">Temporary Lots</h5> <div class="row"> {% for lot in placeholder.device.lots %} {% if lot.is_temporary %} <div class="col"> <a class="ms-3" href="{{ url_for('inventory.lotdevicelist', lot_id=lot.id) }}"> <span>{{ lot.name }}</span> </a> </div> {% endif %} {% endfor %} </div> </div> <div class="tab-pane fade profile-overview" id="status"> <h5 class="card-title">Status Details</h5> <div class="row"> <div class="col-lg-3 col-md-4 label">Physical State</div> <div class="col-lg-9 col-md-8"> {% if placeholder.device.physical_status %} {{ placeholder.device.physical_status.type }} {% endif %} </div> </div> <div class="row"> <div class="col-lg-3 col-md-4 label">Lifecycle State</div> <div class="col-lg-9 col-md-8"> {% if placeholder.device.status %} {{ placeholder.device.status.type }} {% endif %} </div> </div> <div class="row"> <div class="col-lg-3 col-md-4 label">Allocated State</div> <div class="col-lg-9 col-md-8"> {% if placeholder.device.allocated_status %} {{ placeholder.device.allocated_status.type }} {% endif %} </div> </div> </div> <div class="tab-pane fade profile-overview" id="traceability"> <h5 class="card-title">Traceability log Details</h5> <div class="list-group col-6"> {% for action in placeholder.actions %} <div class="list-group-item d-flex justify-content-between align-items-center"> {{ action.type }} {{ action.severity }} <small class="text-muted">{{ action.created.strftime('%H:%M %d-%m-%Y') }}</small> </div> {% endfor %} </div> </div> <div class="tab-pane fade profile-overview" id="components"> <h5 class="card-title">Components Real part</h5> <div class="list-group col-6"> {{ placeholder.components or '' }} </div> {% if placeholder.binding %} <h5 class="card-title">Components Abstract part</h5> <div class="list-group col-6"> {% for component in placeholder.binding.components|sort(attribute='type') %} <div class="list-group-item"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">{{ component.type }}</h5> <small class="text-muted">{{ component.created.strftime('%H:%M %d-%m-%Y') }}</small> </div> <p class="mb-1"> {{ component.manufacturer }}<br /> {{ component.model }}<br /> </p> <small class="text-muted"> {% if component.type in ['RamModule', 'HardDrive', 'SolidStateDrive'] %} {{ component.size }}MB {% endif %} </small> </div> {% endfor %} </div> {% endif %} </div> </div> </div> </div> </div> </section> <script> function addTag() { const devices_id = [{{ placeholder.device.id }}]; if (devices_id.length == 1) { $("#addingTagModal .pol").hide(); $("#addingTagModal .btn-primary").show(); } else { $("#addingTagModal .pol").show(); $("#addingTagModal .btn-primary").hide(); } $("#addTagAlertModal").click(); } </script> {% include "inventory/addDevicestag.html" %} {% endblock main %}