diff --git a/backend/app/app.py b/backend/app/app.py index 60e43c80..5ed08fbd 100644 --- a/backend/app/app.py +++ b/backend/app/app.py @@ -1418,6 +1418,12 @@ def jobs_page(): """Zeigt die Übersichtsseite für Druckaufträge an.""" return render_template("jobs.html") +@app.route("/jobs/new") +@login_required +def new_job_page(): + """Zeigt die Seite zum Erstellen neuer Druckaufträge an.""" + return render_template("jobs.html") + @app.route("/stats") @login_required def stats_page(): @@ -4343,19 +4349,19 @@ if __name__ == "__main__": ssl_context = get_ssl_context() if ssl_context: - app_logger.info("Starte HTTPS-Server auf 0.0.0.0:8443") + app_logger.info("Starte HTTPS-Server auf 0.0.0.0:443") app.run( host="0.0.0.0", - port=8443, + port=443, debug=False, ssl_context=ssl_context, threaded=True ) else: - app_logger.info("Starte HTTP-Server auf 0.0.0.0:8080") + app_logger.info("Starte HTTP-Server auf 0.0.0.0:80") app.run( host="0.0.0.0", - port=8080, + port=80, debug=False, threaded=True ) @@ -4371,9 +4377,3 @@ if __name__ == "__main__": except: pass sys.exit(1) - - try: - stop_queue_manager() - except: - pass - sys.exit(1) diff --git a/backend/app/templates/calendar.html b/backend/app/templates/calendar.html index 77a5e304..cf65bfd4 100644 --- a/backend/app/templates/calendar.html +++ b/backend/app/templates/calendar.html @@ -769,4 +769,5 @@ document.addEventListener('DOMContentLoaded', function() { }; }); +{% endblock %} {% endblock %} \ No newline at end of file diff --git a/backend/app/templates/dashboard.html b/backend/app/templates/dashboard.html index a2c66528..02170a0b 100644 --- a/backend/app/templates/dashboard.html +++ b/backend/app/templates/dashboard.html @@ -518,9 +518,9 @@ } setupEventListeners() { - // Refresh Button - const refreshBtn = document.getElementById('refreshDashboard'); - if (refreshBtn) { + // Refresh Button + const refreshBtn = document.getElementById('refreshDashboard'); + if (refreshBtn) { refreshBtn.addEventListener('click', () => { this.refreshDashboard(); }); diff --git a/backend/app/templates/guest_request.html b/backend/app/templates/guest_request.html index 44c4671c..ad55b5ff 100644 --- a/backend/app/templates/guest_request.html +++ b/backend/app/templates/guest_request.html @@ -32,55 +32,7 @@ } .focus\:border-mercedes-blue:focus { border-color: #0073ce; } - /* Enhanced Page Header */ - .guest-header { - background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); - border: 1px solid #e2e8f0; - box-shadow: - 0 10px 25px -5px rgba(0, 0, 0, 0.1), - 0 4px 6px -2px rgba(0, 0, 0, 0.05); - position: relative; - overflow: hidden; - } - - .dark .guest-header { - background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); - border-color: #334155; - } - - .guest-header::before { - content: ''; - position: absolute; - top: 0; - left: -100%; - width: 100%; - height: 100%; - background: linear-gradient(90deg, transparent, rgba(0, 115, 206, 0.1), transparent); - transition: left 0.5s; - } - - .guest-header:hover::before { - left: 100%; - } - - /* Enhanced Form Container */ - .guest-form-container { - background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); - border: 1px solid #e2e8f0; - box-shadow: - 0 20px 40px -12px rgba(0, 0, 0, 0.1), - 0 8px 16px -4px rgba(0, 0, 0, 0.05); - border-radius: 16px; - position: relative; - overflow: hidden; - } - - .dark .guest-form-container { - background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); - border-color: #334155; - } - - /* Enhanced Form Inputs */ + /* Enhanced Form Elements */ .mercedes-form-input { transition: all 0.2s ease; border: 1px solid #d1d5db; @@ -166,100 +118,6 @@ 75% { transform: translateX(5px); } } - /* Enhanced Info Banner */ - .info-banner { - background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); - border: 1px solid #bfdbfe; - border-radius: 12px; - position: relative; - overflow: hidden; - } - - .dark .info-banner { - background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%); - border-color: #3b82f6; - } - - .info-banner::before { - content: ''; - position: absolute; - top: 0; - left: 0; - width: 4px; - height: 100%; - background: linear-gradient(180deg, #3b82f6, #1d4ed8); - } - - /* Enhanced Buttons */ - .btn-primary { - background: linear-gradient(135deg, #0073ce 0%, #1e40af 100%); - border: none; - color: white; - padding: 0.75rem 2rem; - border-radius: 12px; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.5px; - transition: all 0.3s ease; - position: relative; - overflow: hidden; - display: inline-flex; - align-items: center; - text-decoration: none; - box-shadow: 0 4px 14px 0 rgba(0, 115, 206, 0.39); - } - - .btn-primary::before { - content: ''; - position: absolute; - top: 0; - left: -100%; - width: 100%; - height: 100%; - background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); - transition: left 0.5s; - } - - .btn-primary:hover::before { - left: 100%; - } - - .btn-primary:hover { - transform: translateY(-2px); - box-shadow: 0 8px 25px 0 rgba(0, 115, 206, 0.5); - } - - .btn-secondary { - background: transparent; - border: 2px solid #0073ce; - color: #0073ce; - padding: 0.75rem 2rem; - border-radius: 12px; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.5px; - transition: all 0.3s ease; - display: inline-flex; - align-items: center; - text-decoration: none; - } - - .btn-secondary:hover { - background: #0073ce; - color: white; - transform: translateY(-2px); - } - - .dark .btn-secondary { - border-color: #60a5fa; - color: #60a5fa; - } - - .dark .btn-secondary:hover { - background: #60a5fa; - color: #1e293b; - } - /* Progress Indicators */ .progress-step { background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%); @@ -329,24 +187,6 @@ } } - /* Responsive Design */ - @media (max-width: 768px) { - .guest-form-container { - margin: 1rem; - padding: 1.5rem !important; - } - - .btn-primary, - .btn-secondary { - width: 100%; - justify-content: center; - } - - .upload-area { - height: 120px; - } - } - /* Success Animation */ .success-checkmark { animation: checkmark 0.6s ease-in-out; @@ -367,6 +207,23 @@ } } + /* Responsive Design */ + @media (max-width: 768px) { + .dashboard-card { + padding: 1rem !important; + } + + .btn-primary, + .btn-secondary { + width: 100%; + justify-content: center; + } + + .upload-area { + height: 120px; + } + } + /* Accessibility Enhancements */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { @@ -382,74 +239,54 @@ outline: 2px solid #0073ce; outline-offset: 2px; } - - /* Custom Scrollbar */ - .custom-scroll::-webkit-scrollbar { - width: 6px; - } - - .custom-scroll::-webkit-scrollbar-track { - background: #f1f5f9; - border-radius: 3px; - } - - .custom-scroll::-webkit-scrollbar-thumb { - background: #0073ce; - border-radius: 3px; - } - - .custom-scroll::-webkit-scrollbar-thumb:hover { - background: #1e40af; - } {% endblock %} {% block content %}
Sicherheitshinweis: Bei mehreren fehlgeschlagenen Anmeldeversuchen wird Ihr Konto vorübergehend gesperrt.
@@ -405,7 +405,7 @@Live-Überwachung und Verwaltung Ihrer Produktionseinheiten
@@ -501,12 +501,12 @@Lade Drucker-Informationen...
Es wurden keine 3D-Drucker gefunden, die den aktuellen Filterkriterien entsprechen. @@ -865,11 +865,11 @@ - +