84 lines
3.4 KiB
HTML
84 lines
3.4 KiB
HTML
{% extends "base.html" %}
|
|
{% block content %}
|
|
|
|
<h2>Devices</h2>
|
|
|
|
{% with messages = get_flashed_messages() %}
|
|
{% if messages %}
|
|
<div class="mt-2 alert alert-info">
|
|
{% for message in messages %}{{ message }}<br>{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
{% endwith %}
|
|
|
|
{% if current_user.is_admin %}
|
|
<h4>Neues Gerät hinzufügen</h4>
|
|
<form method="post" class="row g-2 mb-4">
|
|
<input type="hidden" name="add_device" value="1">
|
|
<div class="col"><input type="text" name="name" placeholder="Hostname" class="form-control" required></div>
|
|
<div class="col"><input type="text" name="rpi_ip" placeholder="IP-Adresse" class="form-control" required></div>
|
|
<div class="col"><input type="text" name="mac" placeholder="MAC-Adresse" class="form-control" required></div>
|
|
<div class="col"><input type="text" name="port" placeholder="Port" class="form-control" required></div>
|
|
<div class="col">
|
|
<select name="switch_hostname" class="form-control" required>
|
|
<option value="">Switch wählen</option>
|
|
{% for sw in switches %}
|
|
<option value="{{ sw['hostname'] }}">{{ sw['hostname'] }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
<div class="col"><button class="btn btn-success w-100">Hinzufügen</button></div>
|
|
</form>
|
|
{% endif %}
|
|
|
|
<table class="table table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th>Hostname</th>
|
|
<th>IP-Adresse</th>
|
|
<th>MAC-Adresse</th>
|
|
<th>Switch</th>
|
|
<th>Port</th>
|
|
{% if current_user.is_admin %}<th>Aktionen</th>{% endif %}
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for d in devices %}
|
|
<tr>
|
|
{% if current_user.is_admin %}
|
|
<form method="post">
|
|
<input type="hidden" name="edit_device" value="1">
|
|
<input type="hidden" name="old_mac" value="{{ d['mac'] }}">
|
|
<td><input name="name" value="{{ d['name'] }}" class="form-control" required></td>
|
|
<td><input name="rpi_ip" value="{{ d['rpi_ip'] }}" class="form-control" required></td>
|
|
<td><input name="mac" value="{{ d['mac'] }}" class="form-control" required></td>
|
|
<td>
|
|
<select name="switch_hostname" class="form-control" required>
|
|
{% for sw in switches %}
|
|
<option value="{{ sw['hostname'] }}" {% if sw['hostname']==d['switch_hostname'] %}selected{% endif %}>
|
|
{{ sw['hostname'] }}
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
</td>
|
|
<td><input name="port" value="{{ d['port'] }}" class="form-control" required></td>
|
|
<td class="d-flex gap-1">
|
|
<button class="btn btn-primary btn-sm">Speichern</button>
|
|
<button name="delete_device" value="{{ d['mac'] }}" class="btn btn-danger btn-sm"
|
|
onclick="return confirm('Willst du das Gerät wirklich löschen?');">Löschen</button>
|
|
</td>
|
|
</form>
|
|
{% else %}
|
|
<td>{{ d['name'] }}</td>
|
|
<td>{{ d['rpi_ip'] }}</td>
|
|
<td>{{ d['mac'] }}</td>
|
|
<td>{{ d['switch_hostname'] }}</td>
|
|
<td>{{ d['port'] }}</td>
|
|
{% endif %}
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
|
|
{% endblock %}
|