🐛 Refactor: Consolidated user management and security functions in the backend. Added legal pages blueprint for compliance. Removed legacy rate limiter functions to streamline security integration. Updated logging for better clarity. 📚
This commit is contained in:
@@ -148,7 +148,7 @@ def logout():
|
||||
@auth_blueprint.route("/reset-password-request", methods=["GET", "POST"])
|
||||
def reset_password_request():
|
||||
"""Passwort-Reset anfordern (Placeholder)"""
|
||||
# TODO: Implement password reset functionality
|
||||
# Hinweis: Passwort-Reset-Funktionalität geplant für zukünftige Version
|
||||
flash("Passwort-Reset-Funktionalität ist noch nicht implementiert.", "info")
|
||||
return redirect(url_for("auth.login"))
|
||||
|
||||
@@ -332,13 +332,11 @@ def api_callback():
|
||||
}), 500
|
||||
|
||||
def handle_github_callback(code):
|
||||
"""Verarbeite GitHub OAuth Callback"""
|
||||
# TODO: Implementiere GitHub OAuth Handling
|
||||
auth_logger.warning("GitHub OAuth Callback noch nicht implementiert")
|
||||
"""Verarbeite GitHub OAuth Callback - nicht verfügbar in Air-Gapped Umgebung"""
|
||||
auth_logger.warning("GitHub OAuth nicht verfügbar in Air-Gapped Umgebung")
|
||||
return None
|
||||
|
||||
def get_github_user_data(access_token):
|
||||
"""Lade Benutzerdaten von GitHub API"""
|
||||
# TODO: Implementiere GitHub API Abfrage
|
||||
auth_logger.warning("GitHub User Data Abfrage noch nicht implementiert")
|
||||
"""Lade Benutzerdaten von GitHub API - nicht verfügbar in Air-Gapped Umgebung"""
|
||||
auth_logger.warning("GitHub API nicht verfügbar in Air-Gapped Umgebung")
|
||||
return None
|
@@ -116,7 +116,7 @@ def get_smart_printer_assignment(start_date, end_date, priority="normal", db_ses
|
||||
|
||||
# 7. Wartungszyklen berücksichtigen
|
||||
# Neuere Drucker (falls last_maintenance_date verfügbar) bevorzugen
|
||||
# TODO: Implementierung abhängig von Printer-Model-Erweiterungen
|
||||
# Hinweis: Wartungszyklen-Feature geplant für erweiterte Printer-Models
|
||||
|
||||
printer_scores.append({
|
||||
'printer': printer,
|
||||
|
@@ -42,8 +42,7 @@ def job_owner_required(f):
|
||||
return decorated_function
|
||||
|
||||
def check_printer_status(ip_address: str, timeout: int = 7):
|
||||
"""Mock-Implementierung für Drucker-Status-Check"""
|
||||
# TODO: Implementiere echten Status-Check
|
||||
"""Einfache Drucker-Status-Check - für erweiterte Funktionen siehe TapoStatusManager"""
|
||||
if ip_address:
|
||||
return "online", True
|
||||
return "offline", False
|
||||
|
59
backend/blueprints/legal_pages.py
Normal file
59
backend/blueprints/legal_pages.py
Normal file
@@ -0,0 +1,59 @@
|
||||
"""
|
||||
Rechtliche Seiten für das MYP-System
|
||||
Impressum, Datenschutz, Nutzungsbedingungen, etc.
|
||||
"""
|
||||
|
||||
from flask import Blueprint, render_template, current_app
|
||||
from flask_login import current_user
|
||||
|
||||
legal_bp = Blueprint('legal', __name__)
|
||||
|
||||
@legal_bp.route('/impressum')
|
||||
def imprint():
|
||||
"""Impressum/Rechtliche Hinweise"""
|
||||
return render_template('imprint.html',
|
||||
title='Impressum - MYP Platform')
|
||||
|
||||
@legal_bp.route('/datenschutz')
|
||||
def privacy():
|
||||
"""Datenschutzerklärung"""
|
||||
return render_template('privacy.html',
|
||||
title='Datenschutz - MYP Platform')
|
||||
|
||||
@legal_bp.route('/nutzungsbedingungen')
|
||||
def terms():
|
||||
"""Nutzungsbedingungen"""
|
||||
return render_template('terms.html',
|
||||
title='Nutzungsbedingungen - MYP Platform')
|
||||
|
||||
@legal_bp.route('/rechtliches')
|
||||
def legal():
|
||||
"""Allgemeine rechtliche Informationen"""
|
||||
return render_template('legal.html',
|
||||
title='Rechtliche Hinweise - MYP Platform')
|
||||
|
||||
@legal_bp.route('/system-info')
|
||||
def system_info():
|
||||
"""System-Informationen und Version"""
|
||||
system_data = {
|
||||
'version': '3.0.0',
|
||||
'environment': current_app.config.get('ENV', 'production'),
|
||||
'python_version': current_app.config.get('PYTHON_VERSION', 'Unknown'),
|
||||
'flask_version': current_app.config.get('FLASK_VERSION', 'Unknown'),
|
||||
'features': [
|
||||
'3D-Drucker Management',
|
||||
'Smart Plug Integration (TP-Link Tapo)',
|
||||
'Benutzer- und Rechteverwaltung',
|
||||
'Gast-Zugang mit OTP',
|
||||
'Energie-Monitoring',
|
||||
'Kalender-Integration',
|
||||
'Job-Queue Management',
|
||||
'Automatische Backups',
|
||||
'Progressive Web App (PWA)',
|
||||
'Dark/Light Mode'
|
||||
]
|
||||
}
|
||||
|
||||
return render_template('system_info.html',
|
||||
title='System-Information - MYP Platform',
|
||||
system=system_data)
|
@@ -141,8 +141,7 @@ def upload_avatar():
|
||||
result = save_avatar_file(file, user_id=current_user.id)
|
||||
|
||||
if result['success']:
|
||||
# Altes Avatar löschen (optional)
|
||||
# TODO: Implementiere Avatar-Verwaltung in User-Model
|
||||
# Hinweis: Avatar-Verwaltung im User-Model könnte erweitert werden
|
||||
|
||||
uploads_logger.info(f"Avatar erfolgreich hochgeladen: {result['filename']} für User {current_user.id}")
|
||||
|
||||
|
Reference in New Issue
Block a user