From dbada8a693a999332cd849ddf537fc3f37c07c2b Mon Sep 17 00:00:00 2001
From: Simon Leipold <s.leipold@adito.de>
Date: Fri, 24 May 2019 11:39:52 +0200
Subject: [PATCH] Permissions - using "usePermission"-flag now

---
 .../PermissionDetail_entity.aod                |  1 +
 .../condtype/displayValueProcess.js            | 18 ++++++++++++++++++
 .../recordcontainers/jdito/onUpdate.js         |  2 +-
 .../recordcontainers/jdito/contentProcess.js   |  4 +++-
 4 files changed, 23 insertions(+), 2 deletions(-)
 create mode 100644 entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js

diff --git a/entity/PermissionDetail_entity/PermissionDetail_entity.aod b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
index 2d5c67c9024..254f12ad6aa 100644
--- a/entity/PermissionDetail_entity/PermissionDetail_entity.aod
+++ b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
@@ -66,6 +66,7 @@
       <title>Condition Type</title>
       <consumer>KeywordConditionType</consumer>
       <mandatory v="true" />
+      <displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>PARENT</name>
diff --git a/entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js b/entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js
new file mode 100644
index 00000000000..b5c67bb7603
--- /dev/null
+++ b/entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js
@@ -0,0 +1,18 @@
+import("system.logging");
+import("system.vars");
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var keywordContainer = "PermissionCondType";
+var keywordEntrys = KeywordUtils.getEntryNamesByContainer(keywordContainer);
+var condType = vars.get("$field.CONDTYPE");
+
+switch (condType) {
+    case "true":
+        result.string(keywordEntrys[0]);
+        break;
+    case "false":
+        result.string(keywordEntrys[1]);
+        break;    
+}
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js b/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js
index e2cc6a303bf..0cbb9dc17b7 100644
--- a/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js
+++ b/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js
@@ -21,7 +21,7 @@ if (diff.length > 0) {
     var dbDeletes = db.deleteData(table, cond, alias);
     
     // insert the different actions
-    cols = db.getColumns(table);
+    cols = db.getColumns(table, alias);
     for each (var action in actionNew) {
         PermissionUtil.insertNewPermissionAction(permissionid, action);
     }
diff --git a/entity/PermissionMetaData_entity/recordcontainers/jdito/contentProcess.js b/entity/PermissionMetaData_entity/recordcontainers/jdito/contentProcess.js
index 3e7bd18d57e..244e9ef8dfb 100644
--- a/entity/PermissionMetaData_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/PermissionMetaData_entity/recordcontainers/jdito/contentProcess.js
@@ -8,7 +8,9 @@ var res = [];
 
 if (selectedEntity == null) {
     for each (let entity in entities) {
-        res.push([entity[0], entity[1], entity[2]]);
+        if (entity[6] == "true") {
+            res.push([entity[0], entity[1], entity[2]]);
+        }
     }
 } else {
     for each (let entity in entities) {
-- 
GitLab