diff --git a/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod b/entity/PermissionCalendar_entity/PermissionCalendar_entity.aod index 8bd374fd3485951d6ff0cef39ff55d465a66f135..ffffa204d1e4a592e2547bb58813e4962091c19a 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 0000000000000000000000000000000000000000..b19d4ef7af1b5282c804a7aa5187e03282710bb7 --- /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 6176f62e416f788ea0d62b28dfcc28c1f14759d9..d1da690a3e6cf9421ad0846601bc23a73912d719 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 0000000000000000000000000000000000000000..a742ec0c4cbd30eac2f6d5111aa8221db7cb1278 --- /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 a8593c85365db38defb230673ce11e7eebfaf361..0990ee82108b6b3f87601a2cc3e3fe8c9c2704f6 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 61f70f8df4ea2d6125cf20c9c10ef2c05fe51eb5..2cb573dc5124212cdf42bae591557f96684eb0ab 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 0000000000000000000000000000000000000000..4aed1075952ea7d36cb32696eb893f4df04d1bf3 --- /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 0000000000000000000000000000000000000000..03e9dfdfd7c8d982cc7dbb1234319342be9e439b --- /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 f32d5f97f0963a35286bac0842e7f823d580201a..63ba21d8cea8fa19a20a99a87c9309db1a97aa19 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 7d8ec08a7b60354c748b9a25bfb6c35dd7a7c297..23532c5d74ab3c632128fe806ced5e4c75b84cb5 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 40c367a50dbcf0c18340e45272f77ed124779931..48dca7bfd8201120b99fcddebd8b8966dbd36b8b 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 01c68cf39a1a4a71c81c6eb1abea36f4d15b1441..2a143ec693d60041608bf024fd0a70f3dee9ad84 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 0000000000000000000000000000000000000000..3fca170746d71dac2cc3470b2800d0f939545654 --- /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 df480a219c345fe0847a2ebdf5c5f62479108e60..41f27fe542e3d479e92c89009576f8a809296ad2 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" />