diff --git a/entity/Employee_entity/Employee_entity.aod b/entity/Employee_entity/Employee_entity.aod index dd20915b9f3a31053421416f69e276e664a507e2..19e532c5887a947dd891e9c6a8e3c1e74de4e435 100644 --- a/entity/Employee_entity/Employee_entity.aod +++ b/entity/Employee_entity/Employee_entity.aod @@ -343,7 +343,7 @@ </dependencies> </entityProvider> <entityConsumer> - <name>Permissions</name> + <name>TheirPermissions</name> <refreshParent v="false" /> <dependency> <name>dependency</name> @@ -353,7 +353,21 @@ <children> <entityParameter> <name>PermissionProcurer_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/permissions/children/permissionprocurer_param/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/theirpermissions/children/permissionprocurer_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>MyPermissions</name> + <dependency> + <name>dependency</name> + <entityName>PermissionCalendar_entity</entityName> + <fieldName>Permissions</fieldName> + </dependency> + <children> + <entityParameter> + <name>PermissionDealer_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/mypermissions/children/permissiondealer_param/valueProcess.js</valueProcess> </entityParameter> </children> </entityConsumer> diff --git a/entity/Employee_entity/entityfields/permissions/children/permissionprocurer_param/valueProcess.js b/entity/Employee_entity/entityfields/mypermissions/children/permissiondealer_param/valueProcess.js similarity index 83% rename from entity/Employee_entity/entityfields/permissions/children/permissionprocurer_param/valueProcess.js rename to entity/Employee_entity/entityfields/mypermissions/children/permissiondealer_param/valueProcess.js index c015412b90a7b36aca64f91d7a666d4becc93c7a..fc26970483b0bc9deefc870a3a42906c0f9661a9 100644 --- a/entity/Employee_entity/entityfields/permissions/children/permissionprocurer_param/valueProcess.js +++ b/entity/Employee_entity/entityfields/mypermissions/children/permissiondealer_param/valueProcess.js @@ -1,4 +1,3 @@ -import("system.logging"); import("system.vars"); import("system.result"); diff --git a/entity/Employee_entity/entityfields/theirpermissions/children/permissionprocurer_param/valueProcess.js b/entity/Employee_entity/entityfields/theirpermissions/children/permissionprocurer_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..fc26970483b0bc9deefc870a3a42906c0f9661a9 --- /dev/null +++ b/entity/Employee_entity/entityfields/theirpermissions/children/permissionprocurer_param/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); + +let uid = vars.get("$field.UID"); +if (uid) + result.string(vars.get("$field.UID")); \ No newline at end of file diff --git a/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod b/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod index 7e301741ef3a7521a0f9bec8f15926b8829a49a9..8af794f7d9da36aaca29bcef97ee636b389f076f 100644 --- a/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod +++ b/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod @@ -123,20 +123,25 @@ </entityActionGroup> <entityProvider> <name>Permissions</name> + <titlePluralProcess>%aditoprj%/entity/PermissionCalendar_entity/entityfields/permissions/titlePluralProcess.js</titlePluralProcess> <dependencies> <entityDependency> <name>5bf53339-4c8d-4285-8af2-2aead61d3e38</name> <entityName>Employee_entity</entityName> - <fieldName>Permissions</fieldName> + <fieldName>TheirPermissions</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>890d8d97-2ff5-425b-9987-0adbd90e608e</name> + <entityName>Employee_entity</entityName> + <fieldName>MyPermissions</fieldName> <isConsumer v="false" /> </entityDependency> </dependencies> </entityProvider> <entityParameter> <name>PermissionProcurer_param</name> - <valueProcess>%aditoprj%/entity/PermissionCalendar_entity/entityfields/permissionprocurer_param/valueProcess.js</valueProcess> <expose v="true" /> - <mandatory v="true" /> </entityParameter> <entityParameter> <name>PermissionDealerType_param</name> @@ -201,6 +206,10 @@ </entityParameter> </children> </entityConsumer> + <entityParameter> + <name>PermissionDealer_param</name> + <expose v="true" /> + </entityParameter> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_param/valueProcess.js b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_param/valueProcess.js deleted file mode 100644 index 7a636b057823397d7774e71d28252c894e731d62..0000000000000000000000000000000000000000 --- a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_param/valueProcess.js +++ /dev/null @@ -1,6 +0,0 @@ -import("system.result"); -import("Employee_lib"); - -let currentUser = EmployeeUtils.getCurrentUserId(); - -result.string(currentUser); \ No newline at end of file diff --git a/entity/PermissionCalendar_entity/entityfields/permissions/titlePluralProcess.js b/entity/PermissionCalendar_entity/entityfields/permissions/titlePluralProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8ea6076b25307acc6b602f4408725745194212a2 --- /dev/null +++ b/entity/PermissionCalendar_entity/entityfields/permissions/titlePluralProcess.js @@ -0,0 +1,11 @@ +import("system.translate"); +import("system.result"); +import("system.vars"); + +if (vars.getString("$param.PermissionProcurer_param")) + result.string(translate.text("Rights of access")); +else if (vars.getString("$param.PermissionDealer_param")) + result.string(translate.text("My Permissions")); +else + result.string(translate.text("Permissions")); + diff --git a/entity/PermissionCalendar_entity/recordcontainers/permissioncalendardb/conditionProcess.js b/entity/PermissionCalendar_entity/recordcontainers/permissioncalendardb/conditionProcess.js index 6ccd25f1abc59ce03ae537326a8aa33e260d796f..80d6ae15b8e5c9b21a8d215cdce17445cb48b090 100644 --- a/entity/PermissionCalendar_entity/recordcontainers/permissioncalendardb/conditionProcess.js +++ b/entity/PermissionCalendar_entity/recordcontainers/permissioncalendardb/conditionProcess.js @@ -1,6 +1,20 @@ +import("PermissionCalendar_lib"); import("Employee_lib"); import("system.vars"); import("system.result"); import("Sql_lib"); -var cond = newWhereIfSet("AB_PERMISSIONCALENDAR.PERMISSIONPROCURER_ROWID", EmployeeUtils.sliceUserId(vars.getString("$param.PermissionProcurer_param"))); + +let permissionProcurer = vars.getString("$param.PermissionProcurer_param"); +let permissionDealer = vars.getString("$param.PermissionDealer_param"); +var cond = new SqlBuilder(); +if (permissionProcurer) +{ + cond.whereIfSet("AB_PERMISSIONCALENDAR.PERMISSIONPROCURER_ROWID", EmployeeUtils.sliceUserId(permissionProcurer)); +} +else if (permissionDealer) +{ + cond.whereIfSet("AB_PERMISSIONCALENDAR.PERMISSIONDEALER_ROWID", EmployeeUtils.sliceUserId(permissionDealer)) + .orIfSet("AB_PERMISSIONCALENDAR.PERMISSIONDEALER_ROWID", PermissionCalendar.getAllParents(permissionDealer) , SqlBuilder.IN()); + +} result.string(cond); \ No newline at end of file diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index d158dfd72b7afd4dd767102bcb13ff4bc9d7e35c..7111279ce5446f3887221cb0de5b138bbca27b27 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -6320,21 +6320,45 @@ <entry> <key>Export workflow</key> </entry> + <entry> + <key>Export workflow</key> + </entry> + <entry> + <key>Their Permissions</key> + </entry> + <entry> + <key>Complete tasks</key> + </entry> <entry> <key>pComingFrom is not defined. 'ExportTemplateUtils.buildExport:66'</key> </entry> + <entry> + <key>Start time</key> + </entry> <entry> <key>SqlBuilder: The pagesize is not set or is not a number.</key> </entry> + <entry> + <key>rights of access</key> + </entry> + <entry> + <key>Leadimport Reset</key> + </entry> <entry> <key>Create notification</key> </entry> <entry> <key>Set attribute</key> </entry> + <entry> + <key>End time</key> + </entry> <entry> <key>SqlBuilder: The provided callback function is not a function.</key> </entry> + <entry> + <key>My Permissions</key> + </entry> <entry> <key>Workflow management</key> </entry> @@ -6342,13 +6366,19 @@ <key>Update offer</key> </entry> <entry> - <key>Dispatch as mail</key> + <key>Duration</key> </entry> <entry> - <key>Show offer</key> + <key>Send email</key> </entry> <entry> - <key>Send email</key> + <key>Activites</key> + </entry> + <entry> + <key>Dispatch as mail</key> + </entry> + <entry> + <key>Show offer</key> </entry> <entry> <key>File from this template could not be found anymore. </key> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 6ac46f4549969f664775a3a159a79891de40c427..7eb482da6ae4bb842f2090a533458ea12e3977db 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -8054,6 +8054,9 @@ Bitte Datumseingabe prüfen</value> <key>LimitedReadPermission</key> <value>eingeschränkte Leseberechtigung</value> </entry> + <entry> + <key>Signal</key> + </entry> <entry> <key>Permission Dealer User</key> <value>Rechtegeber Benutzer</value> @@ -8061,6 +8064,9 @@ Bitte Datumseingabe prüfen</value> <entry> <key>Berechtigungen</key> </entry> + <entry> + <key>Claim task</key> + </entry> <entry> <key>permission dealer type</key> <value>Rechtegeber Typ</value> @@ -8069,6 +8075,9 @@ Bitte Datumseingabe prüfen</value> <key>ReadPermission</key> <value>volle Leseberechtigung</value> </entry> + <entry> + <key>Scope</key> + </entry> <entry> <key>permission procurer type</key> <value>Rechteempfänger Typ</value> @@ -8080,6 +8089,9 @@ Bitte Datumseingabe prüfen</value> <entry> <key>PermissionCalendar_entity.PermissionCalendarJDito.onDelete: This operation isn't allowed.</key> </entry> + <entry> + <key>Claim date</key> + </entry> <entry> <key>Auf eigenen Benutzer kann keine Berechtigung gesetzt werden!</key> </entry> @@ -8117,27 +8129,59 @@ Bitte Datumseingabe prüfen</value> <entry> <key>Export process</key> </entry> + <entry> + <key>Their Permissions</key> + </entry> + <entry> + <key>Complete tasks</key> + </entry> <entry> <key>pComingFrom is not defined. 'ExportTemplateUtils.buildExport:66'</key> </entry> + <entry> + <key>Start time</key> + </entry> <entry> <key>SqlBuilder: The pagesize is not set or is not a number.</key> </entry> + <entry> + <key>Rights of access</key> + <value>Zugriffsrechte</value> + </entry> + <entry> + <key>Leadimport Reset</key> + </entry> <entry> <key>Create notification</key> </entry> <entry> <key>Set attribute</key> </entry> + <entry> + <key>End time</key> + </entry> <entry> <key>SqlBuilder: The provided callback function is not a function.</key> </entry> + <entry> + <key>My Permissions</key> + <value>Meine Berechtigungen</value> + </entry> <entry> <key>Workflow management</key> </entry> <entry> <key>Update offer</key> </entry> + <entry> + <key>Duration</key> + </entry> + <entry> + <key>Send email</key> + </entry> + <entry> + <key>Activites</key> + </entry> <entry> <key>Dispatch as mail</key> <value>Als Email versenden</value> @@ -8149,9 +8193,7 @@ Bitte Datumseingabe prüfen</value> <entry> <key>{$QUICK_ENTRY_LEAD_QUICK_ACQUISITION}</key> </entry> - <entry> - <key>Send email</key> - </entry> + <entry> <key>Complete tasks</key> </entry> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index 6271eba96b12a27a4bb3c715ca1fd8490e652ae2..b6d413ab730ee7fd20c9036d79b6a65f6abc6623 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -6398,21 +6398,42 @@ <entry> <key>Export workflow</key> </entry> + <entry> + <key>Their Permissions</key> + </entry> + <entry> + <key>Complete tasks</key> + </entry> <entry> <key>pComingFrom is not defined. 'ExportTemplateUtils.buildExport:66'</key> </entry> + <entry> + <key>Start time</key> + </entry> <entry> <key>SqlBuilder: The pagesize is not set or is not a number.</key> </entry> + <entry> + <key>rights of access</key> + </entry> + <entry> + <key>Leadimport Reset</key> + </entry> <entry> <key>Create notification</key> </entry> <entry> <key>Set attribute</key> </entry> + <entry> + <key>End time</key> + </entry> <entry> <key>SqlBuilder: The provided callback function is not a function.</key> </entry> + <entry> + <key>My Permissions</key> + </entry> <entry> <key>Workflow management</key> </entry> @@ -6420,13 +6441,19 @@ <key>Update offer</key> </entry> <entry> - <key>Dispatch as mail</key> + <key>Duration</key> </entry> <entry> - <key>Show offer</key> + <key>Send email</key> </entry> <entry> - <key>Send email</key> + <key>Activites</key> + </entry> + <entry> + <key>Dispatch as mail</key> + </entry> + <entry> + <key>Show offer</key> </entry> <entry> <key>Complete tasks</key> diff --git a/neonContext/PermissionCalendar/PermissionCalendar.aod b/neonContext/PermissionCalendar/PermissionCalendar.aod index 0c5f7320e41f74db81f43da80ed238b366fe36fc..70d24a1d5534c54253fb4e21b4f86eb12da6f587 100644 --- a/neonContext/PermissionCalendar/PermissionCalendar.aod +++ b/neonContext/PermissionCalendar/PermissionCalendar.aod @@ -2,7 +2,7 @@ <neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1"> <name>PermissionCalendar</name> <majorModelMode>DISTRIBUTED</majorModelMode> - <filterView>PermissionCalendarFilter_view</filterView> + <filterView>PermissionCalendarFilterReverse_view</filterView> <editView>PermissionCalendarEdit_view</editView> <previewView>PermissionCalendarPreview_view</previewView> <entity>PermissionCalendar_entity</entity> @@ -19,5 +19,9 @@ <name>33122cbe-2bc2-47c1-b1db-8a15d516915c</name> <view>PermissionCalendarPreview_view</view> </neonViewReference> + <neonViewReference> + <name>d855d338-c845-4b60-81f0-1454bf78071d</name> + <view>PermissionCalendarFilterReverse_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonView/EmployeeMain_view/EmployeeMain_view.aod b/neonView/EmployeeMain_view/EmployeeMain_view.aod index eac65e321040550c5986a9f2d1af5bc2df40edf7..fbc6ff1a00c1fc1fcbec7de278e9566d1a17a92e 100644 --- a/neonView/EmployeeMain_view/EmployeeMain_view.aod +++ b/neonView/EmployeeMain_view/EmployeeMain_view.aod @@ -31,8 +31,13 @@ </neonViewReference> <neonViewReference> <name>d5135f0a-87cb-4a34-a2bb-3fe3f95c2bb8</name> - <entityField>Permissions</entityField> + <entityField>TheirPermissions</entityField> <view>PermissionCalendarFilter_view</view> </neonViewReference> + <neonViewReference> + <name>f7a3073f-20fb-47e5-916c-7410145ccb93</name> + <entityField>MyPermissions</entityField> + <view>PermissionCalendarFilterReverse_view</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/PermissionCalendarFilterReverse_view/PermissionCalendarFilterReverse_view.aod b/neonView/PermissionCalendarFilterReverse_view/PermissionCalendarFilterReverse_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..1128db401a66d221af266ff0dc50b5a1a9ab7237 --- /dev/null +++ b/neonView/PermissionCalendarFilterReverse_view/PermissionCalendarFilterReverse_view.aod @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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>PermissionCalendarFilterReverse_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <documentation>%aditoprj%/neonView/PermissionCalendarFilterReverse_view/documentation.adoc</documentation> + <filterable v="true" /> + <layout> + <groupLayout> + <name>layout</name> + </groupLayout> + </layout> + <children> + <tableViewTemplate> + <name>PermissionCalendarFilterReverseTable</name> + <entityField>#ENTITY</entityField> + <isCreatable v="false" /> + <isDeletable v="false" /> + <isEditable v="false" /> + <title></title> + <columns> + <neonTableColumn> + <name>bc3d6555-14f3-42c6-a3c0-85f80ccba400</name> + <entityField>permissionIcon</entityField> + </neonTableColumn> + <neonTableColumn> + <name>7db8a2d4-fa35-4412-b9a1-2235f36a0cb6</name> + <entityField>PERMISSIONPROCURER_ROWID</entityField> + </neonTableColumn> + <neonTableColumn> + <name>cc5b5a26-104e-4f0f-9c3a-6c3b42d56e3e</name> + <entityField>PERMISSIONPROCURER_TYPE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>f992816c-a72a-46df-8095-73813cb26849</name> + <entityField>PERMISSION</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/PermissionCalendarFilterReverse_view/documentation.adoc b/neonView/PermissionCalendarFilterReverse_view/documentation.adoc new file mode 100644 index 0000000000000000000000000000000000000000..1cd6ba4266a5c865846d77d3e5beb12a8d64133b --- /dev/null +++ b/neonView/PermissionCalendarFilterReverse_view/documentation.adoc @@ -0,0 +1,3 @@ +=PermissionCalendarFilter_view + +There you can see the Permissions of the User to other Users have \ No newline at end of file diff --git a/neonView/PermissionCalendarFilter_view/PermissionCalendarFilter_view.aod b/neonView/PermissionCalendarFilter_view/PermissionCalendarFilter_view.aod index c01563af9d99d8ca8d4da56a561cd5b933450f06..e32b8d2864701ed8303b9a07e29945f489a393ad 100644 --- a/neonView/PermissionCalendarFilter_view/PermissionCalendarFilter_view.aod +++ b/neonView/PermissionCalendarFilter_view/PermissionCalendarFilter_view.aod @@ -1,7 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <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>PermissionCalendarFilter_view</name> + <title>Their Permissions</title> <majorModelMode>DISTRIBUTED</majorModelMode> + <documentation>%aditoprj%/neonView/PermissionCalendarFilter_view/documentation.adoc</documentation> <filterable v="true" /> <layout> <groupLayout> @@ -15,6 +17,7 @@ <entityField>#ENTITY</entityField> <isCreatable v="false" /> <isEditable v="true" /> + <title></title> <columns> <neonTableColumn> <name>ca7e825c-b14f-409d-aa87-ceabdc5e39b1</name> diff --git a/neonView/PermissionCalendarFilter_view/documentation.adoc b/neonView/PermissionCalendarFilter_view/documentation.adoc new file mode 100644 index 0000000000000000000000000000000000000000..84f36d533af99c3002b1d5c238e3d70fdca367c2 --- /dev/null +++ b/neonView/PermissionCalendarFilter_view/documentation.adoc @@ -0,0 +1,3 @@ +=PermissionCalendarFilter_view + +There you can see the Permissions of other Users to this User have \ No newline at end of file diff --git a/neonView/RoleMain_view/RoleMain_view.aod b/neonView/RoleMain_view/RoleMain_view.aod index 189f5c38a50b4ee0d037c57f028d0a4d48cd00ca..f63cba1a93f91c381f83b8027fad0e5de2c79602 100644 --- a/neonView/RoleMain_view/RoleMain_view.aod +++ b/neonView/RoleMain_view/RoleMain_view.aod @@ -21,7 +21,7 @@ </neonViewReference> <neonViewReference> <name>269c93e8-4bfd-4470-82a6-cf70d417c5d1</name> - <entityField>Permissions</entityField> + <entityField>TheirPermissions</entityField> <view>PermissionDetailFilter_view</view> </neonViewReference> </children> diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js index b6552d0b4074339935d62ea9312915e0cb8e07b7..61ded4b5539eaf7a0c6c79e77a3119e95b24df84 100644 --- a/process/KeywordRegistry_basic/process.js +++ b/process/KeywordRegistry_basic/process.js @@ -253,6 +253,7 @@ $KeywordRegistry.workflowSignalTrigger$delete = function(){return "TRIGGEREVENTD $KeywordRegistry.permissionCalendarCategory = function(){return "PermissionCalendarCategory";}; $KeywordRegistry.permissionCalendarCategory$readwrite = function(){return "READWRITE";}; +$KeywordRegistry.permissionCalendarCategory$nothing = function(){return "NOTHING";}; $KeywordRegistry.permissionCalendarType = function(){return "PermissionCalendarType";}; $KeywordRegistry.exportTemplatePlaceOfUse = function(){return "ExportTemplatePlaceOfUse";}; $KeywordRegistry.exportTemplateSeparator = function(){return "ExportTemplateSeparator";}; diff --git a/process/PermissionCalendar_lib/process.js b/process/PermissionCalendar_lib/process.js index e3f37d80a68a24b04165f6b57d4a12e85fa1ee90..61cc26163cd4e82721b2de83a358bbdfc7d9c3b2 100644 --- a/process/PermissionCalendar_lib/process.js +++ b/process/PermissionCalendar_lib/process.js @@ -26,9 +26,14 @@ PermissionCalendar.getAlias = function() return "Data_alias"; } +/** + * Returns the permission which is set to those without permissions + * + * @return {String} the permission + */ PermissionCalendar.getDefaultPermission = function() { - return $KeywordRegistry.permissionCalendarCategory$readwrite(); + return $KeywordRegistry.permissionCalendarCategory$nothing(); } /** @@ -367,3 +372,30 @@ PermissionCalendar._getUser = function() ]; }); } + +/* + * Returns all departments over the User + * + * @param {String} pUserId the unsliced Id of a User + * + * @return {String []} the Departemts + */ +PermissionCalendar.getAllParents = function(pUserId) +{ + let user = tools.getUsersByAttribute(tools.NAME, [pUserId], tools.PROFILE_FULL)[0]; + + var departments = []; + var department = user[tools.PARAMS].department; + while (department != null && department != "" && department != undefined) + { + departments.push(department); + department = newSelect(["AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID"]) + .where("AB_ATTRIBUTE.AB_ATTRIBUTEID", department) + .from("AB_ATTRIBUTE") + .arrayColumn()[0]; + } + + logging.log(JSON.stringify(departments)); + return departments; + +} diff --git a/system/default/default.aod b/system/default/default.aod index 2a3d3ba816dca4d4bdeee7b062c367b9d9ac5c2e..9a52a413a65379d11c6a4f41d481f78eef758db0 100644 --- a/system/default/default.aod +++ b/system/default/default.aod @@ -6,6 +6,7 @@ <aditoHomePath>$ADITOHOME</aditoHomePath> <aditoDataPath>$PROJECTHOME/data</aditoDataPath> <loginUser>admin</loginUser> + <loginPassword></loginPassword> <autoLogin v="false" /> <aditoDebug></aditoDebug> <enableJDitoDebug v="true" />