mirror of https://git.48k.eu/ogcp
ogcp: add center details view to scopes management
Add a readonly view for the center data. Mark all the form fields as readonly and set the hidden attribute to the submit field.master
parent
74c55987ef
commit
d135a4806d
|
@ -0,0 +1,18 @@
|
|||
{% extends 'scopes.html' %}
|
||||
{% import "bootstrap/wtf.html" as wtf %}
|
||||
|
||||
{% set sidebar_state = 'disabled' %}
|
||||
{% set btn_back = true %}
|
||||
|
||||
{% block nav_center %} active {% endblock %}
|
||||
{% block nav_center_details %} active {% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<h1 class="m-5">{{_('Center details')}}</h1>
|
||||
|
||||
{{ wtf.quick_form(form,
|
||||
method='post',
|
||||
button_map={'submit': 'primary'},
|
||||
extra_classes="mx-5") }}
|
||||
|
||||
{% endblock %}
|
|
@ -60,6 +60,8 @@
|
|||
form="scopesForm" formaction="{{ url_for('action_center_update') }}" formmethod="get">
|
||||
<input class="btn btn-light dropdown-item {% block nav_center_delete %}{% endblock %}" type="submit" value="{{ _('Delete center') }}"
|
||||
form="scopesForm" formaction="{{ url_for('action_center_delete') }}" formmethod="get">
|
||||
<input class="btn btn-light dropdown-item {% block nav_center_info %}{% endblock %}" type="submit" value="{{ _('Center details') }}"
|
||||
form="scopesForm" formaction="{{ url_for('action_center_info') }}" formmethod="get">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -2219,6 +2219,42 @@ def action_center_update():
|
|||
return render_template('actions/center_update.html', form=form,
|
||||
scopes=scopes)
|
||||
|
||||
@app.route('/action/center/info', methods=['GET'])
|
||||
@login_required
|
||||
def action_center_info():
|
||||
form = CenterForm(request.form)
|
||||
params = request.args.to_dict()
|
||||
server = params.get('scope-server')
|
||||
center = params.get('scope-center')
|
||||
if not center:
|
||||
flash(_('Please, select one center'), category='error')
|
||||
return redirect(url_for("scopes"))
|
||||
if not server:
|
||||
flash(_('Internal error: server was not sent as request argument'),
|
||||
category='error')
|
||||
return redirect(url_for("scopes"))
|
||||
|
||||
server = get_server_from_ip_port(server)
|
||||
|
||||
form.server.choices = [(server.ip + ':' + str(server.port), server.name)]
|
||||
form.server.render_kw = {'readonly': True}
|
||||
form.center.data = center
|
||||
form.center.render_kw = {'readonly': True}
|
||||
|
||||
payload = {"id": int(center)}
|
||||
r = server.get('/center/info', payload)
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
form.comment.data = r.json()['comment']
|
||||
form.comment.render_kw = {'readonly': True}
|
||||
form.name.data = r.json()['name']
|
||||
form.name.render_kw = {'readonly': True}
|
||||
form.submit.render_kw = {'readonly': True, 'hidden': True}
|
||||
|
||||
scopes, clients = get_scopes()
|
||||
return render_template('actions/center_details.html', form=form,
|
||||
scopes=scopes)
|
||||
|
||||
def get_scope_context_rec(elem_id, elem_type, scopes, ancestors):
|
||||
if not scopes:
|
||||
return ([], None)
|
||||
|
|
Loading…
Reference in New Issue