diff options
author | Javier Sánchez Parra <jsanchez@soleta.eu> | 2022-08-22 17:02:13 +0200 |
---|---|---|
committer | Javier Sánchez Parra <jsanchez@soleta.eu> | 2022-09-27 09:48:35 +0200 |
commit | 0db56d5eee7d7d73073e904bb41cc1960ec1e29e (patch) | |
tree | 80388f32990018657762fe721b6fed8a1444ed50 /ogcp | |
parent | f16b1a0347bb587cd4116faf246d4a5176af3cfd (diff) |
Adapt Import Clients to work with several ogServers
This commit makes Import Clients view to use ogServer field from
scopesForm to send the command to the correct ogServer.
Diffstat (limited to 'ogcp')
-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 c81b326..40efd49 100644 --- a/ogcp/forms/action_forms.py +++ b/ogcp/forms/action_forms.py @@ -121,6 +121,7 @@ class ClientDetailsForm(FlaskForm): create = SubmitField(label=_l('Create')) class ImportClientsForm(FlaskForm): + server = HiddenField() room = SelectField(label=_l('Room')) dhcpd_conf = TextAreaField(label=_l('dhcpd configuration')) import_btn = SubmitField(label=_l('Import')) diff --git a/ogcp/views.py b/ogcp/views.py index 560ff5c..af1df47 100644 --- a/ogcp/views.py +++ b/ogcp/views.py @@ -893,7 +893,9 @@ def action_clients_import_get(): return redirect(url_for('scopes')) form = ImportClientsForm() - r = g.server.get('/scopes') + form.server.data = params['scope-server'] + 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'] + ")") @@ -926,6 +928,7 @@ OG_CLIENT_DEFAULT_REMOTE = False @login_required def action_clients_import_post(): form = ImportClientsForm(request.form) + server = get_server_from_ip_port(form.server.data) clients = re.findall(OG_REGEX_DHCPD_CONF, form.dhcpd_conf.data) if not clients: flash(_('No clients found. Check the dhcpd.conf file.'), @@ -943,7 +946,7 @@ def action_clients_import_post(): payload['name'] = client[0] payload['mac'] = client[1].replace(':', '') payload['ip'] = client[2] - resp = g.server.post('/client/add', payload) + resp = server.post('/client/add', payload) if resp.status_code != requests.codes.ok: flash(_('ogServer: error adding client {}').format(client[0]), category='error') |