modified initpresets
parent
fc88e68995
commit
9b46d37985
|
|
@ -58,52 +58,51 @@ public class Presets {
|
|||
}
|
||||
|
||||
public Object initPresets() throws ARException, NotFoundError {
|
||||
|
||||
PresetsGetResponse response = new PresetsGetResponse();
|
||||
|
||||
// gets the userPreferences from the logged in user
|
||||
List<Entry> 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);
|
||||
// SYSTEMDEFAULT
|
||||
var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), formDefault, null, 0, 0).get(0);
|
||||
String sysdefGUID = sysdef.get(defQuery.getFieldId("InstanceId")).toString();
|
||||
System.out.println(sysdefGUID);
|
||||
|
||||
// if there are is no userPreference, return Filter Definition ???
|
||||
if (entries.isEmpty() || entries == null) {
|
||||
return new Preset(sysdef.get(defQuery.getFieldId("InstanceId")).toString(),
|
||||
sysdef.get(defQuery.getFieldId("Name")).toString(),
|
||||
sysdef.get(defQuery.getFieldId("Definition")).toString(), "Admin");
|
||||
} else { // if there is a userPreference, loop through filter defs (presets of this user)
|
||||
allPresets();
|
||||
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);
|
||||
// CHECK IF USER HAS PREFERENCES
|
||||
var preference = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", prefQuery.getFieldIds(), formUserPref, null, 0, 0);
|
||||
if (preference != null) {
|
||||
// CHECK IF PREFERENCE HAS GUID
|
||||
var guid = preference.get(0).get(prefQuery.getFieldId("GUID"));
|
||||
if (guid == null) {
|
||||
// IF GUID IS NULL PUT SYSTEM DEFAULT INSIDE
|
||||
var queryPreferenceNewValue = new Query.QueryBuilder(formUserPref).addFieldValue("GUID", 364000001, new Value(sysdefGUID)).build();
|
||||
var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryPreferenceNewValue.getFieldIds(), formUserPref, null, 0, 0);
|
||||
api.modifyEntry(pref.get(0).getEntryId(), queryPreferenceNewValue);
|
||||
}
|
||||
|
||||
response.setUserPreferences(
|
||||
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()));
|
||||
} else {
|
||||
// IF USER HAS NO PREFERENCES CREATE NEW ENTRY WITH PREFERENCES AND SYSDEF GUID
|
||||
createUserPreference(sysdefGUID);
|
||||
}
|
||||
return response;
|
||||
|
||||
// INIT ALL PRESETS
|
||||
getAll();
|
||||
response.setPresets(this.presets);
|
||||
response.setSelectedPreset(preference.get(0).get(prefQuery.getFieldId("GUID")).toString());
|
||||
response.setUserPreferences(
|
||||
new UserPreferences(preference.get(0).get(prefQuery.getFieldId("Details")).toString(),
|
||||
preference.get(0).get(prefQuery.getFieldId("View")).toString(),
|
||||
preference.get(0).get(prefQuery.getFieldId("Language")).toString()));
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
public void createUserPreference(String guid) throws ARException {
|
||||
var savePreference = new Query.QueryBuilder(formUserPref)
|
||||
.addFieldValue("GUID", 364000001, new Value(guid))
|
||||
.addFieldValue("Details", 364000002, new Value(1))
|
||||
.addFieldValue("View", 364000003, new Value(1))
|
||||
.addFieldValue("Language", 364000004, new Value("DE"))
|
||||
.build();
|
||||
|
||||
api.createEntry(savePreference);
|
||||
}
|
||||
|
||||
public void savePreset(Preset request) throws ARException, NotFoundError {
|
||||
|
|
|
|||
Loading…
Reference in New Issue