diff options
author | Javier Sánchez Parra <jsanchez@soleta.eu> | 2022-08-23 17:21:22 +0200 |
---|---|---|
committer | Javier Sánchez Parra <jsanchez@soleta.eu> | 2022-09-27 09:48:35 +0200 |
commit | 3d42c2c66c5fe4cfb3fcab6847234b6e27ad4eb1 (patch) | |
tree | f97e1af2ba5ad5ccad6ab4441723de55b43520be | |
parent | f009a188b1a8bb523fe8bc7706150438d75363a9 (diff) |
Adapt Delete room to work with several ogServers
This commit makes Delete room view to use ogServer field from scopesForm
to send the command to the correct ogServer.
-rw-r--r-- | ogcp/forms/action_forms.py | 1 | ||||
-rw-r--r-- | ogcp/views.py | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/ogcp/forms/action_forms.py b/ogcp/forms/action_forms.py index 092b93e..93c8075 100644 --- a/ogcp/forms/action_forms.py +++ b/ogcp/forms/action_forms.py @@ -176,6 +176,7 @@ class RoomForm(FlaskForm): submit = SubmitField(label=_l('Submit')) class DeleteRoomForm(FlaskForm): + server = HiddenField() room = SelectField(label=_l('Room'), validators=[InputRequired()]) submit = SubmitField(label=_l('Submit')) diff --git a/ogcp/views.py b/ogcp/views.py index 8601522..6b10321 100644 --- a/ogcp/views.py +++ b/ogcp/views.py @@ -1328,7 +1328,8 @@ def action_room_delete(): form = DeleteRoomForm(request.form) if request.method == 'POST': payload = {"id": form.room.data} - r = g.server.post('/room/delete', payload) + server = get_server_from_ip_port(form.server.data) + r = server.post('/room/delete', payload) if r.status_code != requests.codes.ok: flash(_('Server replied with error code when deleting the room'), category='error') @@ -1340,13 +1341,15 @@ def action_room_delete(): if not params.get('scope-room'): flash(_('Please, select one room'), category='error') return redirect(url_for('scopes')) - r = g.server.get('/scopes') + server = get_server_from_ip_port(params['scope-server']) + r = server.get('/scopes') rooms = parse_scopes_from_tree(r.json(), 'room') 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} + form.server.data = params['scope-server'] scopes, clients = get_scopes() return render_template('actions/delete_room.html', form=form, scopes=scopes) |