triggers panel: fix event acknowlenges
This commit is contained in:
2
dist/panel-triggers/partials/module.html
vendored
2
dist/panel-triggers/partials/module.html
vendored
@@ -50,7 +50,7 @@
|
|||||||
<i class="fa fa-question-circle"></i>
|
<i class="fa fa-question-circle"></i>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<ack-tooltip ack="trigger.acknowledges" trigger="trigger"
|
<ack-tooltip ng-if="trigger.lastEvent" ack="trigger.acknowledges" trigger="trigger"
|
||||||
on-ack="ctrl.acknowledgeTrigger" context="ctrl">
|
on-ack="ctrl.acknowledgeTrigger" context="ctrl">
|
||||||
</ack-tooltip>
|
</ack-tooltip>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
23
dist/panel-triggers/triggers_panel_ctrl.js
vendored
23
dist/panel-triggers/triggers_panel_ctrl.js
vendored
@@ -369,6 +369,10 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
|
|||||||
return ack;
|
return ack;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!trigger.lastEvent.eventid) {
|
||||||
|
trigger.lastEvent = null;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return triggerList;
|
return triggerList;
|
||||||
@@ -487,13 +491,22 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
|
|||||||
}, {
|
}, {
|
||||||
key: 'acknowledgeTrigger',
|
key: 'acknowledgeTrigger',
|
||||||
value: function acknowledgeTrigger(trigger, message) {
|
value: function acknowledgeTrigger(trigger, message) {
|
||||||
var eventid = trigger.lastEvent.eventid;
|
var _this8 = this;
|
||||||
|
|
||||||
|
var eventid = trigger.lastEvent ? trigger.lastEvent.eventid : null;
|
||||||
var grafana_user = this.contextSrv.user.name;
|
var grafana_user = this.contextSrv.user.name;
|
||||||
var ack_message = grafana_user + ' (Grafana): ' + message;
|
var ack_message = grafana_user + ' (Grafana): ' + message;
|
||||||
return this.datasourceSrv.get(this.panel.datasource).then(function (datasource) {
|
return this.datasourceSrv.get(trigger.datasource).then(function (datasource) {
|
||||||
var zabbixAPI = datasource.zabbix.zabbixAPI;
|
if (eventid) {
|
||||||
return zabbixAPI.acknowledgeEvent(eventid, ack_message);
|
return datasource.zabbix.zabbixAPI.acknowledgeEvent(eventid, ack_message);
|
||||||
}).then(this.onRefresh.bind(this));
|
} else {
|
||||||
|
return Promise.reject({ message: 'Trigger has no events. Nothing to acknowledge.' });
|
||||||
|
}
|
||||||
|
}).then(this.onRefresh.bind(this)).catch(function (err) {
|
||||||
|
_this8.error = err.message || "Acknowledge Error";
|
||||||
|
_this8.events.emit('data-error', err);
|
||||||
|
console.log('Panel data error:', err);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
key: 'getCurrentTriggersPage',
|
key: 'getCurrentTriggersPage',
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -50,7 +50,7 @@
|
|||||||
<i class="fa fa-question-circle"></i>
|
<i class="fa fa-question-circle"></i>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<ack-tooltip ack="trigger.acknowledges" trigger="trigger"
|
<ack-tooltip ng-if="trigger.lastEvent" ack="trigger.acknowledges" trigger="trigger"
|
||||||
on-ack="ctrl.acknowledgeTrigger" context="ctrl">
|
on-ack="ctrl.acknowledgeTrigger" context="ctrl">
|
||||||
</ack-tooltip>
|
</ack-tooltip>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -246,6 +246,10 @@ export class TriggerPanelCtrl extends PanelCtrl {
|
|||||||
return ack;
|
return ack;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!trigger.lastEvent.eventid) {
|
||||||
|
trigger.lastEvent = null;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return triggerList;
|
return triggerList;
|
||||||
@@ -353,15 +357,23 @@ export class TriggerPanelCtrl extends PanelCtrl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
acknowledgeTrigger(trigger, message) {
|
acknowledgeTrigger(trigger, message) {
|
||||||
let eventid = trigger.lastEvent.eventid;
|
let eventid = trigger.lastEvent ? trigger.lastEvent.eventid : null;
|
||||||
let grafana_user = this.contextSrv.user.name;
|
let grafana_user = this.contextSrv.user.name;
|
||||||
let ack_message = grafana_user + ' (Grafana): ' + message;
|
let ack_message = grafana_user + ' (Grafana): ' + message;
|
||||||
return this.datasourceSrv.get(this.panel.datasource)
|
return this.datasourceSrv.get(trigger.datasource)
|
||||||
.then(datasource => {
|
.then(datasource => {
|
||||||
let zabbixAPI = datasource.zabbix.zabbixAPI;
|
if (eventid) {
|
||||||
return zabbixAPI.acknowledgeEvent(eventid, ack_message);
|
return datasource.zabbix.zabbixAPI.acknowledgeEvent(eventid, ack_message);
|
||||||
|
} else {
|
||||||
|
return Promise.reject({message: 'Trigger has no events. Nothing to acknowledge.'});
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.then(this.onRefresh.bind(this));
|
.then(this.onRefresh.bind(this))
|
||||||
|
.catch((err) => {
|
||||||
|
this.error = err.message || "Acknowledge Error";
|
||||||
|
this.events.emit('data-error', err);
|
||||||
|
console.log('Panel data error:', err);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
getCurrentTriggersPage() {
|
getCurrentTriggersPage() {
|
||||||
|
|||||||
Reference in New Issue
Block a user