Using client-side implementation of 'url_for' in the settings module.

This commit is contained in:
Ashesh Vashi 2017-06-16 08:57:23 +05:30
parent 5c140b3f58
commit 900ccebb50
2 changed files with 8 additions and 36 deletions

View File

@ -49,7 +49,7 @@ class SettingsModule(PgAdminModule):
Returns:
list: a list of url endpoints exposed to the client.
"""
return ['settings.store', 'settings.store_bulk']
return ['settings.store', 'settings.store_bulk', 'settings.reset_layout']
blueprint = SettingsModule(MODULE_NAME, __name__)
@ -122,37 +122,7 @@ def store(setting=None, value=None):
result=request.form)
@blueprint.route("/get", methods=['POST'])
@blueprint.route("/get/<setting>", methods=['GET'])
@blueprint.route("/get/<setting>/<default>", methods=['GET'])
@login_required
def get(setting=None, default=None):
"""Get a configuration setting."""
if request.method == 'POST':
setting = request.form['setting']
default = request.form['default']
success = 1
errormsg = ''
try:
value = get_setting(setting, default)
except Exception as e:
success = 0
errormsg = e.message
try:
info = traceback.format_exc()
except Exception as e:
info = str(e)
return make_json_response(success=success,
errormsg=errormsg,
info=info,
result=request.form)
@blueprint.route("/reset_layout", methods=['DELETE'])
@blueprint.route("/layout", methods=['DELETE'], endpoint='reset_layout')
@login_required
def reset_layout():
"""Reset configuration setting"""

View File

@ -1,8 +1,10 @@
define(
['jquery', 'alertify', 'pgadmin', 'underscore', 'backform', 'sources/gettext', 'pgadmin.backform'],
[
'jquery', 'alertify', 'pgadmin', 'underscore', 'backform',
'sources/gettext', 'sources/url_for', 'pgadmin.backform'
],
// This defines the Preference/Options Dialog for pgAdmin IV.
function($, alertify, pgAdmin, _, Backform, gettext) {
function($, alertify, pgAdmin, _, Backform, gettext, url_for) {
pgAdmin = pgAdmin || window.pgAdmin || {};
/*
@ -30,7 +32,7 @@ define(
$('body').append(reloadingIndicator);
// Delete the record from database as well, then only reload page
$.ajax({
url: "{{ url_for('settings.reset_layout') }}",
url: url_for('settings.reset_layout'),
type: 'DELETE',
async: false,
success: function() {