From 0b19288d8912bfda4509a4d684c57703bcc438fc Mon Sep 17 00:00:00 2001 From: "s.abdo" <s.abdo@adito.de> Date: Tue, 14 Sep 2021 08:29:25 +0200 Subject: [PATCH] Cod verbessert/ Git Kommentare --- .../entityfields/save/onActionProcess.js | 5 +- .../contentTitleProcess.js | 2 +- .../entityfields/active/valueProcess.js | 2 +- .../entityfields/bindata/onValueChange.js | 7 ++- .../children/deviceidreset/onActionProcess.js | 7 ++- .../children/deviceidreset/stateProcess.js | 3 +- .../children/intervalset/onActionProcess.js | 2 +- .../children/lastsyncreset/onActionProcess.js | 7 ++- .../entityfields/mylastsync/valueProcess.js | 6 +- .../_____LANGUAGE_EXTRA.aod | 18 ++++++ .../_____LANGUAGE_de/_____LANGUAGE_de.aod | 11 +++- .../_____LANGUAGE_en/_____LANGUAGE_en.aod | 12 ++++ process/OfflineClientSync_lib/process.js | 60 +++++++++++-------- 13 files changed, 95 insertions(+), 47 deletions(-) diff --git a/entity/SlaveAdministrationIntervall_entity/entityfields/save/onActionProcess.js b/entity/SlaveAdministrationIntervall_entity/entityfields/save/onActionProcess.js index d8a3467b47..2a7d8d8b0e 100644 --- a/entity/SlaveAdministrationIntervall_entity/entityfields/save/onActionProcess.js +++ b/entity/SlaveAdministrationIntervall_entity/entityfields/save/onActionProcess.js @@ -1,11 +1,12 @@ +import("Sql_lib"); import("system.neon"); import("system.vars"); import("system.db"); var value = vars.getString("$field.intervall"); -var types = db.getColumnTypes("ASYS_SYNCSLAVES", ["INTERVALL"], "_____SYSTEMALIAS"); var ids = JSON.parse(vars.get("$param.SlaveUIDs_param")); +var cond = newWhere("ASYS_SYNCSLAVES.SLAVEUID", ids, SqlBuilder.IN()).toString(); -db.updateData("ASYS_SYNCSLAVES", ["INTERVALL"], [types], [value], "SLAVEUID in ('"+ ids.join("', '")+ "')", "_____SYSTEMALIAS"); +db.updateData("ASYS_SYNCSLAVES", ["INTERVALL"], null, [value], cond, SqlUtils.getSystemAlias()); neon.closeImage(vars.get("$sys.currentimage"), true); neon.refreshAll(); \ No newline at end of file diff --git a/entity/SlaveAdministration_entity/contentTitleProcess.js b/entity/SlaveAdministration_entity/contentTitleProcess.js index 12b78945bf..8b4cb89d54 100644 --- a/entity/SlaveAdministration_entity/contentTitleProcess.js +++ b/entity/SlaveAdministration_entity/contentTitleProcess.js @@ -2,4 +2,4 @@ import("system.vars"); import("system.result"); import("system.translate"); -result.string(translate.text("Slave administration") + " " + vars.get("$field.DESCRIPTION")+ " ist " + vars.get("$field.ACTIVE")); \ No newline at end of file +result.string(translate.withArguments("Slave administration '%0' is '%1'", [vars.get("$field.DESCRIPTION"), vars.get("$field.ACTIVE")])); \ No newline at end of file diff --git a/entity/SlaveAdministration_entity/entityfields/active/valueProcess.js b/entity/SlaveAdministration_entity/entityfields/active/valueProcess.js index 382d79b36e..ad38fb46a8 100644 --- a/entity/SlaveAdministration_entity/entityfields/active/valueProcess.js +++ b/entity/SlaveAdministration_entity/entityfields/active/valueProcess.js @@ -2,5 +2,5 @@ import("system.vars"); import("system.result"); import("system.neon"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null) +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null) result.string("1"); \ No newline at end of file diff --git a/entity/SlaveAdministration_entity/entityfields/bindata/onValueChange.js b/entity/SlaveAdministration_entity/entityfields/bindata/onValueChange.js index 578038ed6a..5a16b684c3 100644 --- a/entity/SlaveAdministration_entity/entityfields/bindata/onValueChange.js +++ b/entity/SlaveAdministration_entity/entityfields/bindata/onValueChange.js @@ -1,18 +1,19 @@ +import("system.translate"); import("OfflineClientSync_lib"); import("system.question"); import("system.neon"); import("system.vars"); // based on the selected license, the SlaveID is used. -if((vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT || vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)) +if (vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT || vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW) { var licenseID = ""; var binData = vars.get("$field.bindata"); - if( binData != "" && binData != null ) + if (binData != "" && binData != null ) { licenseID = OfflineClientSyncUtils.getIDFromLicense(binData); vars.set("$field.SLAVEUID", licenseID); } else - question.showMessage("Die Datei enthielt keine Daten"); + question.showMessage(translate.text("The file did not contain any data")); } \ No newline at end of file diff --git a/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/deviceidreset/onActionProcess.js b/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/deviceidreset/onActionProcess.js index 56f5283847..03cde2c39f 100644 --- a/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/deviceidreset/onActionProcess.js +++ b/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/deviceidreset/onActionProcess.js @@ -1,11 +1,12 @@ +import("Sql_lib"); import("system.neon"); import("system.db"); import("system.vars"); var sysSelection = vars.get("$sys.selection"); -if(sysSelection.length > 0) +if (sysSelection.length > 0) { - db.updateData('ASYS_SYNCSLAVES', ["DEVICEID"], null, [''], "ASYS_SYNCSLAVES.SLAVEUID in ('" + sysSelection.join("','") + "')"); - neon.refresh(); + db.updateData('ASYS_SYNCSLAVES', ["DEVICEID"], null, [''], newWhere("ASYS_SYNCSLAVES.SLAVEUID", sysSelection, SqlBuilder.IN())); + neon.refresh(); } \ No newline at end of file diff --git a/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/deviceidreset/stateProcess.js b/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/deviceidreset/stateProcess.js index 70206af130..fe8596d155 100644 --- a/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/deviceidreset/stateProcess.js +++ b/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/deviceidreset/stateProcess.js @@ -1,5 +1,6 @@ +import("Util_lib"); import("system.vars"); import("system.result"); import("system.neon"); -(vars.get("$sys.selection")? result.string(neon.COMPONENTSTATE_EDITABLE) : result.string(neon.COMPONENTSTATE_INVISIBLE)); \ No newline at end of file +result.string(!Utils.isNullOrEmpty(vars.get("$sys.selection")) ? neon.COMPONENTSTATE_EDITABLE : neon.COMPONENTSTATE_INVISIBLE); \ No newline at end of file diff --git a/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/intervalset/onActionProcess.js b/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/intervalset/onActionProcess.js index 38413d1cfd..63b9ac5edd 100644 --- a/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/intervalset/onActionProcess.js +++ b/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/intervalset/onActionProcess.js @@ -2,7 +2,7 @@ import("system.vars"); import("system.neon"); var selection = vars.get("$sys.selection"); -if(selection.length > 0) +if (selection.length > 0) { var params = {}; params["SlaveUIDs_param"] = JSON.stringify(vars.get("$sys.selection")); diff --git a/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/lastsyncreset/onActionProcess.js b/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/lastsyncreset/onActionProcess.js index baf617e755..f6b3a2b98b 100644 --- a/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/lastsyncreset/onActionProcess.js +++ b/entity/SlaveAdministration_entity/entityfields/filterviewactiongroup/children/lastsyncreset/onActionProcess.js @@ -1,11 +1,12 @@ +import("Sql_lib"); import("system.neon"); import("system.db"); import("system.vars"); var sysSelection = vars.get("$sys.selection"); -if(sysSelection.length > 0) +if (sysSelection.length > 0) { - db.updateData('ASYS_SYNCSLAVES', ["LASTSYNC"], null, [''], "ASYS_SYNCSLAVES.SLAVEUID in ('" + sysSelection.join("','") + "')"); - neon.refresh(); + db.updateData('ASYS_SYNCSLAVES', ["LASTSYNC"], null, [''], newWhere("ASYS_SYNCSLAVES.SLAVEUID", sysSelection, SqlBuilder.IN())); + neon.refresh(); } \ No newline at end of file diff --git a/entity/SlaveAdministration_entity/entityfields/mylastsync/valueProcess.js b/entity/SlaveAdministration_entity/entityfields/mylastsync/valueProcess.js index dfb3fa4367..1ee224aeb5 100644 --- a/entity/SlaveAdministration_entity/entityfields/mylastsync/valueProcess.js +++ b/entity/SlaveAdministration_entity/entityfields/mylastsync/valueProcess.js @@ -4,8 +4,8 @@ import("Sql_lib"); var user = vars.get("$sys.user"); var res = newSelect("ASYS_SYNCSLAVES.LASTSYNC") -.from("ASYS_SYNCSLAVES") -.where("ASYS_SYNCSLAVES.DESCRIPTION", user) -.cell(); + .from("ASYS_SYNCSLAVES") + .where("ASYS_SYNCSLAVES.DESCRIPTION", user) + .cell(); result.string(res); \ No newline at end of file diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 3dd4f20d00..9f09368948 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -9697,6 +9697,24 @@ <entry> <key>Open Visitrecommendation</key> </entry> + <entry> + <key>Calling the abbyy webservice failed</key> + </entry> + <entry> + <key>within one Month</key> + </entry> + <entry> + <key>Valuation</key> + </entry> + <entry> + <key>Slave administration</key> + </entry> + <entry> + <key>Slave administration '%0' is '%1'</key> + </entry> + <entry> + <key>The file did not contain any data</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> <sqlModels> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 2f7abb6299..ce9a2ce17b 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -6,6 +6,10 @@ <country></country> <variant></variant> <keyValueMap> + <entry> + <key>The file did not contain any data</key> + <value>Die Datei enthielt keine Daten</value> + </entry> <entry> <key>Slave administration</key> <value>Slave Verwaltung</value> @@ -12330,9 +12334,6 @@ Bitte Datumseingabe prüfen</value> <entry> <key>within the next Month</key> </entry> - <entry> - <key>DSGVO-Anonymisierung</key> - </entry> <entry> <key>During processing the e-mail an error has occurred.\n Please contact an administrator</key> </entry> @@ -12592,6 +12593,10 @@ Bitte Datumseingabe prüfen</value> <key>Text File</key> <value>Textdatei</value> </entry> + <entry> + <key>Slave administration '%0' is '%1'</key> + <value>Slave Verwaltung '%0' ist '%1'</value> + </entry> <entry> <key>TrueType Font</key> <value>TrueType Schriftart</value> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index 22c9e61ed9..f5890a69ea 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -9792,6 +9792,18 @@ <entry> <key>Open Visitrecommendation</key> </entry> + <entry> + <key>Calling the abbyy webservice failed</key> + </entry> + <entry> + <key>Slave administration</key> + </entry> + <entry> + <key>Slave administration '%0' is '%1'</key> + </entry> + <entry> + <key>The file did not contain any data</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/process/OfflineClientSync_lib/process.js b/process/OfflineClientSync_lib/process.js index e3cdcbed05..29d7c2c558 100644 --- a/process/OfflineClientSync_lib/process.js +++ b/process/OfflineClientSync_lib/process.js @@ -1,3 +1,4 @@ +import("system.logging"); import("system.vars"); import("system.fileIO"); import("system.pack"); @@ -9,31 +10,32 @@ import("Sql_lib"); import("Document_lib"); /* - * Provides methods for handling and interacting with the Offline Client + * Provides methods for handling and interacting with the Offline Client * * @class */ -function OfflineClientSyncUtils() {} +function OfflineClientSyncUtils() +{} /* * The ASYS_AUDIT entries are deleted, but the entries from the last month are retained - * , INTERVAL -28 DAY), db.getCurrentAlias()min( */ -OfflineClientSyncUtils.asysAuditCleanUp = function(){ - +OfflineClientSyncUtils.asysAuditCleanUp = function() +{ try { var lastsync = newSelect("MIN(ASYS_SYNCSLAVES.LASTSYNC)", db.getCurrentAlias()) - .from("ASYS_SYNCSLAVES") - .cell(); + .from("ASYS_SYNCSLAVES") + .cell(); - if( lastsync != "" ) + if (lastsync != "" ) { - var fourWeeks = datetime.ONE_WEEK * 4; - var lastsyncVorfourWeeks = datetime.timestamp(lastsync - fourWeeks); - var cond = newWhere("ASYS_AUDIT.LOGTIME < '" + lastsyncVorfourWeeks + "'").toString().buildDeleteStatement(); + var FOUR_WEEKS = datetime.ONE_WEEK * 4; + var lastsyncVorfourWeeks = datetime.timestamp(lastsync - FOUR_WEEKS); - db.deletes([[ "ASYS_AUDIT", cond ]], SqlUtils.getSystemAlias(), 3600000); + new SqlBuilder(SqlUtils.getSystemAlias()) + .where("ASYS_AUDIT.LOGTIME", lastsyncVorfourWeeks, SqlBuilder.LESS()) + .deleteData(true, "ASYS_AUDIT", 3600000); } } catch(ex) @@ -42,26 +44,32 @@ OfflineClientSyncUtils.asysAuditCleanUp = function(){ } } -/* +/* A process of being entered from the bindata, the licenseId lelst + * * @param {bindata} pBinData * * @return {string} LicenseID */ -OfflineClientSyncUtils.getIDFromLicense = function(pBinData){ - +OfflineClientSyncUtils.getIDFromLicense = function(pBinData) +{ var binData = DocumentUtil.getBindataFromUpload(pBinData); var serverFilePath = vars.get("$sys.servertemp") + "/clientid_" + (vars.exists("$sys.clientid") ? vars.get("$sys.clientid") : 0) + "/" + util.getNewUUID() + "/license.jar"; fileIO.storeData(serverFilePath, binData, util.DATA_BINARY, false); - - var infoFromZIP = pack.getFromZip(serverFilePath, "info.txt"); - var info = util.decodeBase64String(infoFromZIP, "UTF-8"); - var license = OfflineClientSyncUtils.InfoFileToObj(info)["LicenseID"]; - var licenseID = license.split("/")[1]; - - fileIO.remove(serverFilePath); - + try + { + + var infoFromZIP = pack.getFromZip(serverFilePath, "info.txt"); + var info = util.decodeBase64String(infoFromZIP, "UTF-8"); + var license = OfflineClientSyncUtils.InfoFileToObj(info)["LicenseID"]; + var licenseID = license.split("/")[1]; + } + finally + { + + fileIO.remove(serverFilePath); + } return licenseID.trim(); } @@ -70,13 +78,13 @@ OfflineClientSyncUtils.getIDFromLicense = function(pBinData){ * * @return {Object[]} */ -OfflineClientSyncUtils.InfoFileToObj = function(pFile){ - +OfflineClientSyncUtils.InfoFileToObj = function(pFile) +{ var file = pFile; var retObj = []; file = file.split("\n"); - for( var i = 0; i < file.length; i++ ) + for (var i = 0; i < file.length; i++ ) { var temp = file[i].split(":"); retObj[ temp[0] ] = temp[1]; -- GitLab