🐛 Update: Enhanced API for printer list retrieval with additional query parameters for filtering active and inactive printers. Improved response structure to include printer reachability and display status for better UI integration. Added granular permissions management in user creation process. 📚

This commit is contained in:
2025-06-12 21:14:08 +02:00
parent a212fcc8a3
commit bcb8f80415
129 changed files with 694 additions and 8 deletions

View File

@ -423,6 +423,24 @@ def create_user_api():
new_user.set_password(data['password'])
db_session.add(new_user)
db_session.flush() # ID generieren für UserPermission
# Granulare Berechtigungen erstellen
from models import UserPermission
permissions = UserPermission(
user_id=new_user.id,
can_start_jobs=data.get('can_start_jobs', True), # Standard: kann Jobs starten
needs_approval=data.get('needs_approval', False), # Standard: keine Genehmigung nötig
can_approve_jobs=data.get('can_approve_jobs', False) # Standard: kann nicht genehmigen
)
# Administratoren bekommen automatisch Genehmigungsrechte
if new_user.role == 'admin':
permissions.can_approve_jobs = True
permissions.can_start_jobs = True
permissions.needs_approval = False
db_session.add(permissions)
db_session.commit()
admin_logger.info(f"Neuer Benutzer erstellt: {new_user.username} von Admin {current_user.username}")