Skip to content
Snippets Groups Projects
Commit 2f3b9f5f authored by David Büchler's avatar David Büchler
Browse files

Das Öffnen der Detailanzeige eines Clusters wurde nun auf eine custom Action...

Das Öffnen der Detailanzeige eines Clusters wurde nun auf eine custom Action ausgelagtert, dass die views im gleichen Context liegen können. Es ergibt Sinn hier im gleichen Entity/Context zu bleiben, denn die Datensätze sind im Grunde die gleichen, es handelt sich nur um eine gesonderte Darstellung.
Es wurden alle zugehörigen Teile entsprechend angepasst, dass die Datenweitergabe per manuellem neon.openContext funktioniert
Die ORg Detail-Tabelle unterscheidet sich noch, die korrekten Datensätze werden bereits angezeigt.
parent d5e57df5
No related branches found
No related tags found
No related merge requests found
Showing
with 164 additions and 10 deletions
......@@ -42,6 +42,7 @@
</entityParameter>
<entityProvider>
<name>UnrelatedOrganisationsProvider</name>
<titlePlural>Unrelated organisations duplicates</titlePlural>
<children>
<entityParameter>
<name>TargetEntity</name>
......
......@@ -46,6 +46,11 @@
<name>TargetEntity</name>
<valueProcess>%aditoprj%/entity/Duplicates_entity/entityfields/selfpersonduplicatesconsumer/children/targetentity/valueProcess.js</valueProcess>
</entityParameter>
<entityParameter>
<name>ClusterId_param</name>
<title></title>
<valueProcess>%aditoprj%/entity/Duplicates_entity/entityfields/selfpersonduplicatesconsumer/children/clusterid_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityParameter>
......@@ -130,6 +135,62 @@
<entityName>DuplicatesUnrelated_entity</entityName>
<fieldName>UnrelatedOrganisationsProvider</fieldName>
</dependency>
<children>
<entityParameter>
<name>TargetEntity</name>
<valueProcess>%aditoprj%/entity/Duplicates_entity/entityfields/duplicatesunrelatedorganisationconsumer/children/targetentity/valueProcess.js</valueProcess>
</entityParameter>
<entityParameter>
<name>ClusterId_param</name>
<valueProcess>%aditoprj%/entity/Duplicates_entity/entityfields/duplicatesunrelatedorganisationconsumer/children/clusterid_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityActionGroup>
<name>PersonOpenClusterDetailActionGroup</name>
<children>
<entityActionField>
<name>PersonOpenClusterDetail</name>
<title>Open cluster detail</title>
<onActionProcess>%aditoprj%/entity/Duplicates_entity/entityfields/personopenclusterdetailactiongroup/children/personopenclusterdetail/onActionProcess.js</onActionProcess>
<isSelectionAction v="true" />
<iconId>VAADIN:FOLDER_OPEN</iconId>
</entityActionField>
</children>
</entityActionGroup>
<entityParameter>
<name>ClusterId_param</name>
<expose v="true" />
</entityParameter>
<entityActionGroup>
<name>OrganisationOpenClusterDetailActionGroup</name>
<children>
<entityActionField>
<name>OrganisationOpenClusterDetail</name>
<title>Open cluster detail</title>
<onActionProcess>%aditoprj%/entity/Duplicates_entity/entityfields/organisationopenclusterdetailactiongroup/children/organisationopenclusterdetail/onActionProcess.js</onActionProcess>
<isSelectionAction v="true" />
<iconId>VAADIN:FOLDER_OPEN</iconId>
</entityActionField>
</children>
</entityActionGroup>
<entityConsumer>
<name>DuplicateOrganisationsConsumer</name>
<dependency>
<name>dependency</name>
<entityName>Organisation_entity</entityName>
<fieldName>Organisations</fieldName>
</dependency>
<children>
<entityParameter>
<name>DuplicateActionsControl_param</name>
<valueProcess>%aditoprj%/entity/Duplicates_entity/entityfields/duplicateorganisationsconsumer/children/duplicateactionscontrol_param/valueProcess.js</valueProcess>
</entityParameter>
<entityParameter>
<name>OnlyShowContactIds_param</name>
<valueProcess>%aditoprj%/entity/Duplicates_entity/entityfields/duplicateorganisationsconsumer/children/onlyshowcontactids_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
</entityFields>
<recordContainers>
......
import("system.result");
result.string("2");//todo exchange with keyword
import("system.logging");
import("system.result");
import("system.vars");
import("DuplicateScanner_lib");
let clusterRecordId = vars.get("$field.UID");
let contactIdsInCluster = DuplicateScannerUtils.GetCachedDuplicatesForClusterId(clusterRecordId);
/*
* To achieve that if there are no duplicates, no contacts should be shown and therefore returned by the
* recordcontainer, an invalid id gets returned. It then is used in the conditionProcess to load the duplicates.
* Because of its invalidity, no records are shown.
*/
if(contactIdsInCluster.length == 0)
result.string(JSON.stringify(["nodata"]));
else
result.string(JSON.stringify(contactIdsInCluster));
\ No newline at end of file
import("system.vars");
import("system.result");
let clusterId = vars.get("$field.UID");
result.string(clusterId);
\ No newline at end of file
import("system.vars");
import("system.result");
result.string("Organisation_entity");
\ No newline at end of file
import("system.vars");
import("system.result");
let clusterId = vars.get("$field.UID");
//let clusterId = vars.get("$field.UID");
let clusterId = vars.get("$param.ClusterId_param");
result.string(clusterId);
\ No newline at end of file
import("system.logging");
import("system.vars");
import("system.neon");
let contextName = "Duplicates";
let viewName = "OrganisationClusterMain_view";
var params = {};
params["ClusterId_param"] = vars.get("$sys.selection")[0];
params["TargetEntity"] = "Organisation_entity";
neon.openContext(contextName, viewName, null, neon.OPERATINGSTATE_VIEW, params);
\ No newline at end of file
import("system.logging");
import("system.vars");
import("system.neon");
let contextName = "Duplicates";
let viewName = "PersonClusterMain_view";
var params = {};
params["ClusterId_param"] = vars.get("$sys.selection")[0];
params["TargetEntity"] = "Person_entity";
neon.openContext(contextName, viewName, null, neon.OPERATINGSTATE_VIEW, params);
\ No newline at end of file
import("system.vars");
import("system.result");
//let clusterId = vars.get("$sys.selection");
let clusterId = vars.get("$param.ClusterId_param");
result.string(clusterId);
\ No newline at end of file
......@@ -13,8 +13,8 @@ var INDEX_ORGNAME = 2;
let targetEntity = vars.get("$param.TargetEntity");
let duplicates = [];
let test = vars.get("$local.idvalues");
let selectedClusterId = vars.get("$param.ClusterId_param");
let duplicateInfosQuery = "";
if(targetEntity == "Person_entity")
......@@ -22,12 +22,14 @@ if(targetEntity == "Person_entity")
duplicateInfosQuery = SqlCondition.begin()
.and("DUPLICATEID not in (select UNRELATEDDUPLICATES.UNRELATEDDUPLICATEID from UNRELATEDDUPLICATES)")
.andIn("DUPLICATECLUSTERS.CLUSTERID", vars.get("$local.idvalues"))
.buildSql("select DUPLICATECLUSTERS.ID, CLUSTERID, FIRSTNAME, LASTNAME"
if(selectedClusterId)
duplicateInfosQuery = duplicateInfosQuery.and("DUPLICATECLUSTERS.CLUSTERID = '" + selectedClusterId + "'")
duplicateInfosQuery = duplicateInfosQuery.buildSql("select DUPLICATECLUSTERS.ID, CLUSTERID, FIRSTNAME, LASTNAME"
+ " from DUPLICATECLUSTERS"
+ " join CONTACT on CONTACT.CONTACTID = DUPLICATEID"
+ " join PERSON on PERSON.PERSONID = CONTACT.PERSON_ID", "1=2", " ORDER BY CLUSTERID");
}
else
{
......
......@@ -9,7 +9,7 @@ cond.andPrepareVars("CONTACT.ORGANISATION_ID", "$param.OrgId_param")
.andPrepareVars("PERSON.CONTACT_ID", "$param.ContactId_param");
var onlyShowContactIds = JSON.parse(vars.get("$param.OnlyShowContactIds_param"));
var additionalCondition = SqlCondition.begin();
let alternativeCondition = "1 = 1";
if (vars.exists("$param.ExcludedContactIds_param") && vars.get("$param.ExcludedContactIds_param"))
......
......@@ -3,7 +3,6 @@
<name>Duplicates</name>
<title>Duplicates</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<mainview>DuplicatesMainTest_view</mainview>
<filterview>DuplicatesOverview_view</filterview>
<entity>Duplicates_entity</entity>
<references>
......@@ -21,7 +20,7 @@
</neonViewReference>
<neonViewReference>
<name>70cb2e96-5bc1-46cb-982f-b27db5d143d2</name>
<view>DuplicatesMainTest_view</view>
<view>PersonClusterMain_view</view>
</neonViewReference>
<neonViewReference>
<name>7cdb6ca7-e99d-4eb6-897a-0953157bf62f</name>
......@@ -39,5 +38,9 @@
<name>d68a425a-037a-4725-8dc1-b0afac277bdd</name>
<view>OrganisationUnrelatedDuplicates_view</view>
</neonViewReference>
<neonViewReference>
<name>4c1fc406-1c83-4fb6-9059-e45ff5c80756</name>
<view>OrganisationClusterMain_view</view>
</neonViewReference>
</references>
</neonContext>
<?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.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
<name>OrganisationClusterMain_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<layout>
<boxLayout>
<name>layout</name>
<direction>HORIZONTAL</direction>
</boxLayout>
</layout>
<children>
<neonViewReference>
<name>b25f94bf-9316-4438-be78-b8cf596440b3</name>
<entityField>DuplicateOrganisationsConsumer</entityField>
<view>PersonFilter_view</view>
</neonViewReference>
<neonViewReference>
<name>5589bb81-171d-417b-a1b2-975144109d55</name>
<entityField>#ENTITY</entityField>
<view>DuplicatesUnrelatedCluster_view</view>
</neonViewReference>
</children>
</neonView>
......@@ -10,6 +10,7 @@
<children>
<tableViewTemplate>
<name>OrganisationDuplicatesTable</name>
<favoriteActionGroup1>OrganisationOpenClusterDetailActionGroup</favoriteActionGroup1>
<favoriteActionGroup2>DuplicateClusterActionGroup</favoriteActionGroup2>
<hideContentSearch v="true" />
<entityField>#ENTITY</entityField>
......
<?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.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
<name>DuplicatesMainTest_view</name>
<name>PersonClusterMain_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<layout>
<boxLayout>
......
......@@ -10,12 +10,15 @@
<children>
<tableViewTemplate>
<name>PersonDuplicatesTable</name>
<favoriteActionGroup1>PersonOpenClusterDetailActionGroup</favoriteActionGroup1>
<favoriteActionGroup2>DuplicateClusterActionGroup</favoriteActionGroup2>
<hideContentSearch v="true" />
<entityField>#ENTITY</entityField>
<isCreatable v="false" />
<isEditable v="false" />
<isDeletable v="false" />
<isSaveable v="false" />
<linkedFrame></linkedFrame>
<columns>
<neonTableColumn>
<name>7508e984-6a0b-4126-ab49-452e2b54f76d</name>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment