From c55c1a307308c0f9dc76466e3072cd445cc2affa Mon Sep 17 00:00:00 2001
From: Sebastian Pongratz <s.pongratz@adito.de>
Date: Thu, 26 Mar 2020 12:00:44 +0000
Subject: [PATCH] 1045207 calendar rights bug fix

---
 .../PermissionCalendar_entity.aod                    |  4 ++--
 .../onActionProcess.js                               |  1 +
 .../onActionProcess.js                               |  1 +
 entity/PermissionCalendar_entity/onValidation.js     |  2 +-
 neonView/EmployeeFilter_view/EmployeeFilter_view.aod | 12 ------------
 .../PermissionCalendarPreview_view.aod               |  1 +
 process/PermissionCalendar_lib/process.js            |  4 ++--
 7 files changed, 8 insertions(+), 17 deletions(-)

diff --git a/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod b/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod
index 51ed71f784d..7e301741ef3 100644
--- a/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod
+++ b/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod
@@ -84,7 +84,6 @@
     <entityField>
       <name>PERMISSIONPROCURER_ROWID</name>
       <title>Permission procurer</title>
-      <consumer></consumer>
       <mandatory v="true" />
       <state>READONLY</state>
       <valueProcess>%aditoprj%/entity/PermissionCalendar_entity/entityfields/permissionprocurer_rowid/valueProcess.js</valueProcess>
@@ -135,6 +134,7 @@
     </entityProvider>
     <entityParameter>
       <name>PermissionProcurer_param</name>
+      <valueProcess>%aditoprj%/entity/PermissionCalendar_entity/entityfields/permissionprocurer_param/valueProcess.js</valueProcess>
       <expose v="true" />
       <mandatory v="true" />
     </entityParameter>
@@ -174,7 +174,7 @@
       <dependency>
         <name>dependency</name>
         <entityName>Employee_entity</entityName>
-        <fieldName>EmployeesByUserId</fieldName>
+        <fieldName>EmployeesByShortUserId</fieldName>
       </dependency>
     </entityConsumer>
     <entityField>
diff --git a/entity/PermissionCalendar_entity/entityfields/addactions/children/addnewdepartmentpermissiondealteraction/onActionProcess.js b/entity/PermissionCalendar_entity/entityfields/addactions/children/addnewdepartmentpermissiondealteraction/onActionProcess.js
index b166f07e607..16ae7423101 100644
--- a/entity/PermissionCalendar_entity/entityfields/addactions/children/addnewdepartmentpermissiondealteraction/onActionProcess.js
+++ b/entity/PermissionCalendar_entity/entityfields/addactions/children/addnewdepartmentpermissiondealteraction/onActionProcess.js
@@ -4,4 +4,5 @@ import("system.neon");
 
 var params = {};
 params["PermissionDealerType_param"] = PermissionCalendar.objectTypeDepartment();
+params["PermissionProcurer_param"] = vars.get("$param.PermissionProcurer_param");
 neon.openContext("PermissionCalendar", null, null, neon.OPERATINGSTATE_NEW, params);
\ No newline at end of file
diff --git a/entity/PermissionCalendar_entity/entityfields/addactions/children/addnewuserpermissiondealeraction/onActionProcess.js b/entity/PermissionCalendar_entity/entityfields/addactions/children/addnewuserpermissiondealeraction/onActionProcess.js
index 74319217619..d2946f2d5c7 100644
--- a/entity/PermissionCalendar_entity/entityfields/addactions/children/addnewuserpermissiondealeraction/onActionProcess.js
+++ b/entity/PermissionCalendar_entity/entityfields/addactions/children/addnewuserpermissiondealeraction/onActionProcess.js
@@ -4,4 +4,5 @@ import("system.neon");
 
 var params = {};
 params["PermissionDealerType_param"] = PermissionCalendar.objectTypeUser();
+params["PermissionProcurer_param"] = vars.get("$param.PermissionProcurer_param");
 neon.openContext("PermissionCalendar", null, null, neon.OPERATINGSTATE_NEW, params);
\ No newline at end of file
diff --git a/entity/PermissionCalendar_entity/onValidation.js b/entity/PermissionCalendar_entity/onValidation.js
index 041b6fa5c4c..7830911e9fe 100644
--- a/entity/PermissionCalendar_entity/onValidation.js
+++ b/entity/PermissionCalendar_entity/onValidation.js
@@ -14,7 +14,7 @@ else if (dealerType == PermissionCalendar.objectTypeDepartment())
 else
     dealerId = "";
 
-if(dealerId == EmployeeUtils.sliceUserId(EmployeeUtils.getCurrentUserId()))
+if(dealerId == vars.get("$param.PermissionProcurer_param"))
     result.string(translate.text("You can't set a permission to yourself!"));
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
diff --git a/neonView/EmployeeFilter_view/EmployeeFilter_view.aod b/neonView/EmployeeFilter_view/EmployeeFilter_view.aod
index 75f5c242fb0..307c9e94790 100644
--- a/neonView/EmployeeFilter_view/EmployeeFilter_view.aod
+++ b/neonView/EmployeeFilter_view/EmployeeFilter_view.aod
@@ -52,18 +52,6 @@
           <name>5acac530-7ff7-4fd1-ac48-4a9c441a8b13</name>
           <entityField>DESCRIPTION</entityField>
         </neonTableColumn>
-        <neonTableColumn>
-          <name>02d4201a-d6f1-4155-a637-2807d19ebba3</name>
-          <entityField>UID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>d5424182-30ee-4da4-a8ca-74a3f44cbdfc</name>
-          <entityField>SHORT_UID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>9183e905-7784-46b8-b94a-365c8de9f676</name>
-          <entityField>CONTACT_ID</entityField>
-        </neonTableColumn>
       </columns>
     </tableViewTemplate>
   </children>
diff --git a/neonView/PermissionCalendarPreview_view/PermissionCalendarPreview_view.aod b/neonView/PermissionCalendarPreview_view/PermissionCalendarPreview_view.aod
index a50ed86dc89..5ecedcd546c 100644
--- a/neonView/PermissionCalendarPreview_view/PermissionCalendarPreview_view.aod
+++ b/neonView/PermissionCalendarPreview_view/PermissionCalendarPreview_view.aod
@@ -2,6 +2,7 @@
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
   <name>PermissionCalendarPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <size>SMALL</size>
   <layout>
     <headerFooterLayout>
       <name>layout</name>
diff --git a/process/PermissionCalendar_lib/process.js b/process/PermissionCalendar_lib/process.js
index f85e2844c53..e3f37d80a68 100644
--- a/process/PermissionCalendar_lib/process.js
+++ b/process/PermissionCalendar_lib/process.js
@@ -214,10 +214,10 @@ PermissionCalendar._getDataRecursive = function(pRoot, pCurrentUser, pPermission
     let inheritedPermission = pRoot[3];
     
     PermissionCalendar._createRowUser(pRoot[0], inheritedPermission, pCurrentUser, pPermissions, pUser, pResultArr);
-    let depts = PermissionCalendar._getDepartments(pRoot[0], inheritedPermission, pPermissions);
+    let depts = PermissionCalendar._getDepartments(pRoot[0], inheritedPermission, pPermissions, pResultArr);
     depts.forEach(function(item, i)
     {
-        PermissionCalendar._getDataRecursive(item, pCurrentUser, pPermissions, pUser);
+        PermissionCalendar._getDataRecursive(item, pCurrentUser, pPermissions, pUser, pResultArr);
     });
 }
 
-- 
GitLab