From fc88e689958886cb63bc8d377744a27e8a26741f Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 15:38:48 +0200 Subject: [PATCH] fixing initPresets --- .../com/nttdata/calender/presets/Presets.java | 57 ++++++++++++++----- 1 file changed, 42 insertions(+), 15 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 6e7cee9..898273e 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -58,26 +58,49 @@ public class Presets { } public Object initPresets() throws ARException, NotFoundError { - List entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), - formName, - null, - 0, 0); PresetsGetResponse response = new PresetsGetResponse(); + // gets the userPreferences from the logged in user + List entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", prefQuery.getFieldIds(), + formUserPref, + null, + 0, 0); + + // systemdefault filter definition + var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), + formDefault, null, 0, 0).get(0); + String sysdefGUID = sysdef.get(defQuery.getFieldId("InstanceId")).toString(); + + // if there are is no userPreference, return Filter Definition ??? if (entries.isEmpty() || entries == null) { - var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), - formDefault, null, 0, 0).get(0); return new Preset(sysdef.get(defQuery.getFieldId("InstanceId")).toString(), sysdef.get(defQuery.getFieldId("Name")).toString(), sysdef.get(defQuery.getFieldId("Definition")).toString(), "Admin"); - } else { + } else { // if there is a userPreference, loop through filter defs (presets of this user) allPresets(); - response.setPresets(presets); - response.setSelectedPreset(entries.get(0).get(query.getFieldId("GUID")).toString()); + response.setPresets(presets); // return all filter defs (presets of this user) + response.setSelectedPreset(entries.get(0).get(prefQuery.getFieldId("GUID")).toString()); // return + // selected + // preset + // (GUID) + + // if guid of user preference is empty, put systemdefault guid inside + if (response.getSelectedPreset().isBlank() || response.getSelectedPreset() == null) { + var queryP = new Query.QueryBuilder(formUserPref) + .addFieldValue("GUID", 364000001, new Value(sysdefGUID)).build(); + + var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); + api.modifyEntry(pref.get(0).getEntryId(), queryP); + + response.setSelectedPreset(sysdefGUID); + } + response.setUserPreferences( - new UserPreferences(entries.get(0).get(query.getFieldId("Details")).toString(), - entries.get(0).get(query.getFieldId("View")).toString(), - entries.get(0).get(query.getFieldId("Language")).toString())); + new UserPreferences( + entries.get(0).get(prefQuery.getFieldId("Details")).toString(), + entries.get(0).get(prefQuery.getFieldId("View")).toString(), + entries.get(0).get(prefQuery.getFieldId("Language")) + .toString())); } return response; @@ -96,10 +119,12 @@ public class Presets { var queryP = new Query.QueryBuilder(formUserPref) .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); - var pref = api.queryFieldsById("\'2\'==\"" + "ext_GedikSa" + "\"", queryP.getFieldIds(), formUserPref, + var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); + System.out.println(pref); + if (pref.isEmpty() || pref == null) return false; @@ -144,7 +169,8 @@ public class Presets { } public void allPresets() throws ARException, NotFoundError { - var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", defQuery.getFieldIds(), formDefault, + var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", defQuery.getFieldIds(), + formDefault, null, 0, 0); @@ -161,7 +187,8 @@ public class Presets { } public void deletePreset(DeletePresetRequest request) throws ARException { - var entries = api.queryFieldsById("\'179\'==\""+ request.getId() + "\"", null, formDefault, null, 0, 0).get(0); + var entries = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", null, formDefault, null, 0, 0) + .get(0); api.deleteEntry(formDefault, entries.getEntryId()); }