From 60b773607b4a4f9d9ab4dd8c59aaf8934a9c1071 Mon Sep 17 00:00:00 2001 From: Javier Sánchez Parra Date: Tue, 23 Aug 2022 17:21:22 +0200 Subject: 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. --- ogcp/forms/action_forms.py | 1 + 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) -- cgit v1.2.3-18-g5258