Limit allowed scopes to only centers

Modify the add/edit users menu to make the 'allowed
scopes' field only display centers
master
Javier Hernandez 2023-12-13 13:10:04 +01:00 committed by OpenGnSys Support Team
parent 131404dfd7
commit aa6061dad7
1 changed files with 11 additions and 2 deletions

View File

@ -1678,6 +1678,15 @@ def users():
return render_template('users.html', users=users)
def get_available_centers():
responses = multi_request('get', '/scopes')
available_centers = list()
for resp in responses:
centers = parse_scopes_from_tree(resp['json'], 'center')
centers = [(center['name'], center['name']) for center in centers]
available_centers.extend(centers)
return available_centers
def get_available_scopes():
responses = multi_request('get', '/scopes')
available_scopes = list()
@ -1809,7 +1818,7 @@ def delete_user(username):
@login_required
def user_add_get():
form = UserForm()
form.scopes.choices = get_available_scopes()
form.scopes.choices = get_available_centers()
return render_template('auth/add_user.html', form=form)
@ -1847,7 +1856,7 @@ def user_edit_get():
form.username.render_kw = {'readonly': True}
form.admin.data = user.get('ADMIN')
form.scopes.data = user.get('SCOPES')
form.scopes.choices = get_available_scopes()
form.scopes.choices = get_available_centers()
return render_template('auth/edit_user.html', form=form)