mirror of https://git.48k.eu/ogcp
views: Add edit-folder
Add view to modify folder information such as namemaster 1.1.3-15
parent
5c3f700937
commit
d953700576
|
@ -0,0 +1,19 @@
|
|||
{% extends 'scopes.html' %}
|
||||
{% import "bootstrap/wtf.html" as wtf %}
|
||||
|
||||
{% set sidebar_state = 'disabled' %}
|
||||
{% set btn_back = true %}
|
||||
|
||||
{% block nav_folder %} active{% endblock %}
|
||||
{% block nav_folder_update %} active{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<h1 class="m-5">{{_('Update folder')}}</h1>
|
||||
|
||||
{{ wtf.quick_form(form,
|
||||
method='post',
|
||||
button_map={'submit': 'primary'},
|
||||
extra_classes="mx-5") }}
|
||||
|
||||
{% endblock %}
|
||||
|
|
@ -64,6 +64,8 @@
|
|||
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
||||
<input class="btn btn-light dropdown-item {% block nav_folder_add %}{% endblock %}" type="submit" value="{{ _('Add folder') }}"
|
||||
form="scopesForm" formaction="{{ url_for('action_folder_add') }}" formmethod="get">
|
||||
<input class="btn btn-light dropdown-item {% block nav_folder_update %}{% endblock %}" type="submit" value="{{ _('Update folder') }}"
|
||||
form="scopesForm" formaction="{{ url_for('action_folder_update') }}" formmethod="get">
|
||||
<input class="btn btn-light dropdown-item {% block nav_folder_delete %}{% endblock %}" type="submit" value="{{ _('Delete folder') }}"
|
||||
form="scopesForm" formaction="{{ url_for('action_folder_delete') }}" formmethod="get">
|
||||
</div>
|
||||
|
|
|
@ -1229,6 +1229,38 @@ def action_folder_delete():
|
|||
return render_template('actions/folder_delete.html', form=form,
|
||||
parent="scopes.html", scopes=scopes, ancestors=ancestors, children=children)
|
||||
|
||||
@app.route('/action/folder/update', methods=['GET','POST'])
|
||||
def action_folder_update():
|
||||
form = FolderForm(request.form)
|
||||
if request.method == 'POST':
|
||||
payload = {'name': form.name.data,
|
||||
'id': int(form.folder_id.data)}
|
||||
|
||||
server = get_server_from_ip_port(form.server.data)
|
||||
r = server.post('/folder/update', payload)
|
||||
if r.status_code != requests.codes.ok:
|
||||
flash(_('ogServer: error updating folder'),
|
||||
category='error')
|
||||
else:
|
||||
flash(_('Folder updated successfully'), category='info')
|
||||
return redirect(url_for("scopes"))
|
||||
else:
|
||||
params = request.args.to_dict()
|
||||
folder_id = int(params.get('folder'))
|
||||
|
||||
if not folder_id:
|
||||
flash(_('Please, select a folder to modify'), category='error')
|
||||
return redirect(url_for('scopes'))
|
||||
|
||||
scopes, clients = get_scopes()
|
||||
folder = find_element_scope(folder_id, 'folder', scopes)
|
||||
form.server.data = params['scope-server']
|
||||
form.name.data = folder['name']
|
||||
form.folder_id.data = folder_id
|
||||
form.submit.render_kw = {"formaction": url_for('action_folder_update')}
|
||||
return render_template('actions/folder_update.html', form=form,
|
||||
parent="scopes.html", scopes=scopes)
|
||||
|
||||
@app.route('/action/folder/add', methods=['GET'])
|
||||
@login_required
|
||||
def action_folder_add():
|
||||
|
@ -1884,6 +1916,10 @@ def get_scope_context_rec(elem_id, elem_type, scopes, ancestors):
|
|||
else:
|
||||
return ([], None)
|
||||
|
||||
def find_element_scope(elem_id, elem_type, scopes):
|
||||
unused, elem = get_scope_context_rec(elem_id, elem_type, scopes['scope'], [])
|
||||
return elem
|
||||
|
||||
def get_scope_context(elem_id, elem_type, scopes):
|
||||
ancestors, elem = get_scope_context_rec(elem_id, elem_type, scopes['scope'], [])
|
||||
children = {}
|
||||
|
|
Loading…
Reference in New Issue