From bf4192a5d4172d3a444ef22b212ae058f69e1095 Mon Sep 17 00:00:00 2001 From: Javier Sánchez Parra Date: Tue, 23 Aug 2022 17:03:57 +0200 Subject: Adapt Add room to work with several ogServers This commit makes Add 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 40efd49..092b93e 100644 --- a/ogcp/forms/action_forms.py +++ b/ogcp/forms/action_forms.py @@ -166,6 +166,7 @@ class DeleteCenterForm(FlaskForm): submit = SubmitField(label=_l('Submit')) class RoomForm(FlaskForm): + server = HiddenField() center = SelectField(label=_l('Center'), validators=[InputRequired()]) name = StringField(label=_l('Room name'), diff --git a/ogcp/views.py b/ogcp/views.py index 72a86bb..dfb3538 100644 --- a/ogcp/views.py +++ b/ogcp/views.py @@ -1294,10 +1294,11 @@ def action_center_delete(): def action_room_add(): form = RoomForm(request.form) if request.method == 'POST': + server = get_server_from_ip_port(form.server.data) payload = {"center": int(form.center.data), "name": form.name.data, "netmask": form.netmask.data} - r = g.server.post('/room/add', payload) + r = server.post('/room/add', payload) if r.status_code != requests.codes.ok: flash(_('Server replied with error code when adding the room'), category='error') else: @@ -1308,13 +1309,15 @@ def action_room_add(): if not params.get('scope-center'): flash(_('Please, select one center'), 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') selected_center_id = params['scope-center'] centers = parse_scopes_from_tree(r.json(), 'center') selected_center = [(center['id'], center['name']) for center in centers if center['id'] == int(selected_center_id)] form.center.choices = selected_center form.center.render_kw = {'readonly': True} + form.server.data = params['scope-server'] scopes, clients = get_scopes() return render_template('actions/add_room.html', form=form, scopes=scopes) -- cgit v1.2.3-18-g5258