Prevent saving alerts with variables, fix #1100

This commit is contained in:
Alexander Zobnin
2020-12-22 17:01:37 +03:00
parent 1d15f3c11b
commit 32ccb28c34
2 changed files with 18 additions and 1 deletions

View File

@@ -13,7 +13,7 @@ import problemsHandler from './problemsHandler';
import { Zabbix } from './zabbix/zabbix'; import { Zabbix } from './zabbix/zabbix';
import { ZabbixAPIError } from './zabbix/connectors/zabbix_api/zabbixAPIConnector'; import { ZabbixAPIError } from './zabbix/connectors/zabbix_api/zabbixAPIConnector';
import { ZabbixMetricsQuery, ZabbixDSOptions, VariableQueryTypes, ShowProblemTypes, ProblemDTO } from './types'; import { ZabbixMetricsQuery, ZabbixDSOptions, VariableQueryTypes, ShowProblemTypes, ProblemDTO } from './types';
import { getBackendSrv } from '@grafana/runtime'; import { getBackendSrv, getTemplateSrv } from '@grafana/runtime';
import { DataFrame, DataQueryRequest, DataQueryResponse, DataSourceApi, DataSourceInstanceSettings, FieldType, isDataFrame, LoadingState } from '@grafana/data'; import { DataFrame, DataQueryRequest, DataQueryResponse, DataSourceApi, DataSourceInstanceSettings, FieldType, isDataFrame, LoadingState } from '@grafana/data';
export class ZabbixDatasource extends DataSourceApi<ZabbixMetricsQuery, ZabbixDSOptions> { export class ZabbixDatasource extends DataSourceApi<ZabbixMetricsQuery, ZabbixDSOptions> {
@@ -643,6 +643,20 @@ export class ZabbixDatasource extends DataSourceApi<ZabbixMetricsQuery, ZabbixDS
}); });
} }
targetContainsTemplate(target: ZabbixMetricsQuery): boolean {
const templateSrv = getTemplateSrv() as any;
return (
templateSrv.variableExists(target.group?.filter) ||
templateSrv.variableExists(target.host?.filter) ||
templateSrv.variableExists(target.application?.filter) ||
templateSrv.variableExists(target.item?.filter) ||
templateSrv.variableExists(target.proxy?.filter) ||
templateSrv.variableExists(target.trigger?.filter) ||
templateSrv.variableExists(target.textFilter) ||
templateSrv.variableExists(target.itServiceFilter)
);
}
///////////////// /////////////////
// Annotations // // Annotations //
///////////////// /////////////////

View File

@@ -49,6 +49,9 @@ export interface ZabbixMetricsQuery extends DataQuery {
application: { filter: string; name: string; }; application: { filter: string; name: string; };
item: { filter: string; name: string; }; item: { filter: string; name: string; };
itemFilter: string; itemFilter: string;
proxy?: { filter: string; };
trigger?: { filter: string; };
itServiceFilter?: string;
} }
export interface ZabbixQueryOptions { export interface ZabbixQueryOptions {