64 lines
8.7 KiB
HTML
64 lines
8.7 KiB
HTML
{% load inventory_tags %}
|
|
<div class="table-shell" data-table-total="{{ total_count }}">
|
|
<table class="device-table" data-device-table>
|
|
<thead><tr>
|
|
{% if can_edit_devices %}<th class="selection-column"><input type="checkbox" data-select-all aria-label="Alle sichtbaren Geräte auswählen" title="Alle sichtbaren auswählen"></th>{% endif %}
|
|
<th data-column="number"><a href="?{% sort_query 'number' %}">Nr.</a></th>
|
|
<th data-column="shelf"><a href="?{% sort_query 'shelf' %}">Regal</a></th>
|
|
<th data-column="stage"><a href="?{% sort_query 'stage' %}">Arbeitsschritt</a></th>
|
|
<th data-column="status"><a href="?{% sort_query 'status' %}">Status</a></th>
|
|
<th data-column="date"><a href="?{% sort_query 'date' %}">Datum</a></th>
|
|
<th data-column="recipient"><a href="?{% sort_query 'recipient' %}">Empfänger</a></th>
|
|
<th data-column="location">Ort</th>
|
|
<th data-column="ticket"><a href="?{% sort_query 'ticket' %}">Ticket</a></th>
|
|
<th data-column="device_type"><a href="?{% sort_query 'device_type' %}">Typ</a></th>
|
|
<th data-column="price"><a href="?{% sort_query 'price' %}">Preis</a></th>
|
|
{% if "battery" in visible_hardware_fields %} <th data-column="battery">Akku</th>{% endif %}
|
|
{% if "wifi" in visible_hardware_fields %} <th data-column="wifi">WLAN</th>{% endif %}
|
|
{% if "lan" in visible_hardware_fields %} <th data-column="lan">LAN</th>{% endif %}
|
|
{% if "display_inches" in visible_hardware_fields %} <th data-column="display_inches"><a href="?{% sort_query 'display_inches' %}">Zoll</a></th>{% endif %}
|
|
{% if "ram_gb" in visible_hardware_fields %} <th data-column="ram_gb"><a href="?{% sort_query 'ram_gb' %}">RAM</a></th>{% endif %}
|
|
{% if "ssd_gb" in visible_hardware_fields %} <th data-column="ssd_gb"><a href="?{% sort_query 'ssd_gb' %}">SSD</a></th>{% endif %}
|
|
{% if "hdd_gb" in visible_hardware_fields %} <th data-column="hdd_gb"><a href="?{% sort_query 'hdd_gb' %}">HDD</a></th>{% endif %}
|
|
{% if "cpu" in visible_hardware_fields %} <th data-column="cpu"><a href="?{% sort_query 'cpu' %}">CPU</a></th>{% endif %}
|
|
{% for name, label in extra_hardware_columns %}<th data-column="{{ name }}">{{ label }}</th>{% endfor %}
|
|
<th data-column="model"><a href="?{% sort_query 'model' %}">Modell</a></th>
|
|
<th data-column="employee"><a href="?{% sort_query 'employee' %}">Bearbeiter</a></th>
|
|
<th data-column="donor">Spender</th>
|
|
<th data-column="comment">Kommentar</th>
|
|
{% for field in custom_columns %}<th data-column="custom_{{ field.key }}">{{ field.name }}</th>{% endfor %}
|
|
</tr></thead>
|
|
<tbody>
|
|
{% for device in page_obj %}
|
|
<tr data-device-id="{{ device.pk }}" data-revision="{{ device.revision }}" data-updated-at="{{ device.updated_at.isoformat }}" data-detail-url="{% url 'inventory:device-detail' device.pk %}{% if navigation_query %}?{{ navigation_query }}{% endif %}">
|
|
{% if can_edit_devices %}<td class="selection-column"><input type="checkbox" value="{{ device.pk }}" data-device-select aria-label="Gerät {{ device.number }} auswählen"></td>{% endif %}
|
|
<td data-column="number" class="mono strong"><a class="device-link" href="{% url 'inventory:device-detail' device.pk %}{% if navigation_query %}?{{ navigation_query }}{% endif %}">{{ device.number }}</a></td>
|
|
<td data-column="shelf" data-field="shelf" data-value="{{ device.shelf }}">{{ device.shelf|default:'—' }}</td>
|
|
<td data-column="stage">{{ device.get_stage_display }}</td>
|
|
<td data-column="status" data-field="status" data-input="select" data-value="{{ device.status_id }}"><span class="status status-colored" style="--status-color:{{ device.status.color|default:'#64748b' }}">{{ device.status.label }}</span></td>
|
|
<td data-column="date" data-field="date" data-input="date" data-value="{{ device.date|date:'Y-m-d' }}">{{ device.date|date:'d.m.Y' }}</td>
|
|
<td data-column="recipient" data-field="recipient" data-input="select" data-value="{{ device.recipient_id|default:'' }}">{{ device.recipient.label|default:'—' }}</td>
|
|
<td data-column="location" data-field="location" data-input="select" data-value="{{ device.location_id|default:'' }}">{{ device.location.label|default:'—' }}</td>
|
|
<td data-column="ticket" data-field="ticket" data-value="{{ device.ticket }}">{{ device.ticket|default:'—' }}</td>
|
|
<td data-column="device_type" data-field="device_type" data-input="select" data-value="{{ device.device_type_id|default:'' }}">{{ device.device_type.label|default:'—' }}</td>
|
|
<td data-column="price" data-field="price" data-input="number" data-step="0.01" data-value="{{ device.price|default:'' }}">{% if device.price != None %}{{ device.price|floatformat:2 }} €{% else %}—{% endif %}</td>
|
|
{% if "battery" in visible_hardware_fields %} {% if "battery" in device.hardware_fields %}<td data-column="battery" data-field="battery" data-input="tristate" data-value="{{ device.battery }}">{{ device.get_battery_display }}</td>{% else %}<td data-column="battery">—</td>{% endif %}{% endif %}
|
|
{% if "wifi" in visible_hardware_fields %} {% if "wifi" in device.hardware_fields %}<td data-column="wifi" data-field="wifi" data-input="tristate" data-value="{{ device.wifi }}">{{ device.get_wifi_display }}</td>{% else %}<td data-column="wifi">—</td>{% endif %}{% endif %}
|
|
{% if "lan" in visible_hardware_fields %} {% if "lan" in device.hardware_fields %}<td data-column="lan" data-field="lan" data-input="tristate" data-value="{{ device.lan }}">{{ device.get_lan_display }}</td>{% else %}<td data-column="lan">—</td>{% endif %}{% endif %}
|
|
{% if "display_inches" in visible_hardware_fields %} {% if "display_inches" in device.hardware_fields %}<td data-column="display_inches" data-field="display_inches" data-input="number" data-step="0.1" data-value="{{ device.display_inches|default:'' }}">{% if device.display_inches != None %}{{ device.display_inches|floatformat:-1 }} Zoll{% else %}—{% endif %}</td>{% else %}<td data-column="display_inches">—</td>{% endif %}{% endif %}
|
|
{% if "ram_gb" in visible_hardware_fields %} {% if "ram_gb" in device.hardware_fields %}<td data-column="ram_gb" data-field="ram_gb" data-input="number" data-value="{{ device.ram_gb|default:'' }}">{% if device.ram_gb %}{{ device.ram_gb }} GB{% else %}—{% endif %}</td>{% else %}<td data-column="ram_gb">—</td>{% endif %}{% endif %}
|
|
{% if "ssd_gb" in visible_hardware_fields %} {% if "ssd_gb" in device.hardware_fields %}<td data-column="ssd_gb" data-field="ssd_gb" data-input="number" data-value="{{ device.ssd_gb|default:'' }}">{% if device.ssd_gb != None %}{{ device.ssd_gb }} GB{% else %}—{% endif %}</td>{% else %}<td data-column="ssd_gb">—</td>{% endif %}{% endif %}
|
|
{% if "hdd_gb" in visible_hardware_fields %} {% if "hdd_gb" in device.hardware_fields %}<td data-column="hdd_gb" data-field="hdd_gb" data-input="number" data-value="{{ device.hdd_gb|default:'' }}">{% if device.hdd_gb != None %}{{ device.hdd_gb }} GB{% else %}—{% endif %}</td>{% else %}<td data-column="hdd_gb">—</td>{% endif %}{% endif %}
|
|
{% if "cpu" in visible_hardware_fields %} {% if "cpu" in device.hardware_fields %}<td data-column="cpu" data-field="cpu" data-value="{{ device.cpu }}">{{ device.cpu|default:'—' }}</td>{% else %}<td data-column="cpu">—</td>{% endif %}{% endif %}
|
|
{% for name, label in extra_hardware_columns %}<td data-column="{{ name }}">{% if name in device.hardware_fields %}{% hardware_display device name %}{% else %}—{% endif %}</td>{% endfor %}
|
|
<td data-column="model" data-field="model" data-value="{{ device.model }}">{{ device.model|default:'—' }}</td>
|
|
<td data-column="employee" data-field="employee" data-input="select" data-value="{{ device.employee_id|default:'' }}">{{ device.employee.code|default:'—' }}</td>
|
|
<td data-column="donor" data-field="donor" data-value="{{ device.donor }}">{{ device.donor|default:'—' }}</td>
|
|
<td data-column="comment" data-field="comment" data-value="{{ device.comment }}">{{ device.comment|default:'—' }}</td>
|
|
{% for field in custom_columns %}<td data-column="custom_{{ field.key }}">{{ device.custom_values|get_item:field.key|display_custom|default_if_none:'—' }}</td>{% endfor %}
|
|
</tr>
|
|
{% empty %}<tr><td colspan="30" class="empty"><strong>Keine Geräte gefunden</strong><span>Filter anpassen oder ein neues Gerät anlegen.</span></td></tr>{% endfor %}
|
|
</tbody>
|
|
</table></div>
|
|
<div class="pagination"><span>Seite {{ page_obj.number }} von {{ page_obj.paginator.num_pages }}</span><div>{% if page_obj.has_previous %}<a class="btn" href="?page={{ page_obj.previous_page_number }}&{{ query_string }}">← Zurück</a>{% endif %}{% if page_obj.has_next %}<a class="btn" href="?page={{ page_obj.next_page_number }}&{{ query_string }}">Weiter →</a>{% endif %}</div></div>
|