From 52f7fe0aa3d90757182bc900bd2cd28ed31e7ec3 Mon Sep 17 00:00:00 2001 From: "c.wimmer" <c.wimmer@cwimmer-nb.aditosoftware.local> Date: Thu, 17 Dec 2020 17:49:28 +0100 Subject: [PATCH] [Projekt: Crowd-Development / Besuch vor Ort][TicketNr.: 1068895][[Bug] Besuchsvorschlag Sortierung nach Firma funktioniert nicht] --- .../recordcontainers/jdito/contentProcess.js | 34 +++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js index 1a5bb84a0e..2c1eda5488 100644 --- a/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/VisitRecommendation_entity/recordcontainers/jdito/contentProcess.js @@ -216,7 +216,7 @@ if(idValues == false) var filter = vars.get("$local.filter"); //TODO: this is a workaround that filters the records manually, it should be possible to filter the users with a tools.* method -var filterFields = ["", "", "STREET", "COUNTRY" , "ZIP", "CITY", "PRIORITY", "PRIORITY_SOURCE", "", "DUE_DATE", "INFO", "CONTACT_ID" +var filterFields = ["", "ORGANISATION_NAME", "STREET", "COUNTRY" , "ZIP", "CITY", "PRIORITY", "PRIORITY_SOURCE", "", "DUE_DATE", "INFO", "CONTACT_ID" , "", "", "USER_NEW", "", "CONTACT_PERSON_ID", "", "RESPONSIBLE"]; var filterFns = { "$$$LOOKUPFIELD$$$" : function (pRecordValue, pFilterValue, pOperator, pRow) @@ -238,8 +238,36 @@ var filterFns = { }; recommendationData = JditoFilterUtils.filterRecords(filterFields, recommendationData, filter.filter, filterFns); -//sort Array by priority; highest priority first -ArrayUtils.sort2d(recommendationData, 9, true, true); + +var order = vars.get("$local.order"); + +var columnOrder = { + "ORGANISATION_NAME.value": 1, + "STREET.value": 2, + "COUNTRY.value": 3, + "ZIP.value": 4, + "CITY.value": 5, + "PRIORITY.value": 6, + "PRIORITY_SOURCE.value": 7, + "DUE_DATE.value": 9, + "USER_NEW.displayValue": 13, + "CONTACT_PERSON_ID.displayValue": 15, + "RESPONSIBLE.displayValue": 17 +}; +var sortOrder = []; +for (let field in order) +{ + if (field in columnOrder) + { + sortOrder.push(columnOrder[field]); + sortOrder.push(order[field] == "DOWN"); + } +} + +if (!sortOrder.length) + sortOrder = [9, false]; //default sort by duedate + +ArrayUtils.sortMulti(recommendationData, sortOrder); result.object(recommendationData); function getPrioByDueDate(pDueDate) -- GitLab