summaryrefslogtreecommitdiffstats
path: root/ogcp/views.py
diff options
context:
space:
mode:
authorJavier Sánchez Parra <jsanchez@soleta.eu>2022-08-22 16:54:45 +0200
committerJavier Sánchez Parra <jsanchez@soleta.eu>2022-08-31 15:57:52 +0200
commit0466b009ae6f99d62505702ba0a7ab0cf2e6eb53 (patch)
treeaafc97547ec545b922ae06d1f13ab459ff180afd /ogcp/views.py
parent88a01f018c80e175df41d22ebf0925ec17f1be13 (diff)
Import clients to a room using the scopes tree
With this commit users can select a room from the scopes tree, and then import clients to that room.
Diffstat (limited to 'ogcp/views.py')
-rw-r--r--ogcp/views.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/ogcp/views.py b/ogcp/views.py
index a60a8d6..560ff5c 100644
--- a/ogcp/views.py
+++ b/ogcp/views.py
@@ -887,12 +887,20 @@ def action_client_add():
@app.route('/action/clients/import', methods=['GET'])
@login_required
def action_clients_import_get():
+ params = request.args.to_dict()
+ if not params.get('scope-room'):
+ flash(_('Please, select one room'), category='error')
+ return redirect(url_for('scopes'))
+
form = ImportClientsForm()
r = g.server.get('/scopes')
rooms = parse_scopes_from_tree(r.json(), 'room')
- rooms = [(room['id'], room['name'] + " (" + room['parent'] + ")")
- for room in rooms]
- form.room.choices = list(rooms)
+ selected_room_id = params['scope-room']
+ selected_room = [(room['id'], room['name'] + " (" + room['parent'] + ")")
+ for room in rooms if room['id'] == int(selected_room_id)]
+ form.room.choices = selected_room
+ form.room.render_kw = {'readonly': True}
+
scopes, _clients = get_scopes()
return render_template('actions/import_clients.html', form=form,
scopes=scopes)