Add "Delete client" action

Adds a new button in the scopes view.

This action handles clients deletion on one or multiple scopes. Users
must select clients using the scopes tree.
multi-ogserver
Javier Sánchez Parra 2021-07-29 14:17:55 +02:00 committed by OpenGnSys Support Team
parent 05bab71162
commit df25ec62a8
2 changed files with 17 additions and 0 deletions

View File

@ -22,6 +22,8 @@
form="scopesForm" formaction="{{ url_for('action_room_add') }}" formmethod="get">
<input class="btn btn-light" type="submit" value="{{ _('Add center') }}"
form="scopesForm" formaction="{{ url_for('action_center_add') }}" formmethod="get">
<input class="btn btn-light" type="submit" value="{{ _('Delete client') }}"
form="scopesForm" formaction="{{ url_for('action_client_delete') }}" formmethod="post">
<input class="btn btn-light" type="submit" value="{{ _('Delete room') }}"
form="scopesForm" formaction="{{ url_for('action_room_delete') }}" formmethod="get">
{% endblock %}

View File

@ -543,6 +543,21 @@ def action_client_add():
form.create.render_kw = {"formaction": url_for('action_client_add')}
return render_template('actions/client_details.html', form=form)
@app.route('/action/client/delete', methods=['POST'])
@login_required
def action_client_delete():
ips = parse_ips(request.form.to_dict())
if not validate_ips(ips):
return redirect(url_for('scopes'))
payload = {'clients': list(ips)}
r = g.server.post('/client/delete', payload)
if r.status_code != requests.codes.ok:
flash(_('OgServer replied with a non ok status code'), category='error')
else:
flash(_('Delete client request processed successfully'), category='info')
return redirect(url_for('scopes'))
@app.route('/action/mode', methods=['GET', 'POST'])
@login_required
def action_mode():