Respect explore settings in config ini

Previous explore restrictions only took permissions into consideration.

* add `exploreEnabled` to global settings
* only bind `x` if enabled
* only show explore in panel menu if enabled
This commit is contained in:
David Kaltschmidt 2018-06-06 10:50:47 +02:00
parent 56fc82151b
commit 661503f828
4 changed files with 5 additions and 2 deletions

View File

@ -151,6 +151,7 @@ func getFrontendSettingsMap(c *m.ReqContext) (map[string]interface{}, error) {
"authProxyEnabled": setting.AuthProxyEnabled,
"ldapEnabled": setting.LdapEnabled,
"alertingEnabled": setting.AlertingEnabled,
"exploreEnabled": setting.ExploreEnabled,
"googleAnalyticsId": setting.GoogleAnalyticsId,
"disableLoginForm": setting.DisableLoginForm,
"externalUserMngInfo": setting.ExternalUserMngInfo,

View File

@ -16,6 +16,7 @@ class Settings {
defaultDatasource: string;
alertingEnabled: boolean;
authProxyEnabled: boolean;
exploreEnabled: boolean;
ldapEnabled: boolean;
oauth: any;
disableUserSignUp: boolean;

View File

@ -1,6 +1,7 @@
import $ from 'jquery';
import _ from 'lodash';
import config from 'app/core/config';
import coreModule from 'app/core/core_module';
import appEvents from 'app/core/app_events';
import { encodePathComponent } from 'app/core/utils/location_util';
@ -178,7 +179,7 @@ export class KeybindingSrv {
});
// jump to explore if permissions allow
if (this.contextSrv.isEditor) {
if (this.contextSrv.isEditor && config.exploreEnabled) {
this.bind('x', async () => {
if (dashboard.meta.focusPanelId) {
const panel = dashboard.getPanelById(dashboard.meta.focusPanelId);

View File

@ -314,7 +314,7 @@ class MetricsPanelCtrl extends PanelCtrl {
getAdditionalMenuItems() {
const items = [];
if (this.contextSrv.isEditor && this.datasource && this.datasource.supportsExplore) {
if (config.exploreEnabled && this.contextSrv.isEditor && this.datasource && this.datasource.supportsExplore) {
items.push({
text: 'Explore',
click: 'ctrl.explore();',