Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
Update backend_structured/routes.py
Browse files
backend_structured/routes.py
CHANGED
|
@@ -563,20 +563,19 @@ def update_user_role(current_user, user_id):
|
|
| 563 |
|
| 564 |
data = request.get_json()
|
| 565 |
new_role = data.get('role')
|
|
|
|
| 566 |
if not new_role:
|
| 567 |
return jsonify({'message': 'Role is required'}), 400
|
| 568 |
|
| 569 |
-
existing_role_user = User.query.filter_by(org_id=user.org_id, role=new_role).first()
|
| 570 |
-
if existing_role_user and existing_role_user.id != user.id:
|
| 571 |
-
return jsonify({'message': f'An organization can only have one user with the {new_role.replace("_", " ")} role.'}), 400
|
| 572 |
-
|
| 573 |
user.role = new_role
|
|
|
|
|
|
|
| 574 |
|
| 575 |
log = AuditLog(admin_id=current_user.id, action=f"Updated role to {new_role}", target_id=user.id)
|
| 576 |
db.session.add(log)
|
| 577 |
|
| 578 |
db.session.commit()
|
| 579 |
-
return jsonify({'message': 'User
|
| 580 |
|
| 581 |
@auth_bp.route('/users/<user_id>/credentials', methods=['PUT'])
|
| 582 |
@token_required
|
|
|
|
| 563 |
|
| 564 |
data = request.get_json()
|
| 565 |
new_role = data.get('role')
|
| 566 |
+
new_org_id = data.get('org_id')
|
| 567 |
if not new_role:
|
| 568 |
return jsonify({'message': 'Role is required'}), 400
|
| 569 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 570 |
user.role = new_role
|
| 571 |
+
if new_org_id is not None:
|
| 572 |
+
user.org_id = new_org_id if new_org_id != '' else None
|
| 573 |
|
| 574 |
log = AuditLog(admin_id=current_user.id, action=f"Updated role to {new_role}", target_id=user.id)
|
| 575 |
db.session.add(log)
|
| 576 |
|
| 577 |
db.session.commit()
|
| 578 |
+
return jsonify({'message': 'User details updated successfully'}), 200
|
| 579 |
|
| 580 |
@auth_bp.route('/users/<user_id>/credentials', methods=['PUT'])
|
| 581 |
@token_required
|