From d97ecd95d58c48a742f74ffe2a3351c294b095aa Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Wed, 21 Feb 2018 14:44:35 +0100
Subject: [PATCH] FEAT #87 notification on history

---
 package-lock.json                             | 120 +++++++++---------
 .../action/controllers/ActionController.php   |   2 +-
 .../history/controllers/HistoryController.php |   8 +-
 .../NotificationsEventsController.php         |  27 ++--
 .../NotificationsEventsModelAbstract.php      |   2 +-
 5 files changed, 84 insertions(+), 75 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 2e0904b1015..1fd18953552 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,7 +6,7 @@
     "@angular/animations": {
       "version": "5.2.5",
       "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.5.tgz",
-      "integrity": "sha1-PnIYQyHEl5MFYZx0kCuL6S1223A=",
+      "integrity": "sha512-70ElCmaeDxLQc2OkgYhJjXj4zjtdjI4K1D5ZZm/uSPLlUcqC6uf6skCXlhMawQoPbsL/SXE5xw2HlMgEbhUysw==",
       "dev": true,
       "requires": {
         "tslib": "1.9.0"
@@ -24,7 +24,7 @@
     "@angular/common": {
       "version": "5.2.5",
       "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.2.5.tgz",
-      "integrity": "sha1-CN1jb6Rgd9BHBmsToarklAZvbFU=",
+      "integrity": "sha512-jagCxo+75pcTwjuO1ZheIiTlKBJ6REFKFWoUPTzaSS6fnzReFJ+VPf4Pb0bWtHL1lWvbvnzmITOJPB9wmuM3fg==",
       "dev": true,
       "requires": {
         "tslib": "1.9.0"
@@ -33,7 +33,7 @@
     "@angular/compiler": {
       "version": "5.2.5",
       "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.2.5.tgz",
-      "integrity": "sha1-XjtRGQYEilefzQB6unKRFHLlqig=",
+      "integrity": "sha512-YU/r5omexkrrBF3bZaseWrc2Iotk6hIdUWkPIL3gPC0hKJ3wBeB3sHCBujPQXktWdMBbQRujNSMZtgra3Oh1xQ==",
       "dev": true,
       "requires": {
         "tslib": "1.9.0"
@@ -42,7 +42,7 @@
     "@angular/compiler-cli": {
       "version": "5.2.5",
       "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.5.tgz",
-      "integrity": "sha1-sZiLssCpVuf8FjrPjH15SgeojQg=",
+      "integrity": "sha512-jRFMxUKpodzOBKdZc6OMse+CjK6xfTJssZQrYeIyqz2daobaIsMZP2hZX8s/PCfV8Vxa7XFwCJb7Fq2uyZKfHg==",
       "dev": true,
       "requires": {
         "chokidar": "1.7.0",
@@ -54,7 +54,7 @@
     "@angular/core": {
       "version": "5.2.5",
       "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.5.tgz",
-      "integrity": "sha1-JPnNdcWyco8t3Rhpd3WQ6nF3vKk=",
+      "integrity": "sha512-Uo7R3LrsvA24JkRbwXWUZWp7NSEpwdTUxT1NScyjrBK+t8ybSL5/42Jo21md5M4pjeCsIgUXlGoCm1QtT5aYnQ==",
       "dev": true,
       "requires": {
         "tslib": "1.9.0"
@@ -63,7 +63,7 @@
     "@angular/forms": {
       "version": "5.2.5",
       "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.2.5.tgz",
-      "integrity": "sha1-KtekIMbvbNh6NAccUxnsg/ftVqo=",
+      "integrity": "sha512-3feqqTuv9rIu7ZOsLCtM/ugNFz5RPujLHkE8bU1gsMM4/eMYruIFir2vbjnhMkD3K6KptEg4iO6tDW18diwXug==",
       "dev": true,
       "requires": {
         "tslib": "1.9.0"
@@ -72,7 +72,7 @@
     "@angular/http": {
       "version": "5.2.5",
       "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.2.5.tgz",
-      "integrity": "sha1-Egglbjbw5IbZbRCnM/3IQk/6Fr8=",
+      "integrity": "sha512-VqTCkAnebe+M9Bqrfp1QYpBQCTbXide/NxrQfwiJY87kjKFeRBuy9/XH/2S5wIwlF5Yx3bmlaIufd9VI5r/0aQ==",
       "dev": true,
       "requires": {
         "tslib": "1.9.0"
@@ -90,7 +90,7 @@
     "@angular/platform-browser": {
       "version": "5.2.5",
       "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.5.tgz",
-      "integrity": "sha1-6uSvK3QvuQHYTWNnzZn56IECFR8=",
+      "integrity": "sha512-iPAuoG/c3pD3hnk1g0VgJu/pzNITvLQyT0W71MDMSuxLxs291kq+U2jklm40pStISd1mPbCNKmvz/7M+WbdLhg==",
       "dev": true,
       "requires": {
         "tslib": "1.9.0"
@@ -99,7 +99,7 @@
     "@angular/platform-browser-dynamic": {
       "version": "5.2.5",
       "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.5.tgz",
-      "integrity": "sha1-uJ30EL2VPipoQzJfmsPAmhDq2vA=",
+      "integrity": "sha512-IMEe2qUTC3CA3KoswmJJs+O2Lkyd5GXgl5ULupqhhm/TOL2FLk00kwv8k3Epaf2d1wXcjK3BMG7aAwc6RLH7QA==",
       "dev": true,
       "requires": {
         "tslib": "1.9.0"
@@ -108,7 +108,7 @@
     "@angular/platform-server": {
       "version": "5.2.5",
       "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-5.2.5.tgz",
-      "integrity": "sha1-IRG/2DahbHh6EPIJmgwmtqOgKwU=",
+      "integrity": "sha512-IpuEDNyoVfGO94jd1s+4IgoTBkWigwqD4YQTpcsC1mdY2Ax7NXXTAx28ZQF5EvPbSxsHGB5zG3oR7KE7GMNhYQ==",
       "dev": true,
       "requires": {
         "domino": "1.0.30",
@@ -119,7 +119,7 @@
     "@angular/router": {
       "version": "5.2.5",
       "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.2.5.tgz",
-      "integrity": "sha1-+PIg1fuF/BDWD+YGsPKmRzImUUI=",
+      "integrity": "sha512-I8U0iy59lz0dAxU4zxRQHagfUPWF+MikLNMirRL1lrA49PG+5K1tiuIQ6p+8fZFAJ5UXwNHyXqYuWqsKRiVBHQ==",
       "dev": true,
       "requires": {
         "tslib": "1.9.0"
@@ -128,7 +128,7 @@
     "@browserify/acorn5-object-spread": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/@browserify/acorn5-object-spread/-/acorn5-object-spread-5.0.1.tgz",
-      "integrity": "sha1-kumzf5e+rJ7EKaPMR53tOAKXVAw=",
+      "integrity": "sha512-sFCUPzgeEjdq3rinwy4TFXtak2YZdhqpj6MdNusxkdTFr9TXAUEYK4YQSamR8Joqt/yii1drgl5hk8q/AtJDKA==",
       "dev": true,
       "requires": {
         "acorn": "5.3.0"
@@ -137,7 +137,7 @@
         "acorn": {
           "version": "5.3.0",
           "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz",
-          "integrity": "sha1-dEbTlFnFT7SagObuZHgUm5QOyCI=",
+          "integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==",
           "dev": true
         }
       }
@@ -145,7 +145,7 @@
     "@types/datatables.net": {
       "version": "1.10.8",
       "resolved": "https://registry.npmjs.org/@types/datatables.net/-/datatables.net-1.10.8.tgz",
-      "integrity": "sha1-La3k1KULWHq3l0px5J7Q654Y8wA=",
+      "integrity": "sha512-5RzUppTRNhVJhAtP1Pq+hFVJgFP7V7yNt8Tjob8cXFg1zo91mtCR6xZn4JJ1hT6fYM1w9Bz9Iy62ja1bbZx7ZA==",
       "dev": true,
       "requires": {
         "@types/jquery": "2.0.48"
@@ -154,13 +154,13 @@
     "@types/jquery": {
       "version": "2.0.48",
       "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.48.tgz",
-      "integrity": "sha1-PpDYzeLSkBXlWDAX94MMs5dbLu8=",
+      "integrity": "sha512-nNLzUrVjaRV/Ds1eHZLYTd7IZxs38cwwLSaqMJj8OTXY8xNUbxSK69bi9cMLvQ7dm/IBeQ1wHwQ0S1uYa0rd2w==",
       "dev": true
     },
     "@types/node": {
       "version": "7.0.55",
       "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.55.tgz",
-      "integrity": "sha1-e7YhX/lCWh1xQQa+nw0+DiiCkog=",
+      "integrity": "sha512-diCxfWNT4g2UM9Y+BPgy4s3egcZ2qOXc0mXLauvbsBUq9SBKQfh0SmuEUEhJVFZt/p6UDsjg1s2EgfM6OSlp4g==",
       "dev": true
     },
     "JSONStream": {
@@ -182,7 +182,7 @@
     "anymatch": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
-      "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=",
+      "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
       "dev": true,
       "requires": {
         "micromatch": "2.3.11",
@@ -201,7 +201,7 @@
     "arr-flatten": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
+      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
       "dev": true
     },
     "array-filter": {
@@ -231,7 +231,7 @@
     "asn1.js": {
       "version": "4.9.2",
       "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz",
-      "integrity": "sha1-gRfvT37YfNj4kES1v/l6wkOhbJo=",
+      "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==",
       "dev": true,
       "requires": {
         "bn.js": "4.11.8",
@@ -272,7 +272,7 @@
     "base64-js": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz",
-      "integrity": "sha1-qRlH2h9KUW6jjltOwOw3c2deCIY=",
+      "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==",
       "dev": true
     },
     "binary-extensions": {
@@ -284,7 +284,7 @@
     "bn.js": {
       "version": "4.11.8",
       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
-      "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=",
+      "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
       "dev": true
     },
     "bootstrap": {
@@ -322,7 +322,7 @@
     "browser-pack": {
       "version": "6.0.3",
       "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.3.tgz",
-      "integrity": "sha1-kcqWUYWD71gKsGOjCd5i5Ad2ejk=",
+      "integrity": "sha512-Jo+RYsn8X8OhyP9tMXXg0ueR2fW696HUu1Hf3/DeiwNean1oGiPtdgGRNuUHBpPHzBH3x4n1kzAlgOgHSIq88g==",
       "dev": true,
       "requires": {
         "JSONStream": "1.3.2",
@@ -353,7 +353,7 @@
     "browserify": {
       "version": "15.2.0",
       "resolved": "https://registry.npmjs.org/browserify/-/browserify-15.2.0.tgz",
-      "integrity": "sha1-HhIbofpyz5/S2N8AL4Z0totF34k=",
+      "integrity": "sha512-IHYyFPm2XjJCL+VV0ZtFv8wn/sAHVOm83q3yfSn8YWbZ9jcybgPKxSDdiuMU+35jUL1914l74RnXXPD9Iyo9yg==",
       "dev": true,
       "requires": {
         "JSONStream": "1.3.2",
@@ -409,7 +409,7 @@
     "browserify-aes": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz",
-      "integrity": "sha1-OLerVe24Bv8tzaGn8WIHc6R3xJ8=",
+      "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==",
       "dev": true,
       "requires": {
         "buffer-xor": "1.0.3",
@@ -470,7 +470,7 @@
     "browserify-zlib": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
+      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
       "dev": true,
       "requires": {
         "pako": "1.0.6"
@@ -479,7 +479,7 @@
     "buffer": {
       "version": "5.0.8",
       "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.8.tgz",
-      "integrity": "sha1-hNqlLnzy+ozkGVvFzw94CeCTCyQ=",
+      "integrity": "sha512-xXvjQhVNz50v2nPeoOsNqWCLGfiv4ji/gXZM28jnVwdLJxH4mFyqgqCKfaK9zf1KUbG6zTkjLOy7ou+jSMarGA==",
       "dev": true,
       "requires": {
         "base64-js": "1.2.1",
@@ -529,7 +529,7 @@
     "cipher-base": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
+      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
       "dev": true,
       "requires": {
         "inherits": "2.0.3",
@@ -551,7 +551,7 @@
     "commander": {
       "version": "2.14.1",
       "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
-      "integrity": "sha1-IjUSPjevjKPGXfRbAm29NXsBuao=",
+      "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==",
       "dev": true
     },
     "concat-map": {
@@ -664,7 +664,7 @@
     "crypto-browserify": {
       "version": "3.12.0",
       "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
+      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
       "dev": true,
       "requires": {
         "browserify-cipher": "1.0.0",
@@ -725,7 +725,7 @@
     "detective": {
       "version": "5.0.2",
       "resolved": "https://registry.npmjs.org/detective/-/detective-5.0.2.tgz",
-      "integrity": "sha1-hOwuHFgedCEeKuT/zh7fUsMmP4Q=",
+      "integrity": "sha512-NUsLoezj4wb9o7vpxS9F3L5vcO87ceyRBcl48op06YFNwkyIEY997JpSCA5lDlDuDc6JxOtaL5qfK3muoWxpMA==",
       "dev": true,
       "requires": {
         "@browserify/acorn5-object-spread": "5.0.1",
@@ -736,7 +736,7 @@
         "acorn": {
           "version": "5.3.0",
           "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz",
-          "integrity": "sha1-dEbTlFnFT7SagObuZHgUm5QOyCI=",
+          "integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==",
           "dev": true
         }
       }
@@ -761,7 +761,7 @@
     "domino": {
       "version": "1.0.30",
       "resolved": "https://registry.npmjs.org/domino/-/domino-1.0.30.tgz",
-      "integrity": "sha1-VKQVTsrpaGFmgPj+ujzt/zVccfQ=",
+      "integrity": "sha512-ikq8WiDSkICdkElud317F2Sigc6A3EDpWsxWBwIZqOl95km4p/Vc9Rj98id7qKgsjDmExj0AVM7JOd4bb647Xg==",
       "dev": true
     },
     "duplexer2": {
@@ -797,7 +797,7 @@
     "evp_bytestokey": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
+      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
       "dev": true,
       "requires": {
         "md5.js": "1.3.4",
@@ -1778,13 +1778,13 @@
     "function-bind": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
       "dev": true
     },
     "glob": {
       "version": "7.1.2",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
-      "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
+      "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
       "dev": true,
       "requires": {
         "fs.realpath": "1.0.0",
@@ -1847,7 +1847,7 @@
     "hash.js": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
-      "integrity": "sha1-NA3tvmKQGHFRweodd3o0SJNd+EY=",
+      "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
       "dev": true,
       "requires": {
         "inherits": "2.0.3",
@@ -2034,7 +2034,7 @@
     "jquery": {
       "version": "3.3.1",
       "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz",
-      "integrity": "sha1-lYzinoHJeQ8xvneS311NlfxX+8o="
+      "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg=="
     },
     "jquery-typeahead": {
       "version": "2.10.4",
@@ -2176,7 +2176,7 @@
     "miller-rabin": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
+      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
       "dev": true,
       "requires": {
         "bn.js": "4.11.8",
@@ -2198,7 +2198,7 @@
     "minimatch": {
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-      "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
       "dev": true,
       "requires": {
         "brace-expansion": "1.1.8"
@@ -2230,7 +2230,7 @@
     "module-deps": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-5.0.1.tgz",
-      "integrity": "sha1-O8R8FLCm2SWv8uxKF3tFapauA5Y=",
+      "integrity": "sha512-sigq/hm/L+Z5IGi1DDl0x2ptkw7S86aFh213QhPLD8v9Opv90IHzKIuWJrRa5bJ77DVKHco2CfIEuThcT/vDJA==",
       "dev": true,
       "requires": {
         "JSONStream": "1.3.2",
@@ -2312,7 +2312,7 @@
     "pako": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
-      "integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg=",
+      "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
       "dev": true
     },
     "parents": {
@@ -2376,7 +2376,7 @@
     "pbkdf2": {
       "version": "3.0.14",
       "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz",
-      "integrity": "sha1-o14TxkeZsGzhUyD0WcIw5o5zut4=",
+      "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==",
       "dev": true,
       "requires": {
         "create-hash": "1.1.3",
@@ -2443,7 +2443,7 @@
     "randomatic": {
       "version": "1.1.7",
       "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
-      "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=",
+      "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
       "dev": true,
       "requires": {
         "is-number": "3.0.0",
@@ -2484,7 +2484,7 @@
     "randombytes": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
-      "integrity": "sha1-0wLFIpSFiISKjTAMkytEwkIx2oA=",
+      "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
       "dev": true,
       "requires": {
         "safe-buffer": "5.1.1"
@@ -2493,7 +2493,7 @@
     "randomfill": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz",
-      "integrity": "sha1-uWt99YfwHdkXJsQY8wVTsUGOPWI=",
+      "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==",
       "dev": true,
       "requires": {
         "randombytes": "2.0.6",
@@ -2512,7 +2512,7 @@
     "readable-stream": {
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
-      "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
+      "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
       "dev": true,
       "requires": {
         "core-util-is": "1.0.2",
@@ -2550,13 +2550,13 @@
     "reflect-metadata": {
       "version": "0.1.12",
       "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.12.tgz",
-      "integrity": "sha1-MRvwxrY814LyKKgavhRqK/qcVvI=",
+      "integrity": "sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A==",
       "dev": true
     },
     "regex-cache": {
       "version": "0.4.4",
       "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
-      "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=",
+      "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
       "dev": true,
       "requires": {
         "is-equal-shallow": "0.1.3"
@@ -2583,7 +2583,7 @@
     "resolve": {
       "version": "1.5.0",
       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
-      "integrity": "sha1-HwmsznlsmnYlefMbLBzEw83fnzY=",
+      "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==",
       "dev": true,
       "requires": {
         "path-parse": "1.0.5"
@@ -2602,7 +2602,7 @@
     "rxjs": {
       "version": "5.5.6",
       "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz",
-      "integrity": "sha1-4x+5bW/S/x/YS86orpwC0AcXnAI=",
+      "integrity": "sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg==",
       "dev": true,
       "requires": {
         "symbol-observable": "1.0.1"
@@ -2619,7 +2619,7 @@
     "safe-buffer": {
       "version": "5.1.1",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
-      "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=",
+      "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
       "dev": true
     },
     "set-immediate-shim": {
@@ -2669,7 +2669,7 @@
     "source-map-support": {
       "version": "0.4.18",
       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
-      "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
+      "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
       "dev": true,
       "requires": {
         "source-map": "0.5.7"
@@ -2698,7 +2698,7 @@
     "stream-http": {
       "version": "2.8.0",
       "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz",
-      "integrity": "sha1-/YZUbaybHJGv+PxdKHuY+vtBvBA=",
+      "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==",
       "dev": true,
       "requires": {
         "builtin-status-codes": "3.0.0",
@@ -2721,7 +2721,7 @@
     "string_decoder": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
-      "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
+      "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
       "dev": true,
       "requires": {
         "safe-buffer": "5.1.1"
@@ -2748,7 +2748,7 @@
     "systemjs": {
       "version": "0.20.19",
       "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-0.20.19.tgz",
-      "integrity": "sha1-wrnnnBn0vqU6GbHtP5dP+0Y76Uk=",
+      "integrity": "sha512-H/rKwNEEyej/+IhkmFNmKFyJul8tbH/muiPq5TyNoVTwsGhUjRsN3NlFnFQUvFXA3+GQmsXkCNXU6QKPl779aw==",
       "dev": true
     },
     "through": {
@@ -2795,7 +2795,7 @@
     "tsickle": {
       "version": "0.26.0",
       "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.26.0.tgz",
-      "integrity": "sha1-QLMKLdaryzOxguN1lmdL0c/kA5w=",
+      "integrity": "sha512-eWJ2CUfttGK0LqF9iJ/Avnxbj4M+fCyJ50Zag3wm73Fut1hsasPRHKxKdrMWVj4BMHnQNx7TO+DdNmLmJTSuNw==",
       "dev": true,
       "requires": {
         "minimist": "1.2.0",
@@ -2807,7 +2807,7 @@
     "tslib": {
       "version": "1.9.0",
       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
-      "integrity": "sha1-43qG/ajLuvI6BX9HPJ9Nxk5fwug=",
+      "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==",
       "dev": true
     },
     "tty-browserify": {
@@ -2831,7 +2831,7 @@
     "uglify-js": {
       "version": "3.3.11",
       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.11.tgz",
-      "integrity": "sha1-6dBYsgcVE4u06OXK4upYFoa9quM=",
+      "integrity": "sha512-AKLsYcdV+sS5eAE4NtVXF6f2u/DCQynQm0jTGxF261+Vltu1dYNuHzjqDmk11gInj+H/zJIM2EAwXG3MzPb3VA==",
       "dev": true,
       "requires": {
         "commander": "2.14.1",
@@ -2841,7 +2841,7 @@
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
           "dev": true
         }
       }
@@ -2923,7 +2923,7 @@
     "zone.js": {
       "version": "0.8.20",
       "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.20.tgz",
-      "integrity": "sha1-ohjEjbCUZLGf9vyPDUu1sQRuGF0="
+      "integrity": "sha512-FXlA37ErSXCMy5RNBcGFgCI/Zivqzr0D19GuvDxhcYIJc7xkFp6c29DKyODJu0Zo+EMyur/WPPgcBh1EHjB9jA=="
     }
   }
 }
diff --git a/src/app/action/controllers/ActionController.php b/src/app/action/controllers/ActionController.php
index e9267b0e43d..a7d49d97bc8 100644
--- a/src/app/action/controllers/ActionController.php
+++ b/src/app/action/controllers/ActionController.php
@@ -182,7 +182,7 @@ class ActionController
                 ->withJson(['errors' => 'Id is not a numeric']);
         }
 
-        $action = ActionModel::getById(['id' => $aArgs['id']]); // TODO select label_action
+        $action = ActionModel::getById(['id' => $aArgs['id']]);
         ActionModel::delete(['id' => $aArgs['id']]);
 
         HistoryController::add([
diff --git a/src/app/history/controllers/HistoryController.php b/src/app/history/controllers/HistoryController.php
index 66c78c4f2ba..f4264da4f2d 100644
--- a/src/app/history/controllers/HistoryController.php
+++ b/src/app/history/controllers/HistoryController.php
@@ -82,7 +82,13 @@ class HistoryController
             'eventId'   => $aArgs['eventId'],
         ]);
 
-//        NotificationsEventsController::fill_event_stack($event_id, $table_name, $record_id, $user, $info);
+       NotificationsEventsController::fill_event_stack([
+        "eventId"   => $aArgs['eventId'],
+        "tableName" => $aArgs['tableName'],
+        "recordId"  => $aArgs['recordId'],
+        "userId"    => $GLOBALS['userId'],
+        "info"      => $aArgs['info'],
+       ]);
 
     }
 
diff --git a/src/app/notification/controllers/NotificationsEventsController.php b/src/app/notification/controllers/NotificationsEventsController.php
index d9264fe133f..634eacec121 100644
--- a/src/app/notification/controllers/NotificationsEventsController.php
+++ b/src/app/notification/controllers/NotificationsEventsController.php
@@ -16,39 +16,42 @@
 namespace Notification\controllers;
 
 use Notification\models\NotificationsEventsModel;
-use Notification\models\NotificationsModel;
+use Notification\models\NotificationModel;
 
 class NotificationsEventsController
 {
-    public static function fill_event_stack($event_id, $table_name, $record_id, $user, $info)
+    public static function fill_event_stack(array $aArgs)
     {
-        if ($record_id == '') {
+        if ($aArgs['recordId'] == '') {
             return;
         }
         
-        $aNotifications = NotificationsModel::getEnableNotifications();
+        $aNotifications = NotificationModel::getEnableNotifications();
         if (empty($aNotifications)) {
             return;
         }
 
         foreach ($aNotifications as $notification) {
             $event_ids = explode(',', $notification['event_id']);
-            if ($event_id == $notification['event_id'] || self::wildcard_match($notification['event_id'], $event_id) || in_array($event_id, $event_ids)) {
+
+            if ($aArgs['eventId'] == $notification['event_id'] 
+                || self::wildcard_match(["pattern" => $notification['event_id'], "str" => $aArgs['eventId']]) 
+                || in_array($aArgs['eventId'], $event_ids)) {
                 NotificationsEventsModel::create([
                     'notification_sid' => $notification['notification_sid'],
-                    'table_name'       => $table_name,
-                    'record_id'        => $record_id,
-                    'user_id'          => $user,
-                    'event_info'       => $info
+                    'table_name'       => $aArgs['tableName'],
+                    'record_id'        => $aArgs['recordId'],
+                    'user_id'          => $aArgs['userId'],
+                    'event_info'       => $aArgs['info']
                 ]);
             }
         }
     }
 
-    public function wildcard_match($pattern, $str)
+    public function wildcard_match(array $aArgs)
     {
-        $pattern = '/^' . str_replace(array('%', '\*', '\?', '\[', '\]'), array('.*', '.*', '.', '[', ']+'), preg_quote($pattern)) . '$/is';
-        $result = preg_match($pattern, $str);
+        $pattern = '/^' . str_replace(array('%', '\*', '\?', '\[', '\]'), array('.*', '.*', '.', '[', ']+'), preg_quote($aArgs['pattern'])) . '$/is';
+        $result = preg_match($pattern, $aArgs['str']);
         return $result;
     }
 }
diff --git a/src/app/notification/models/NotificationsEventsModelAbstract.php b/src/app/notification/models/NotificationsEventsModelAbstract.php
index e14f5467c9e..a646f72edd8 100644
--- a/src/app/notification/models/NotificationsEventsModelAbstract.php
+++ b/src/app/notification/models/NotificationsEventsModelAbstract.php
@@ -23,7 +23,7 @@ class NotificationsEventsModelAbstract
     public static function create(array $aArgs = [])
     {
         ValidatorModel::notEmpty($aArgs, ['notification_sid', 'table_name', 'record_id', 'user_id', 'event_info']);
-        ValidatorModel::stringType($aArgs, ['table_name', 'record_id', 'user_id', 'event_info']);
+        ValidatorModel::stringType($aArgs, ['table_name', 'user_id', 'event_info']);
         ValidatorModel::intval($aArgs, ['notification_sid']);
 
         $db = new \Database();
-- 
GitLab