manage-your-printer/templates/admin_printer_settings.html
2025-06-04 10:03:22 +02:00

119 lines
6.9 KiB
HTML

{% extends "base.html" %}
{% block title %}Drucker-Einstellungen - Mercedes-Benz MYP Platform{% endblock %}
{% block head %}
{{ super() }}
<meta name="csrf-token" content="{{ csrf_token() }}">
{% endblock %}
{% block content %}
<div class="min-h-screen bg-gradient-to-br from-slate-50 via-blue-50 to-indigo-50 dark:from-slate-900 dark:via-slate-800 dark:to-slate-900">
<div class="max-w-2xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<!-- Header -->
<div class="mb-8">
<div class="flex items-center justify-between">
<div>
<h1 class="text-3xl font-bold text-slate-900 dark:text-white">{{ printer.name }} - Einstellungen</h1>
<p class="text-slate-600 dark:text-slate-400 mt-2">Konfiguration und Einstellungen des Druckers</p>
</div>
<a href="{{ url_for('admin_manage_printer_page', printer_id=printer.id) }}" class="inline-flex items-center px-4 py-2 bg-slate-200 dark:bg-slate-700 text-slate-700 dark:text-slate-300 rounded-xl hover:bg-slate-300 dark:hover:bg-slate-600 transition-all duration-300">
<svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"/>
</svg>
Zurück zur Verwaltung
</a>
</div>
</div>
<!-- Form -->
<div class="bg-white dark:bg-slate-800 rounded-2xl shadow-xl p-8">
<form method="POST" action="{{ url_for('admin_update_printer_form', printer_id=printer.id) }}" class="space-y-6">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
<input type="hidden" name="_method" value="PUT"/>
<!-- Name -->
<div>
<label for="name" class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">
Drucker-Name
</label>
<input type="text" name="name" id="name" required
value="{{ printer.name }}"
class="w-full px-4 py-3 border border-slate-300 dark:border-slate-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-slate-700 dark:text-white"
placeholder="Prusa i3 MK3S+">
</div>
<!-- IP-Adresse -->
<div>
<label for="ip_address" class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">
IP-Adresse
</label>
<input type="text" name="ip_address" id="ip_address" required
value="{{ printer.ip_address }}"
class="w-full px-4 py-3 border border-slate-300 dark:border-slate-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-slate-700 dark:text-white"
placeholder="192.168.1.100"
pattern="^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$">
</div>
<!-- Modell -->
<div>
<label for="model" class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">
Drucker-Modell
</label>
<input type="text" name="model" id="model"
value="{{ printer.model or '' }}"
class="w-full px-4 py-3 border border-slate-300 dark:border-slate-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-slate-700 dark:text-white"
placeholder="Prusa i3 MK3S+">
</div>
<!-- Standort -->
<div>
<label for="location" class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">
Standort
</label>
<input type="text" name="location" id="location"
value="{{ printer.location or '' }}"
class="w-full px-4 py-3 border border-slate-300 dark:border-slate-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-slate-700 dark:text-white"
placeholder="Werkstatt A, Regal 3">
</div>
<!-- Beschreibung -->
<div>
<label for="description" class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">
Beschreibung
</label>
<textarea name="description" id="description" rows="3"
class="w-full px-4 py-3 border border-slate-300 dark:border-slate-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-slate-700 dark:text-white"
placeholder="Zusätzliche Informationen zum Drucker...">{{ printer.description or '' }}</textarea>
</div>
<!-- Status -->
<div>
<label for="status" class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">
Status
</label>
<select name="status" id="status"
class="w-full px-4 py-3 border border-slate-300 dark:border-slate-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-slate-700 dark:text-white">
<option value="available" {% if printer.status == 'available' %}selected{% endif %}>Verfügbar</option>
<option value="maintenance" {% if printer.status == 'maintenance' %}selected{% endif %}>Wartung</option>
<option value="offline" {% if printer.status == 'offline' %}selected{% endif %}>Offline</option>
</select>
</div>
<!-- Buttons -->
<div class="flex items-center justify-end space-x-4 pt-4">
<a href="{{ url_for('admin_manage_printer_page', printer_id=printer.id) }}"
class="px-6 py-3 border border-slate-300 dark:border-slate-600 text-slate-700 dark:text-slate-300 rounded-xl hover:bg-slate-50 dark:hover:bg-slate-700 transition-all duration-300">
Abbrechen
</a>
<button type="submit"
class="px-6 py-3 bg-gradient-to-r from-blue-500 to-blue-600 text-white rounded-xl hover:from-blue-600 hover:to-blue-700 transition-all duration-300 shadow-lg">
Einstellungen speichern
</button>
</div>
</form>
</div>
</div>
</div>
{% endblock %}