diff --git a/entity/SlaveAdministrationIntervall_entity/entityfields/save/onActionProcess.js b/entity/SlaveAdministrationIntervall_entity/entityfields/save/onActionProcess.js index d8a3467b478c2c807a97e8c05d3d6bfa6a73dd47..2a7d8d8b0e01cd9ebe2313fbea3bbbcf18af6f28 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 12b78945bfe5ca68b590a5b89e7843c27ef9b176..8b4cb89d54b3dcd9531b10165e3dbc955937a554 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 382d79b36ed3ca1bb80c499ff845c8feefe40a5a..ad38fb46a87c9c8248ee2d4aec5c8a22fe7fbd5c 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 578038ed6a8b7b8860d69f83c01e0a37e94d5534..5a16b684c3891f2582af83c9182dbfb6e895fb2f 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 56f528384724dbb990ef3f174b938782447f5641..03cde2c39f828148062004329320564bb05d19c9 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 70206af1305d54bb3b7a1c20a98618c9b1dca1a9..fe8596d155be1d8e9c3851611ae6fed4e4b733fe 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 38413d1cfde480a2562f948918ff83f80d1500d7..63b9ac5eddf0420845c1b9ced2eeac6bc0c221b7 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 baf617e755288243abe4b646cc05570a964c7cad..f6b3a2b98ba86b8206ae24b590e41d2be2a7adce 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 dfb3fa4367f773a6863197215bf0597ad20fa225..1ee224aeb5766ef81c269120cea5469478ba3bda 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 3dd4f20d00985579c0008fef8a46a6c39394c5b8..9f093689489ce3583c03556bbe81fba88b2d393f 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 2f7abb62990cab48f6c91a0fdec3459aada2171c..ce9a2ce17bb69479452d15363d31e93070b93b48 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 22c9e61ed915116f0d4882cb5f1637b02db302e9..f5890a69ea46450d811e41bf76cfb08c81bc4313 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 e3cdcbed05f359e989ee13b0acef4b17223a2ba6..29d7c2c558103bde3c529ead0d46d85689587986 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];