From 456baba0a8859c90c6ac81fb1077fc5fd188ecb3 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Tue, 2 Jul 2019 15:47:07 +0200
Subject: [PATCH] Keywords: disable delete grant when a keyword is essential

---
 entity/KeywordEntry_entity/KeywordEntry_entity.aod |  2 ++
 entity/KeywordEntry_entity/grantDeleteProcess.js   | 10 ++++++++++
 2 files changed, 12 insertions(+)
 create mode 100644 entity/KeywordEntry_entity/grantDeleteProcess.js

diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index e9b6d88e97..a4019577b3 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -5,6 +5,8 @@
   <documentation>%aditoprj%/entity/KeywordEntry_entity/documentation.adoc</documentation>
   <title>Keyword</title>
   <siblings />
+  <grantDelete v="false" />
+  <grantDeleteProcess>%aditoprj%/entity/KeywordEntry_entity/grantDeleteProcess.js</grantDeleteProcess>
   <contentTitleProcess>%aditoprj%/entity/KeywordEntry_entity/contentTitleProcess.js</contentTitleProcess>
   <onValidation>%aditoprj%/entity/KeywordEntry_entity/onValidation.js</onValidation>
   <iconId>VAADIN:KEY</iconId>
diff --git a/entity/KeywordEntry_entity/grantDeleteProcess.js b/entity/KeywordEntry_entity/grantDeleteProcess.js
new file mode 100644
index 0000000000..92ad10574b
--- /dev/null
+++ b/entity/KeywordEntry_entity/grantDeleteProcess.js
@@ -0,0 +1,10 @@
+import("system.result");
+import("system.vars");
+
+var isEssential = vars.get("$field.ISESSENTIAL");
+
+var granted = true;
+if (isEssential == "1")
+    granted = false;
+    
+result.string(granted)
\ No newline at end of file
-- 
GitLab