IT Assets: remove manual user creation from settings
Users are sourced exclusively from the portal (via SSO auto-create or the Sync from Portal button). The Add User form and create_admin route are removed to prevent out-of-sync local-only accounts. A footer hint now links admins to the portal settings page.
This commit is contained in:
@@ -15,35 +15,6 @@ def index():
|
||||
return render_template('settings/index.html', admins=admins, config=current_app.config)
|
||||
|
||||
|
||||
@bp.route('/admin/new', methods=['POST'])
|
||||
@login_required
|
||||
@admin_required
|
||||
def create_admin():
|
||||
username = request.form.get('username', '').strip()
|
||||
email = request.form.get('email', '').strip()
|
||||
full_name = request.form.get('full_name', '').strip()
|
||||
password = request.form.get('password', '')
|
||||
role = request.form.get('role', 'readonly')
|
||||
|
||||
if role not in ('admin', 'editor', 'readonly'):
|
||||
role = 'readonly'
|
||||
|
||||
if not username or not email or not password:
|
||||
flash('Username, email and password are required.', 'danger')
|
||||
return redirect(url_for('settings.index'))
|
||||
|
||||
if AdminUser.query.filter_by(username=username).first():
|
||||
flash(f'Username "{username}" is already taken.', 'danger')
|
||||
return redirect(url_for('settings.index'))
|
||||
|
||||
admin = AdminUser(username=username, email=email, full_name=full_name, role=role)
|
||||
admin.set_password(password)
|
||||
db.session.add(admin)
|
||||
db.session.commit()
|
||||
flash(f'User "{username}" created with role "{role}".', 'success')
|
||||
return redirect(url_for('settings.index'))
|
||||
|
||||
|
||||
@bp.route('/admin/<int:admin_id>/toggle', methods=['POST'])
|
||||
@login_required
|
||||
@admin_required
|
||||
|
||||
Reference in New Issue
Block a user