From c782012b71d0c318c6475b3330c01164b53b6404 Mon Sep 17 00:00:00 2001 From: "c.wimmer" <c.wimmer@cwimmer-nb.aditosoftware.local> Date: Fri, 18 Dec 2020 17:32:01 +0100 Subject: [PATCH] =?UTF-8?q?[Projekt:=20Crowd-Development=20/=20Besuch=20vo?= =?UTF-8?q?r=20Ort][TicketNr.:=201068897][[Feature]=20Sammlung=20f=C3=BCr?= =?UTF-8?q?=20weitere=20Ideen]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VisitPlanEntry_entity.aod | 9 +++++ .../begin_time/dropDownProcess.js | 9 +++-- .../entityfields/begin_time/onValueChange.js | 11 ++++++ .../entityfields/begin_time/valueProcess.js | 1 - .../entityfields/end_time/dropDownProcess.js | 9 +++-- .../VisitRecommendation_entity.aod | 1 + .../initFilterProcess.js | 37 +++++++++++++++++++ .../recordcontainers/jdito/contentProcess.js | 2 +- 8 files changed, 69 insertions(+), 10 deletions(-) create mode 100644 entity/VisitPlanEntry_entity/entityfields/begin_time/onValueChange.js create mode 100644 entity/VisitRecommendation_entity/initFilterProcess.js diff --git a/entity/VisitPlanEntry_entity/VisitPlanEntry_entity.aod b/entity/VisitPlanEntry_entity/VisitPlanEntry_entity.aod index 911e30fab21..6447068d1fb 100644 --- a/entity/VisitPlanEntry_entity/VisitPlanEntry_entity.aod +++ b/entity/VisitPlanEntry_entity/VisitPlanEntry_entity.aod @@ -69,6 +69,11 @@ <mandatory v="true" /> <dropDownProcess>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/end_time/dropDownProcess.js</dropDownProcess> <valueProcess>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/end_time/valueProcess.js</valueProcess> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> </entityField> <entityField> <name>BEGIN_TIME</name> @@ -80,6 +85,10 @@ <mandatory v="true" /> <dropDownProcess>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/begin_time/dropDownProcess.js</dropDownProcess> <valueProcess>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/begin_time/valueProcess.js</valueProcess> + <onValueChange>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/begin_time/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + </onValueChangeTypes> </entityField> <entityActionGroup> <name>entityActionGroup</name> diff --git a/entity/VisitPlanEntry_entity/entityfields/begin_time/dropDownProcess.js b/entity/VisitPlanEntry_entity/entityfields/begin_time/dropDownProcess.js index f5ef197dc6d..12411ad70b3 100644 --- a/entity/VisitPlanEntry_entity/entityfields/begin_time/dropDownProcess.js +++ b/entity/VisitPlanEntry_entity/entityfields/begin_time/dropDownProcess.js @@ -12,13 +12,14 @@ for(var i = 0; i < 24; i++) i = i.toString(); if(i.length == 1) { - values.push([datetime.toLong("0" + i + ":00", "HH:mm"), "0" + i + ":00"]); - values.push([datetime.toLong("0" + i + ":30", "HH:mm"), "0" + i + ":30"]); + values.push([datetime.toLong("0" + i + ":00", "HH:mm", "UTC"), "0" + i + ":00"]); + values.push([datetime.toLong("0" + i + ":30", "HH:mm", "UTC"), "0" + i + ":30"]); } else { - values.push([datetime.toLong(i + ":00", "HH:mm"), i + ":00"]); - values.push([datetime.toLong(i + ":30", "HH:mm"), i + ":30"]); + values.push([datetime.toLong(i + ":00", "HH:mm", "UTC"), i + ":00"]); + if(i != "23") + values.push([datetime.toLong(i + ":30", "HH:mm", "UTC"), i + ":30"]); } } diff --git a/entity/VisitPlanEntry_entity/entityfields/begin_time/onValueChange.js b/entity/VisitPlanEntry_entity/entityfields/begin_time/onValueChange.js new file mode 100644 index 00000000000..c126a5d2a26 --- /dev/null +++ b/entity/VisitPlanEntry_entity/entityfields/begin_time/onValueChange.js @@ -0,0 +1,11 @@ +import("system.logging"); +import("system.datetime"); +import("system.vars"); +import("system.eMath"); +import("system.neon"); + +logging.log(eMath.absInt(vars.get("$this.value"))) +if(datetime.toDate(vars.get("$this.value"), "HH:mm") == "23:00") + neon.setFieldValue("$field.END_TIME", eMath.absInt(vars.get("$this.value")) + datetime.ONE_MINUTE * 30); +else + neon.setFieldValue("$field.END_TIME", eMath.absInt(vars.get("$this.value")) + datetime.ONE_HOUR); \ No newline at end of file diff --git a/entity/VisitPlanEntry_entity/entityfields/begin_time/valueProcess.js b/entity/VisitPlanEntry_entity/entityfields/begin_time/valueProcess.js index f320a45527c..052b11da3b9 100644 --- a/entity/VisitPlanEntry_entity/entityfields/begin_time/valueProcess.js +++ b/entity/VisitPlanEntry_entity/entityfields/begin_time/valueProcess.js @@ -4,7 +4,6 @@ import("system.neon"); import("system.result"); import("system.vars"); -// 7am as default value if field is empty and recordstate = new if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.getString("$this.value") == null) { result.string(datetime.toLong("07:00", "HH:mm")); diff --git a/entity/VisitPlanEntry_entity/entityfields/end_time/dropDownProcess.js b/entity/VisitPlanEntry_entity/entityfields/end_time/dropDownProcess.js index fad1ff9a83e..fc6e5d4034f 100644 --- a/entity/VisitPlanEntry_entity/entityfields/end_time/dropDownProcess.js +++ b/entity/VisitPlanEntry_entity/entityfields/end_time/dropDownProcess.js @@ -12,13 +12,14 @@ for(var i = 0; i < 24; i++) i = i.toString(); if(i.length == 1) { - values.push([datetime.toLong("0" + i + ":00", "HH:mm"), "0" + i + ":00"]); - values.push([datetime.toLong("0" + i + ":30", "HH:mm"), "0" + i + ":30"]); + if(i != "0") + values.push([datetime.toLong("0" + i + ":00", "HH:mm", "UTC"), "0" + i + ":00"]); + values.push([datetime.toLong("0" + i + ":30", "HH:mm", "UTC"), "0" + i + ":30"]); } else { - values.push([datetime.toLong(i + ":00", "HH:mm"), i + ":00"]); - values.push([datetime.toLong(i + ":30", "HH:mm"), i + ":30"]); + values.push([datetime.toLong(i + ":00", "HH:mm", "UTC"), i + ":00"]); + values.push([datetime.toLong(i + ":30", "HH:mm", "UTC"), i + ":30"]); } } diff --git a/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod b/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod index 24e4568c65e..0aa7cf7d9db 100644 --- a/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod +++ b/entity/VisitRecommendation_entity/VisitRecommendation_entity.aod @@ -6,6 +6,7 @@ <iconProcess>%aditoprj%/entity/VisitRecommendation_entity/iconProcess.js</iconProcess> <title>Visit Recommendation</title> <grantCreate v="true" /> + <initFilterProcess>%aditoprj%/entity/VisitRecommendation_entity/initFilterProcess.js</initFilterProcess> <iconId>VAADIN:BRIEFCASE</iconId> <image>VAADIN:BRIEFCASE</image> <titlePlural>Visit Recommendations</titlePlural> diff --git a/entity/VisitRecommendation_entity/initFilterProcess.js b/entity/VisitRecommendation_entity/initFilterProcess.js new file mode 100644 index 00000000000..bda986ba45a --- /dev/null +++ b/entity/VisitRecommendation_entity/initFilterProcess.js @@ -0,0 +1,37 @@ +import("Contact_lib"); +import("system.neon"); +import("system.vars"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); +import("system.result"); +import("Employee_lib"); + + +if (vars.get("$sys.presentationmode") === neon.CONTEXT_PRESENTATIONMODE_FILTER) +{ + var sourceKey = $KeywordRegistry.visitRecommendationPrioSource$manual() + filter = { + type: "group", + operator: "OR", + childs: [{ + type: "row", + name: "RESPONSIBLE", + operator: "EQUAL", + contenttype: "TEXT", + key: EmployeeUtils.getCurrentContactId(), + value: ContactUtils.getFullTitleByContactId(EmployeeUtils.getCurrentContactId(), false) + }, + { + type: "row", + name: "RESPONSIBLE", + operator: "ISNULL", + contenttype: "TEXT", + key: "" + } + ] + }; + res = JSON.stringify(filter); +} + +if (res) + result.string(res); \ No newline at end of file diff --git a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js index 2c1eda5488e..980747cff5b 100644 --- a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js @@ -21,7 +21,7 @@ import("Address_lib"); var recommendationData = []; var tmpData = []; var activitySubQuery = ""; - +logging.log(JSON.stringify(vars.get("$local.filter"))); var recommendationSQLData = newSelect( [ "VISITRECOMMENDATIONID", //0 -- GitLab