mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Avoid showing multiple 'Reset Layout' options under file menu. Fixes #1348
Also restructured code related to reset layout functionality.
This commit is contained in:
committed by
Dave Page
parent
62c1369938
commit
b0b21fd46c
@@ -13,14 +13,41 @@ from flask.ext.login import current_user
|
||||
|
||||
from pgadmin.model import db, Setting
|
||||
import traceback
|
||||
from flask import Response, request, render_template
|
||||
from flask import Response, request, render_template, url_for
|
||||
from flask.ext.security import login_required
|
||||
|
||||
from pgadmin.utils.ajax import make_json_response
|
||||
from pgadmin.utils.ajax import make_json_response, bad_request
|
||||
from pgadmin.utils import PgAdminModule
|
||||
from pgadmin.utils.menu import MenuItem
|
||||
from flask.ext.babel import gettext
|
||||
|
||||
MODULE_NAME = 'settings'
|
||||
|
||||
|
||||
class SettingsModule(PgAdminModule):
|
||||
|
||||
def get_own_javascripts(self):
|
||||
return [{
|
||||
'name': 'pgadmin.settings',
|
||||
'path': url_for('settings.index') + 'settings',
|
||||
'when': None
|
||||
}]
|
||||
|
||||
def get_own_menuitems(self):
|
||||
return {
|
||||
'file_items': [
|
||||
MenuItem(name='mnu_resetlayout',
|
||||
priority=999,
|
||||
module="pgAdmin.Settings",
|
||||
callback='show',
|
||||
icon='fa fa-retweet',
|
||||
label=gettext('Reset Layout'))
|
||||
]
|
||||
}
|
||||
|
||||
blueprint = SettingsModule(MODULE_NAME, __name__)
|
||||
|
||||
|
||||
def store_setting(setting, value):
|
||||
"""Set a configuration setting for the current user."""
|
||||
data = Setting(user_id=current_user.id, setting=setting, value=value)
|
||||
@@ -28,6 +55,7 @@ def store_setting(setting, value):
|
||||
db.session.merge(data)
|
||||
db.session.commit()
|
||||
|
||||
|
||||
def get_setting(setting, default=None):
|
||||
"""Retrieve a configuration setting for the current user, or return the
|
||||
default value specified by the caller."""
|
||||
@@ -38,8 +66,11 @@ def get_setting(setting, default=None):
|
||||
else:
|
||||
return data.value
|
||||
|
||||
# Initialise the module
|
||||
blueprint = PgAdminModule(MODULE_NAME, __name__, template_folder='templates', url_prefix='/' + MODULE_NAME)
|
||||
|
||||
@blueprint.route("/")
|
||||
@login_required
|
||||
def index():
|
||||
return bad_request(errormsg=_("This URL can not be called directly."))
|
||||
|
||||
@blueprint.route("/settings.js")
|
||||
@login_required
|
||||
@@ -116,17 +147,17 @@ def get(setting=None, default=None):
|
||||
@login_required
|
||||
def reset_layout():
|
||||
"""Reset configuration setting"""
|
||||
if request.method == 'DELETE':
|
||||
# There can be only one record at most
|
||||
data = Setting.query.filter_by(user_id=current_user.id).first()
|
||||
try:
|
||||
if data is not None:
|
||||
db.session.delete(data)
|
||||
db.session.commit()
|
||||
except Exception as e:
|
||||
return make_json_response(
|
||||
status=410, success=0, errormsg=str(e)
|
||||
)
|
||||
|
||||
# There can be only one record at most
|
||||
data = Setting.query.filter_by(user_id=current_user.id).first()
|
||||
try:
|
||||
if data is not None:
|
||||
db.session.delete(data)
|
||||
db.session.commit()
|
||||
except Exception as e:
|
||||
return make_json_response(
|
||||
status=410, success=0, errormsg=str(e)
|
||||
)
|
||||
|
||||
return make_json_response(result=request.form)
|
||||
|
||||
|
Reference in New Issue
Block a user