From fd9e01605bd274ab03713ed777ae4766a4cc15e1 Mon Sep 17 00:00:00 2001 From: "s.pongratz" <s.pongratz@adito.de> Date: Thu, 9 Jul 2020 11:40:44 +0200 Subject: [PATCH] #1060544-VergabeBerechtigungen Neue Benutzer-Berechtigung vergeben --- .../PermissionCalendar_entity.aod | 19 ++++++++++++ .../onActionProcess.js | 9 ++++++ .../stateProcess.js | 7 +++-- .../valueProcess.js | 8 +++++ .../permissionprocurer_rowid/valueProcess.js | 2 +- .../permissionprocurer_type/valueProcess.js | 2 +- .../displayValueProcess.js | 9 ++++++ .../onValueChange.js | 9 ++++++ .../_____LANGUAGE_EXTRA.aod | 18 +++++++++++ .../_____LANGUAGE_de/_____LANGUAGE_de.aod | 10 ++++++ .../_____LANGUAGE_en/_____LANGUAGE_en.aod | 18 +++++++++++ .../PermissionCalendar/PermissionCalendar.aod | 4 +++ .../PermissionCalendarEditReverse_view.aod | 31 +++++++++++++++++++ .../PermissionCalendarFilterReverse_view.aod | 1 + 14 files changed, 143 insertions(+), 4 deletions(-) create mode 100644 entity/PermissionCalendar_entity/entityfields/addactionsreverse/children/addnewuserpermissionprocureraction/onActionProcess.js create mode 100644 entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/valueProcess.js create mode 100644 entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/displayValueProcess.js create mode 100644 entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/onValueChange.js create mode 100644 neonView/PermissionCalendarEditReverse_view/PermissionCalendarEditReverse_view.aod diff --git a/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod b/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod index 8bd374fd348..ffffa204d1e 100644 --- a/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod +++ b/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod @@ -56,6 +56,7 @@ <mandatoryProcess>%aditoprj%/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/mandatoryProcess.js</mandatoryProcess> <textInputAllowed v="false" /> <stateProcess>%aditoprj%/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/stateProcess.js</stateProcess> + <valueProcess>%aditoprj%/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/valueProcess.js</valueProcess> <displayValueProcess>%aditoprj%/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/displayValueProcess.js</displayValueProcess> <onValueChange>%aditoprj%/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/onValueChange.js</onValueChange> </entityField> @@ -197,6 +198,24 @@ <name>PermissionDealer_param</name> <expose v="true" /> </entityParameter> + <entityField> + <name>permissionProcurer_User_RowId</name> + <title>Permission Procurer User</title> + <consumer>User</consumer> + <displayValueProcess>%aditoprj%/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/onValueChange.js</onValueChange> + </entityField> + <entityActionGroup> + <name>AddActionsReverse</name> + <children> + <entityActionField> + <name>addNewUserPermissionProcurerAction</name> + <title>Grant new User Permission</title> + <onActionProcess>%aditoprj%/entity/PermissionCalendar_entity/entityfields/addactionsreverse/children/addnewuserpermissionprocureraction/onActionProcess.js</onActionProcess> + <iconId>VAADIN:USER</iconId> + </entityActionField> + </children> + </entityActionGroup> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/PermissionCalendar_entity/entityfields/addactionsreverse/children/addnewuserpermissionprocureraction/onActionProcess.js b/entity/PermissionCalendar_entity/entityfields/addactionsreverse/children/addnewuserpermissionprocureraction/onActionProcess.js new file mode 100644 index 00000000000..b19d4ef7af1 --- /dev/null +++ b/entity/PermissionCalendar_entity/entityfields/addactionsreverse/children/addnewuserpermissionprocureraction/onActionProcess.js @@ -0,0 +1,9 @@ +import("KeywordRegistry_basic"); +import("PermissionCalendar_lib"); +import("system.vars"); +import("system.neon"); + +var params = {}; +params["PermissionDealerType_param"] = $KeywordRegistry.permissionCalendarType$user(); +params["PermissionDealer_param"] = vars.get("$param.PermissionDealer_param"); +neon.openContext("PermissionCalendar", "PermissionCalendarEditReverse_view", null, neon.OPERATINGSTATE_NEW, params); \ No newline at end of file diff --git a/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/stateProcess.js b/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/stateProcess.js index 6176f62e416..d1da690a3e6 100644 --- a/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/stateProcess.js +++ b/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/stateProcess.js @@ -6,8 +6,11 @@ import("system.neon"); if(vars.getString("$field.PERMISSIONDEALER_TYPE") == $KeywordRegistry.permissionCalendarType$user()) if(vars.getString("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) - result.string("READONLY") + result.string("READONLY"); else - result.string("EDITABLE"); + if (vars.getString("$param.PermissionDealer_param")) + result.string("READONLY"); + else + result.string("EDITABLE"); else result.string("INVISIBLE"); \ No newline at end of file diff --git a/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/valueProcess.js b/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/valueProcess.js new file mode 100644 index 00000000000..a742ec0c4cb --- /dev/null +++ b/entity/PermissionCalendar_entity/entityfields/permissiondealer_user_rowid/valueProcess.js @@ -0,0 +1,8 @@ +import("Employee_lib"); +import("system.result"); +import("system.neon"); +import("system.vars"); + + +if(vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$param.PermissionDealer_param")) + result.string(EmployeeUtils.sliceUserId(vars.get("$param.PermissionDealer_param"))); \ No newline at end of file diff --git a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_rowid/valueProcess.js b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_rowid/valueProcess.js index a8593c85365..0990ee82108 100644 --- a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_rowid/valueProcess.js +++ b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_rowid/valueProcess.js @@ -4,5 +4,5 @@ import("system.neon"); import("system.vars"); -if(vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +if(vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$param.PermissionProcurer_param")) result.string(EmployeeUtils.sliceUserId(vars.get("$param.PermissionProcurer_param"))); \ No newline at end of file diff --git a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_type/valueProcess.js b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_type/valueProcess.js index 61f70f8df4e..2cb573dc512 100644 --- a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_type/valueProcess.js +++ b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_type/valueProcess.js @@ -4,5 +4,5 @@ import("system.result"); import("system.neon"); import("system.vars"); -if(vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +if(vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$param.PermissionProcurer_param")) result.string(PermissionCalendar.getObjectType(vars.get("$param.PermissionProcurer_param"))); \ No newline at end of file diff --git a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/displayValueProcess.js b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/displayValueProcess.js new file mode 100644 index 00000000000..4aed1075952 --- /dev/null +++ b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/displayValueProcess.js @@ -0,0 +1,9 @@ +import("KeywordRegistry_basic"); +import("system.result"); +import("system.vars"); +import("PermissionCalendar_lib"); + +let permissionProcurerUserDisplay = PermissionCalendar.getNameDisplay(vars.getString("$this.value"), $KeywordRegistry.permissionCalendarType$user()); + +if (permissionProcurerUserDisplay != "undefined") + result.string(permissionProcurerUserDisplay); diff --git a/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/onValueChange.js b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/onValueChange.js new file mode 100644 index 00000000000..03e9dfdfd7c --- /dev/null +++ b/entity/PermissionCalendar_entity/entityfields/permissionprocurer_user_rowid/onValueChange.js @@ -0,0 +1,9 @@ +import("KeywordRegistry_basic"); +import("system.neon"); +import("system.vars"); + +if (vars.get("$this.value") != null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + vars.set("$field.PERMISSIONPROCURER_ROWID", vars.get("$this.value")); + vars.set("$field.PERMISSIONPROCURER_TYPE", $KeywordRegistry.permissionCalendarType$user()); +} \ No newline at end of file diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index f32d5f97f09..63ba21d8cea 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -6833,6 +6833,24 @@ <entry> <key>send mail</key> </entry> + <entry> + <key>and open modeler</key> + </entry> + <entry> + <key>Create model</key> + </entry> + <entry> + <key>Edit workflow</key> + </entry> + <entry> + <key>Permission Procurer User</key> + </entry> + <entry> + <key>Grant new User Permission</key> + </entry> + <entry> + <key>Workflow Model</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> <sqlModels> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 7d8ec08a7b6..23532c5d74a 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -8769,6 +8769,16 @@ Bitte Datumseingabe prüfen</value> <key>send mail</key> <value>E-Mail losschicken</value> </entry> + <entry> + <key>Permission Procurer User</key> + </entry> + <entry> + <key>Grant new User Permission</key> + <value>Neue Benutzer-Berechtigung vergeben</value> + </entry> + <entry> + <key>Workflow Model</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index 40c367a50db..48dca7bfd82 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -6899,6 +6899,24 @@ <entry> <key>send mail</key> </entry> + <entry> + <key>and open modeler</key> + </entry> + <entry> + <key>Create model</key> + </entry> + <entry> + <key>Edit workflow</key> + </entry> + <entry> + <key>Permission Procurer User</key> + </entry> + <entry> + <key>Grant new User Permission</key> + </entry> + <entry> + <key>Workflow Model</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonContext/PermissionCalendar/PermissionCalendar.aod b/neonContext/PermissionCalendar/PermissionCalendar.aod index 01c68cf39a1..2a143ec693d 100644 --- a/neonContext/PermissionCalendar/PermissionCalendar.aod +++ b/neonContext/PermissionCalendar/PermissionCalendar.aod @@ -27,5 +27,9 @@ <name>e0b5c183-3f5c-48ad-ba6c-60ae1a0c3b85</name> <view>PermissionCalendarFilterDrawer_view</view> </neonViewReference> + <neonViewReference> + <name>dd1363e0-d7ba-44d3-b587-e243b760d9e4</name> + <view>PermissionCalendarEditReverse_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonView/PermissionCalendarEditReverse_view/PermissionCalendarEditReverse_view.aod b/neonView/PermissionCalendarEditReverse_view/PermissionCalendarEditReverse_view.aod new file mode 100644 index 00000000000..3fca170746d --- /dev/null +++ b/neonView/PermissionCalendarEditReverse_view/PermissionCalendarEditReverse_view.aod @@ -0,0 +1,31 @@ +<?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>PermissionCalendarEditReverse_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <genericViewTemplate> + <name>PermissionCalendarEditReverseGeneric</name> + <editMode v="true" /> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>c40a7708-1983-4848-a93c-92b873104095</name> + <entityField>PERMISSION</entityField> + </entityFieldLink> + <entityFieldLink> + <name>8da9a2ae-f338-4342-b762-125e972d4980</name> + <entityField>permissionProcurer_User_RowId</entityField> + </entityFieldLink> + <entityFieldLink> + <name>7ce1d83a-9d5c-4c36-81a8-2e832448eaaf</name> + <entityField>PERMISSIONDEALER_USER_ROWID</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + </children> +</neonView> diff --git a/neonView/PermissionCalendarFilterReverse_view/PermissionCalendarFilterReverse_view.aod b/neonView/PermissionCalendarFilterReverse_view/PermissionCalendarFilterReverse_view.aod index df480a219c3..41f27fe542e 100644 --- a/neonView/PermissionCalendarFilterReverse_view/PermissionCalendarFilterReverse_view.aod +++ b/neonView/PermissionCalendarFilterReverse_view/PermissionCalendarFilterReverse_view.aod @@ -13,6 +13,7 @@ <children> <tableViewTemplate> <name>PermissionCalendarFilterReverseTable</name> + <favoriteActionGroup1>AddActionsReverse</favoriteActionGroup1> <entityField>#ENTITY</entityField> <isCreatable v="false" /> <isDeletable v="false" /> -- GitLab