Browse Source

Added incidents to dialogue

Nuckerr/master
Nucker 3 years ago
parent
commit
6160fb4fb7
  1. 23
      server/notification.js
  2. 7
      src/components/NotificationDialog.vue

23
server/notification.js

@ -86,27 +86,28 @@ class Notification {
} }
static async save(notification, notificationID, userID) { static async save(notification, notificationID, userID) {
let bean let bean;
if (notificationID) { if (notificationID) {
bean = await R.findOne("notification", " id = ? AND user_id = ? ", [ bean = await R.findOne("notification", " id = ? AND user_id = ? ", [
notificationID, notificationID,
userID, userID,
]) ]);
if (! bean) { if (! bean) {
throw new Error("notification not found") throw new Error("notification not found");
} }
} else { } else {
bean = R.dispense("notification") bean = R.dispense("notification");
} }
bean.name = notification.name; bean.name = notification.name;
bean.user_id = userID; bean.user_id = userID;
bean.config = JSON.stringify(notification); bean.config = JSON.stringify(notification);
bean.is_default = notification.isDefault || false; bean.is_default = notification.isDefault || false;
await R.store(bean) bean.incidents = notification.incidents || true;
await R.store(bean);
if (notification.applyExisting) { if (notification.applyExisting) {
await applyNotificationEveryMonitor(bean.id, userID); await applyNotificationEveryMonitor(bean.id, userID);
@ -119,13 +120,13 @@ class Notification {
let bean = await R.findOne("notification", " id = ? AND user_id = ? ", [ let bean = await R.findOne("notification", " id = ? AND user_id = ? ", [
notificationID, notificationID,
userID, userID,
]) ]);
if (! bean) { if (! bean) {
throw new Error("notification not found") throw new Error("notification not found");
} }
await R.trash(bean) await R.trash(bean);
} }
static checkApprise() { static checkApprise() {
@ -145,17 +146,17 @@ async function applyNotificationEveryMonitor(notificationID, userID) {
let checkNotification = await R.findOne("monitor_notification", " monitor_id = ? AND notification_id = ? ", [ let checkNotification = await R.findOne("monitor_notification", " monitor_id = ? AND notification_id = ? ", [
monitors[i].id, monitors[i].id,
notificationID, notificationID,
]) ]);
if (! checkNotification) { if (! checkNotification) {
let relation = R.dispense("monitor_notification"); let relation = R.dispense("monitor_notification");
relation.monitor_id = monitors[i].id; relation.monitor_id = monitors[i].id;
relation.notification_id = notificationID; relation.notification_id = notificationID;
await R.store(relation) await R.store(relation);
} }
} }
} }
module.exports = { module.exports = {
Notification, Notification,
} };

7
src/components/NotificationDialog.vue

@ -42,6 +42,12 @@
<input v-model="notification.applyExisting" class="form-check-input" type="checkbox"> <input v-model="notification.applyExisting" class="form-check-input" type="checkbox">
<label class="form-check-label">{{ $t("Apply on all existing monitors") }}</label> <label class="form-check-label">{{ $t("Apply on all existing monitors") }}</label>
</div> </div>
<br>
<div class="form-check form-switch">
<input v-model="notification.incidents" class="form-check-input" type="checkbox">
<label class="form-check-label">{{ $t("Include incidents") }}</label>
</div>
</div> </div>
</div> </div>
@ -145,6 +151,7 @@ export default {
name: "", name: "",
type: null, type: null,
isDefault: false, isDefault: false,
incidents: true,
}; };
// Set Default value here // Set Default value here

Loading…
Cancel
Save