🐛 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:
@ -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}")
|
||||
|
Reference in New Issue
Block a user