Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0039360 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
design defect | [Retail Modules] Web POS | major | N/A | 2018-09-27 12:51 | 2019-06-18 12:34 | |||
Reporter | gorka_gil | View Status | public | |||||
Assigned To | gorka_gil | |||||||
Priority | normal | Resolution | fixed | Fixed in Version | RR19Q1 | |||
Status | closed | Fix in branch | Fixed in SCM revision | |||||
Projection | none | ETA | none | Target Version | ||||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Review Assigned To | marvintm | |||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0039360: Terminal Log : Improve log client with cashier actions and processes start/end info | |||||||
Description | A) Log client saves info, warn, error messages generated by the pos. B) There is a project to create a new log with cashier actions and other events but adding in the code all this log. C) There is another project that add a log to each button or key pressed. D) In this feature request, idea is to improve the idea behind C), so in a central place and generic, saves logs of each click and key pressed, and improve till reach a similar level than B), that has hardcoded in many places of the code the log messages. Also apart of cashier actions will save the processes start/end. The purpose is to help understand better what has happen in case of a problem. And second objective is to not have to add log in all the places of the code, but this is created in a central place and don't require edit the code, so automatically applies to all modules. Special care will be taken to ensure that we cause no performance degradation in the client side, we don't generate too much data which needs to be synchronized with the backend, and we also don't cause performance problems in the backend because of the new data we need to save. | |||||||
Steps To Reproduce | - | |||||||
Tags | No tags attached. | |||||||
Attached Files | terminallog-q3-erp.diff [^] (4,640 bytes) 2018-12-11 11:25 [Show Content] [Hide Content]diff -r ab71c6a06243 src/org/openbravo/service/importprocess/ImportEntryArchiveManager.java --- a/src/org/openbravo/service/importprocess/ImportEntryArchiveManager.java Wed Nov 14 09:22:19 2018 +0100 +++ b/src/org/openbravo/service/importprocess/ImportEntryArchiveManager.java Mon Dec 10 12:28:08 2018 +0100 @@ -20,6 +20,8 @@ import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -37,6 +39,7 @@ import org.openbravo.dal.service.OBDal; import org.openbravo.dal.service.OBQuery; import org.openbravo.service.importprocess.ImportEntryManager.DaemonThreadFactory; +import org.openbravo.service.importprocess.ImportEntryManager.ImportEntryProcessorSelector; /** * Class responsible for moving {@link ImportEntry} objects to the {@link ImportEntryArchive} table. @@ -77,6 +80,12 @@ private boolean isShutDown = false; + @Inject + @Any + private Instance<ImportEntryProcessor> entryProcessors; + + private Map<String, ImportEntryProcessor> importEntryProcessors = new ConcurrentHashMap<String, ImportEntryProcessor>(); + public ImportEntryArchiveManager() { instance = this; } @@ -97,6 +106,21 @@ executorService = null; } + private ImportEntryProcessor getImportEntryProcessor(String qualifier) { + ImportEntryProcessor importEntryProcessor = importEntryProcessors.get(qualifier); + if (importEntryProcessor == null) { + importEntryProcessor = entryProcessors.select(new ImportEntryProcessorSelector(qualifier)) + .get(); + if (importEntryProcessor != null) { + importEntryProcessors.put(qualifier, importEntryProcessor); + } else { + // caller should handle it + return null; + } + } + return importEntryProcessor; + } + private static class ImportEntryArchiveThread implements Runnable { private final ImportEntryArchiveManager manager; @@ -176,20 +200,26 @@ dataProcessed = true; lastCreated = importEntry.getCreationDate(); - ImportEntryArchive archiveEntry = createArchiveEntry(importEntry); - if (manager.isShutDown) { return; } + ImportEntryProcessor importEntryProcessor = ImportEntryArchiveManager.getInstance() + .getImportEntryProcessor(importEntry.getTypeofdata()); + if (importEntryProcessor == null || importEntryProcessor.enableArchive()) { - for (ImportEntryArchivePreProcessor processor : manager.archiveEntryPreProcessors) { - processor.beforeArchive(importEntry, archiveEntry); + ImportEntryArchive archiveEntry = createArchiveEntry(importEntry); + + for (ImportEntryArchivePreProcessor processor : manager.archiveEntryPreProcessors) { + processor.beforeArchive(importEntry, archiveEntry); + } + + log.debug("Processed one entry"); + OBDal.getInstance().save(archiveEntry); + } else { + log.debug("Skipped one entry of type " + importEntry.getTypeofdata()); } - log.debug("Processed one entry"); - OBDal.getInstance().remove(importEntry); - OBDal.getInstance().save(archiveEntry); } // commit in batches of 1000 records OBDal.getInstance().commitAndClose(); diff -r ab71c6a06243 src/org/openbravo/service/importprocess/ImportEntryProcessor.java --- a/src/org/openbravo/service/importprocess/ImportEntryProcessor.java Wed Nov 14 09:22:19 2018 +0100 +++ b/src/org/openbravo/service/importprocess/ImportEntryProcessor.java Mon Dec 10 12:28:08 2018 +0100 @@ -11,7 +11,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU - * All portions are Copyright (C) 2015-2017 Openbravo SLU + * All portions are Copyright (C) 2015-2018 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -232,6 +232,13 @@ protected abstract String getProcessSelectionKey(ImportEntry importEntry); /** + * Declares if the import entry will later on be archived after it has been processed + */ + protected boolean enableArchive() { + return true; + } + + /** * The default implementation of the ImportEntryProcessRunnable. It performs the following * actions: * <ul> terminallog-q3-mobilecore.diff [^] (116,206 bytes) 2018-12-11 11:25 [Show Content] [Hide Content] diff -r 106da55fdd88 referencedata/standard/Obmobc_logclient_grid_config.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/referencedata/standard/Obmobc_logclient_grid_config.xml Mon Dec 10 12:28:35 2018 +0100 @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8"?><ob:Openbravo xmlns:ob="http://www.openbravo.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <OBUIAPP_GC_Field id="1E370295AEB2469BBDD894551AD8674D" identifier="Device Identifier - Terminal Log - Terminal Log"> + <id>1E370295AEB2469BBDD894551AD8674D</id> + <active>true</active> + <creationDate transient="true">2018-10-11T16:30:36.808Z</creationDate> + <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <updated transient="true">2018-10-11T16:30:36.808Z</updated> + <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <obuiappGcTab id="1AD989605ACA4F5FB6C11B2E7AC88867" entity-name="OBUIAPP_GC_Tab" identifier="Terminal Log - Terminal Log"/> + <field id="9DC560B9CF824B17B4C6F10B9B1B7389" entity-name="ADField" identifier="Device Identifier - Terminal Log - Terminal Log"/> + <filterable>Y</filterable> + <sortable>D</sortable> + <textFilterBehavior>IE</textFilterBehavior> + <filterOnChange>D</filterOnChange> + <thresholdToFilter xsi:nil="true"/> + <allowFilterByIdentifier>D</allowFilterByIdentifier> + <isFkDropdownUnfiltered>D</isFkDropdownUnfiltered> + <disableFkCombo>D</disableFkCombo> + </OBUIAPP_GC_Field> + <OBUIAPP_GC_Field id="365BD091510440E5970D5A9463118A1E" identifier="Timestamp - Terminal Log - Terminal Log"> + <id>365BD091510440E5970D5A9463118A1E</id> + <active>true</active> + <creationDate transient="true">2018-10-11T16:27:49.856Z</creationDate> + <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <updated transient="true">2018-10-11T16:28:45.952Z</updated> + <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <obuiappGcTab id="1AD989605ACA4F5FB6C11B2E7AC88867" entity-name="OBUIAPP_GC_Tab" identifier="Terminal Log - Terminal Log"/> + <field id="EEA3E2C92E6B493B870D8310BCD7150D" entity-name="ADField" identifier="Timestamp - Terminal Log - Terminal Log"/> + <filterable>D</filterable> + <sortable>Y</sortable> + <textFilterBehavior>D</textFilterBehavior> + <filterOnChange>D</filterOnChange> + <thresholdToFilter xsi:nil="true"/> + <allowFilterByIdentifier>D</allowFilterByIdentifier> + <isFkDropdownUnfiltered>D</isFkDropdownUnfiltered> + <disableFkCombo>D</disableFkCombo> + </OBUIAPP_GC_Field> + <OBUIAPP_GC_Field id="78844E46B1F749F59ED3C60D4BCE9C8D" identifier="Unique cache session identifier - Terminal Log - Terminal Log"> + <id>78844E46B1F749F59ED3C60D4BCE9C8D</id> + <active>true</active> + <creationDate transient="true">2018-10-18T12:17:38.915Z</creationDate> + <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <updated transient="true">2018-10-30T11:57:23.552Z</updated> + <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <obuiappGcTab id="1AD989605ACA4F5FB6C11B2E7AC88867" entity-name="OBUIAPP_GC_Tab" identifier="Terminal Log - Terminal Log"/> + <field id="76D547ED7B1342E9A11CA95522C67009" entity-name="ADField" identifier="Unique cache session identifier - Terminal Log - Terminal Log"/> + <filterable>Y</filterable> + <sortable>D</sortable> + <textFilterBehavior>E</textFilterBehavior> + <filterOnChange>D</filterOnChange> + <thresholdToFilter xsi:nil="true"/> + <allowFilterByIdentifier>D</allowFilterByIdentifier> + <isFkDropdownUnfiltered>D</isFkDropdownUnfiltered> + <disableFkCombo>D</disableFkCombo> + </OBUIAPP_GC_Field> + <OBUIAPP_GC_Field id="80848D9BF09B4D11A53BE2F5CB5A3D5B" identifier="Context - Terminal Log - Terminal Log"> + <id>80848D9BF09B4D11A53BE2F5CB5A3D5B</id> + <active>true</active> + <creationDate transient="true">2018-10-11T16:30:55.308Z</creationDate> + <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <updated transient="true">2018-10-18T12:28:39.873Z</updated> + <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <obuiappGcTab id="1AD989605ACA4F5FB6C11B2E7AC88867" entity-name="OBUIAPP_GC_Tab" identifier="Terminal Log - Terminal Log"/> + <field id="2914F2F026F14B0FB381139EDD5A7B45" entity-name="ADField" identifier="Context - Terminal Log - Terminal Log"/> + <filterable>Y</filterable> + <sortable>D</sortable> + <textFilterBehavior>IC</textFilterBehavior> + <filterOnChange>D</filterOnChange> + <thresholdToFilter xsi:nil="true"/> + <allowFilterByIdentifier>D</allowFilterByIdentifier> + <isFkDropdownUnfiltered>D</isFkDropdownUnfiltered> + <disableFkCombo>D</disableFkCombo> + </OBUIAPP_GC_Field> + <OBUIAPP_GC_Field id="841DC4CA85754F81885B134A12FEEB7B" identifier="Log Type - Terminal Log - Terminal Log"> + <id>841DC4CA85754F81885B134A12FEEB7B</id> + <active>true</active> + <creationDate transient="true">2018-10-11T16:29:39.825Z</creationDate> + <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <updated transient="true">2018-10-11T16:29:39.825Z</updated> + <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <obuiappGcTab id="1AD989605ACA4F5FB6C11B2E7AC88867" entity-name="OBUIAPP_GC_Tab" identifier="Terminal Log - Terminal Log"/> + <field id="2AB77B21E25C4FDF9059C80C04EC2FB9" entity-name="ADField" identifier="Log Type - Terminal Log - Terminal Log"/> + <filterable>Y</filterable> + <sortable>D</sortable> + <textFilterBehavior>D</textFilterBehavior> + <filterOnChange>D</filterOnChange> + <thresholdToFilter xsi:nil="true"/> + <allowFilterByIdentifier>D</allowFilterByIdentifier> + <isFkDropdownUnfiltered>D</isFkDropdownUnfiltered> + <disableFkCombo>D</disableFkCombo> + </OBUIAPP_GC_Field> + <OBUIAPP_GC_Field id="E923620A3C8F47C782705D7C1586EA72" identifier="Date - Terminal Log - Terminal Log"> + <id>E923620A3C8F47C782705D7C1586EA72</id> + <active>true</active> + <creationDate transient="true">2018-10-11T16:29:11.658Z</creationDate> + <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <updated transient="true">2018-10-11T16:29:11.658Z</updated> + <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <obuiappGcTab id="1AD989605ACA4F5FB6C11B2E7AC88867" entity-name="OBUIAPP_GC_Tab" identifier="Terminal Log - Terminal Log"/> + <field id="0787AC0FCA6742AE91D991D2DF849052" entity-name="ADField" identifier="Date - Terminal Log - Terminal Log"/> + <filterable>Y</filterable> + <sortable>D</sortable> + <textFilterBehavior>D</textFilterBehavior> + <filterOnChange>D</filterOnChange> + <thresholdToFilter xsi:nil="true"/> + <allowFilterByIdentifier>D</allowFilterByIdentifier> + <isFkDropdownUnfiltered>D</isFkDropdownUnfiltered> + <disableFkCombo>D</disableFkCombo> + </OBUIAPP_GC_Field> + <OBUIAPP_GC_Tab id="1AD989605ACA4F5FB6C11B2E7AC88867" identifier="Terminal Log - Terminal Log"> + <id>1AD989605ACA4F5FB6C11B2E7AC88867</id> + <active>true</active> + <creationDate transient="true">2018-10-11T16:26:19.17Z</creationDate> + <createdBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <updated transient="true">2018-10-30T11:57:12.351Z</updated> + <updatedBy transient="true" id="100" entity-name="ADUser" identifier="Openbravo"/> + <tab id="14BDEAB664C146DCB662B2E3EA7A495E" entity-name="ADTab" identifier="Terminal Log - Terminal Log"/> + <filterable>N</filterable> + <sortable>N</sortable> + <textFilterBehavior>D</textFilterBehavior> + <thresholdToFilter xsi:nil="true"/> + <isLazyFiltering>Y</isLazyFiltering> + <filterOnChange>D</filterOnChange> + <allowFilterByIdentifier>D</allowFilterByIdentifier> + <isFkDropDownUnfiltered>D</isFkDropDownUnfiltered> + <disableFkCombo>D</disableFkCombo> + <seqno>10</seqno> + <allowSummaryFunctions>D</allowSummaryFunctions> + </OBUIAPP_GC_Tab> +</ob:Openbravo> diff -r 106da55fdd88 src-db/database/model/tables/OBMOBC_LOGCLIENT.xml --- a/src-db/database/model/tables/OBMOBC_LOGCLIENT.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/model/tables/OBMOBC_LOGCLIENT.xml Mon Dec 10 12:28:35 2018 +0100 @@ -41,7 +41,7 @@ <default/> <onCreateDefault/> </column> - <column name="LOGLEVEL" primaryKey="false" required="false" type="VARCHAR" size="255" autoIncrement="false"> + <column name="LOGLEVEL" primaryKey="false" required="false" type="VARCHAR" size="60" autoIncrement="false"> <default/> <onCreateDefault/> </column> @@ -53,12 +53,38 @@ <default><![CDATA[Y]]></default> <onCreateDefault/> </column> + <column name="CONTEXT" primaryKey="false" required="false" type="VARCHAR" size="255" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> + <column name="TSTAMP" primaryKey="false" required="false" type="DECIMAL" size="13,0" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> <foreign-key foreignTable="AD_CLIENT" name="OBMOBC_LOGCLIENT_AD_CLIENT"> <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/> </foreign-key> <foreign-key foreignTable="AD_ORG" name="OBMOBC_LOGCLIENT_AD_ORG"> <reference local="AD_ORG_ID" foreign="AD_ORG_ID"/> </foreign-key> + <index name="OBMOBC_LOGCLIENT_CACHE" unique="false"> + <index-column name="CACHE_SESSION_ID"/> + </index> + <index name="OBMOBC_LOGCLIENT_CONTEXT" unique="false" containsSearch="true"> + <index-column name="functionBasedColumn" functionExpression="UPPER(CONTEXT)"/> + </index> + <index name="OBMOBC_LOGCLIENT_LOG_IDX" unique="false"> + <index-column name="LOGLEVEL"/> + <whereClause><![CDATA[LOGLEVEL='Error']]></whereClause> + </index> + <index name="OBMOBC_LOGCLIENT_TERM_DATE" unique="false"> + <index-column name="functionBasedColumn" functionExpression="UPPER(DEVICEID)"/> + <index-column name="CREATED"/> + </index> + <index name="OBMOBC_LOGCLIENT_TIMESTAMP" unique="false"> + <index-column name="TSTAMP"/> + <index-column name="OBMOBC_LOGCLIENT_ID"/> + </index> <check name="OBMOBC_LOGCLIENT_ISACTIVE_CHK"><![CDATA[ISACTIVE IN ('Y', 'N')]]></check> <check name="OBMOBC_LOGCLIENT_ISONLINE_CHK"><![CDATA[ISONLINE IN ('Y', 'N')]]></check> </table> diff -r 106da55fdd88 src-db/database/model/tables/OBMOBC_PROCESS_DEFINITION.xml --- a/src-db/database/model/tables/OBMOBC_PROCESS_DEFINITION.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/model/tables/OBMOBC_PROCESS_DEFINITION.xml Mon Dec 10 12:28:35 2018 +0100 @@ -49,6 +49,10 @@ <default/> <onCreateDefault/> </column> + <column name="TERMINALLOG" primaryKey="false" required="false" type="CHAR" size="1" autoIncrement="false"> + <default><![CDATA[Y]]></default> + <onCreateDefault/> + </column> <foreign-key foreignTable="AD_CLIENT" name="OBMOBC_PROCESS_DEF_AD_CLNT"> <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/> </foreign-key> diff -r 106da55fdd88 src-db/database/sourcedata/AD_COLUMN.xml --- a/src-db/database/sourcedata/AD_COLUMN.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/AD_COLUMN.xml Mon Dec 10 12:28:35 2018 +0100 @@ -756,6 +756,41 @@ <!--3757014FB37040A585F59C9FE7E8B4E6--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--3757014FB37040A585F59C9FE7E8B4E6--></AD_COLUMN> +<!--41373BF9F3314E40A881A75C8CD9A1AA--><AD_COLUMN> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <AD_COLUMN_ID><![CDATA[41373BF9F3314E40A881A75C8CD9A1AA]]></AD_COLUMN_ID> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <NAME><![CDATA[Context]]></NAME> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <COLUMNNAME><![CDATA[Context]]></COLUMNNAME> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <AD_TABLE_ID><![CDATA[D669D497165B4A0CB9D382378BA8D0F5]]></AD_TABLE_ID> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <AD_REFERENCE_ID><![CDATA[10]]></AD_REFERENCE_ID> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <FIELDLENGTH><![CDATA[255]]></FIELDLENGTH> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISKEY><![CDATA[N]]></ISKEY> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <SEQNO><![CDATA[180]]></SEQNO> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <AD_ELEMENT_ID><![CDATA[96FAAD9F8E014FEF888853A5022A63BB]]></AD_ELEMENT_ID> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--41373BF9F3314E40A881A75C8CD9A1AA--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--41373BF9F3314E40A881A75C8CD9A1AA--></AD_COLUMN> + <!--420CEA8A8FED40DFBCE2DBD2D4FED256--><AD_COLUMN> <!--420CEA8A8FED40DFBCE2DBD2D4FED256--> <AD_COLUMN_ID><![CDATA[420CEA8A8FED40DFBCE2DBD2D4FED256]]></AD_COLUMN_ID> <!--420CEA8A8FED40DFBCE2DBD2D4FED256--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1333,6 +1368,41 @@ <!--5DD40286DCBD40C7823CC0AD3C016882--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--5DD40286DCBD40C7823CC0AD3C016882--></AD_COLUMN> +<!--61333914329F401691F55E1C284DC41B--><AD_COLUMN> +<!--61333914329F401691F55E1C284DC41B--> <AD_COLUMN_ID><![CDATA[61333914329F401691F55E1C284DC41B]]></AD_COLUMN_ID> +<!--61333914329F401691F55E1C284DC41B--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--61333914329F401691F55E1C284DC41B--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--61333914329F401691F55E1C284DC41B--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--61333914329F401691F55E1C284DC41B--> <NAME><![CDATA[Tstamp]]></NAME> +<!--61333914329F401691F55E1C284DC41B--> <COLUMNNAME><![CDATA[Tstamp]]></COLUMNNAME> +<!--61333914329F401691F55E1C284DC41B--> <AD_TABLE_ID><![CDATA[D669D497165B4A0CB9D382378BA8D0F5]]></AD_TABLE_ID> +<!--61333914329F401691F55E1C284DC41B--> <AD_REFERENCE_ID><![CDATA[11]]></AD_REFERENCE_ID> +<!--61333914329F401691F55E1C284DC41B--> <FIELDLENGTH><![CDATA[13]]></FIELDLENGTH> +<!--61333914329F401691F55E1C284DC41B--> <ISKEY><![CDATA[N]]></ISKEY> +<!--61333914329F401691F55E1C284DC41B--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--61333914329F401691F55E1C284DC41B--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--61333914329F401691F55E1C284DC41B--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--61333914329F401691F55E1C284DC41B--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--61333914329F401691F55E1C284DC41B--> <SEQNO><![CDATA[190]]></SEQNO> +<!--61333914329F401691F55E1C284DC41B--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--61333914329F401691F55E1C284DC41B--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--61333914329F401691F55E1C284DC41B--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--61333914329F401691F55E1C284DC41B--> <AD_ELEMENT_ID><![CDATA[2C3941CC43E640F0A6A72F205652DF9C]]></AD_ELEMENT_ID> +<!--61333914329F401691F55E1C284DC41B--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--61333914329F401691F55E1C284DC41B--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--61333914329F401691F55E1C284DC41B--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--61333914329F401691F55E1C284DC41B--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--61333914329F401691F55E1C284DC41B--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--61333914329F401691F55E1C284DC41B--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--61333914329F401691F55E1C284DC41B--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--61333914329F401691F55E1C284DC41B--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--61333914329F401691F55E1C284DC41B--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--61333914329F401691F55E1C284DC41B--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--61333914329F401691F55E1C284DC41B--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--61333914329F401691F55E1C284DC41B--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--61333914329F401691F55E1C284DC41B--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--61333914329F401691F55E1C284DC41B--></AD_COLUMN> + <!--6EEBA8A387AF4B6FA22AF4A6EFB78137--><AD_COLUMN> <!--6EEBA8A387AF4B6FA22AF4A6EFB78137--> <AD_COLUMN_ID><![CDATA[6EEBA8A387AF4B6FA22AF4A6EFB78137]]></AD_COLUMN_ID> <!--6EEBA8A387AF4B6FA22AF4A6EFB78137--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1674,6 +1744,45 @@ <!--88CA8B0BC9164CE5B897C91BEAEACD40--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--88CA8B0BC9164CE5B897C91BEAEACD40--></AD_COLUMN> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--><AD_COLUMN> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <AD_COLUMN_ID><![CDATA[8AB39C66DD284EF7B8E6BD96F17143CE]]></AD_COLUMN_ID> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <NAME><![CDATA[Terminal Log]]></NAME> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <DESCRIPTION><![CDATA[Create a terminal log entry each time that this process start or finish]]></DESCRIPTION> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <HELP><![CDATA[Create a terminal log entry each time that this process start or finish]]></HELP> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <COLUMNNAME><![CDATA[Terminallog]]></COLUMNNAME> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <AD_TABLE_ID><![CDATA[C2C8B7EEDF5D490F8A248B967A465088]]></AD_TABLE_ID> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <DEFAULTVALUE><![CDATA[Y]]></DEFAULTVALUE> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISKEY><![CDATA[N]]></ISKEY> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <SEQNO><![CDATA[130]]></SEQNO> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <AD_ELEMENT_ID><![CDATA[6EA964895B3E4FBBBD9724733D497519]]></AD_ELEMENT_ID> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <POSITION><![CDATA[13]]></POSITION> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--8AB39C66DD284EF7B8E6BD96F17143CE--></AD_COLUMN> + <!--8F264967213444999111A3296EE1A4CF--><AD_COLUMN> <!--8F264967213444999111A3296EE1A4CF--> <AD_COLUMN_ID><![CDATA[8F264967213444999111A3296EE1A4CF]]></AD_COLUMN_ID> <!--8F264967213444999111A3296EE1A4CF--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -2100,8 +2209,9 @@ <!--A720E672C1434E809BF9A2C95C0E6291--> <NAME><![CDATA[loglevel]]></NAME> <!--A720E672C1434E809BF9A2C95C0E6291--> <COLUMNNAME><![CDATA[Loglevel]]></COLUMNNAME> <!--A720E672C1434E809BF9A2C95C0E6291--> <AD_TABLE_ID><![CDATA[D669D497165B4A0CB9D382378BA8D0F5]]></AD_TABLE_ID> -<!--A720E672C1434E809BF9A2C95C0E6291--> <AD_REFERENCE_ID><![CDATA[10]]></AD_REFERENCE_ID> -<!--A720E672C1434E809BF9A2C95C0E6291--> <FIELDLENGTH><![CDATA[255]]></FIELDLENGTH> +<!--A720E672C1434E809BF9A2C95C0E6291--> <AD_REFERENCE_ID><![CDATA[17]]></AD_REFERENCE_ID> +<!--A720E672C1434E809BF9A2C95C0E6291--> <AD_REFERENCE_VALUE_ID><![CDATA[F37A4E2957364DFEB80E0B1191787DA1]]></AD_REFERENCE_VALUE_ID> +<!--A720E672C1434E809BF9A2C95C0E6291--> <FIELDLENGTH><![CDATA[60]]></FIELDLENGTH> <!--A720E672C1434E809BF9A2C95C0E6291--> <ISKEY><![CDATA[N]]></ISKEY> <!--A720E672C1434E809BF9A2C95C0E6291--> <ISPARENT><![CDATA[N]]></ISPARENT> <!--A720E672C1434E809BF9A2C95C0E6291--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> diff -r 106da55fdd88 src-db/database/sourcedata/AD_DATASET.xml --- a/src-db/database/sourcedata/AD_DATASET.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/AD_DATASET.xml Mon Dec 10 12:28:35 2018 +0100 @@ -16,4 +16,20 @@ <!--0C2038A171F943ACBD84DE670E580C0D--> <ISDEFAULTVALUESDATASET><![CDATA[Y]]></ISDEFAULTVALUESDATASET> <!--0C2038A171F943ACBD84DE670E580C0D--></AD_DATASET> +<!--44EDD113833C40158C4B205A2A4CF61E--><AD_DATASET> +<!--44EDD113833C40158C4B205A2A4CF61E--> <AD_DATASET_ID><![CDATA[44EDD113833C40158C4B205A2A4CF61E]]></AD_DATASET_ID> +<!--44EDD113833C40158C4B205A2A4CF61E--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--44EDD113833C40158C4B205A2A4CF61E--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--44EDD113833C40158C4B205A2A4CF61E--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--44EDD113833C40158C4B205A2A4CF61E--> <VALUE><![CDATA[obmobc_logclient_grid_config]]></VALUE> +<!--44EDD113833C40158C4B205A2A4CF61E--> <NAME><![CDATA[obmobc_logclient_grid_config]]></NAME> +<!--44EDD113833C40158C4B205A2A4CF61E--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--44EDD113833C40158C4B205A2A4CF61E--> <EXPORT><![CDATA[N]]></EXPORT> +<!--44EDD113833C40158C4B205A2A4CF61E--> <ACCESSLEVEL><![CDATA[4]]></ACCESSLEVEL> +<!--44EDD113833C40158C4B205A2A4CF61E--> <EXPORTALLOWED><![CDATA[Y]]></EXPORTALLOWED> +<!--44EDD113833C40158C4B205A2A4CF61E--> <CHECKSUM><![CDATA[166869661678279751722588155571192547364]]></CHECKSUM> +<!--44EDD113833C40158C4B205A2A4CF61E--> <SEQNO><![CDATA[120]]></SEQNO> +<!--44EDD113833C40158C4B205A2A4CF61E--> <ISDEFAULTVALUESDATASET><![CDATA[N]]></ISDEFAULTVALUESDATASET> +<!--44EDD113833C40158C4B205A2A4CF61E--></AD_DATASET> + </data> diff -r 106da55fdd88 src-db/database/sourcedata/AD_DATASET_TABLE.xml --- a/src-db/database/sourcedata/AD_DATASET_TABLE.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/AD_DATASET_TABLE.xml Mon Dec 10 12:28:35 2018 +0100 @@ -1,5 +1,19 @@ <?xml version='1.0' encoding='UTF-8'?> <data> +<!--2F1903EDC2A5451685EF7B773C523CA1--><AD_DATASET_TABLE> +<!--2F1903EDC2A5451685EF7B773C523CA1--> <AD_DATASET_TABLE_ID><![CDATA[2F1903EDC2A5451685EF7B773C523CA1]]></AD_DATASET_TABLE_ID> +<!--2F1903EDC2A5451685EF7B773C523CA1--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--2F1903EDC2A5451685EF7B773C523CA1--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--2F1903EDC2A5451685EF7B773C523CA1--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--2F1903EDC2A5451685EF7B773C523CA1--> <AD_DATASET_ID><![CDATA[44EDD113833C40158C4B205A2A4CF61E]]></AD_DATASET_ID> +<!--2F1903EDC2A5451685EF7B773C523CA1--> <AD_TABLE_ID><![CDATA[F167EB822B8A4284AC37D5B40B785D51]]></AD_TABLE_ID> +<!--2F1903EDC2A5451685EF7B773C523CA1--> <INCLUDEALLCOLUMNS><![CDATA[Y]]></INCLUDEALLCOLUMNS> +<!--2F1903EDC2A5451685EF7B773C523CA1--> <WHERECLAUSE><![CDATA[Obuiapp_Gc_Tab_ID = '1AD989605ACA4F5FB6C11B2E7AC88867']]></WHERECLAUSE> +<!--2F1903EDC2A5451685EF7B773C523CA1--> <EXCLUDEAUDITINFO><![CDATA[N]]></EXCLUDEAUDITINFO> +<!--2F1903EDC2A5451685EF7B773C523CA1--> <ISBUSINESSOBJECT><![CDATA[N]]></ISBUSINESSOBJECT> +<!--2F1903EDC2A5451685EF7B773C523CA1--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--2F1903EDC2A5451685EF7B773C523CA1--></AD_DATASET_TABLE> + <!--2F741F1BD8264D6B804C8DAA4BD01E5F--><AD_DATASET_TABLE> <!--2F741F1BD8264D6B804C8DAA4BD01E5F--> <AD_DATASET_TABLE_ID><![CDATA[2F741F1BD8264D6B804C8DAA4BD01E5F]]></AD_DATASET_TABLE_ID> <!--2F741F1BD8264D6B804C8DAA4BD01E5F--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -28,6 +42,20 @@ <!--2F98594D3D0A42538B4A809A94F31FDE--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--2F98594D3D0A42538B4A809A94F31FDE--></AD_DATASET_TABLE> +<!--4A2C5E6DE933437DB74197695EEFB79A--><AD_DATASET_TABLE> +<!--4A2C5E6DE933437DB74197695EEFB79A--> <AD_DATASET_TABLE_ID><![CDATA[4A2C5E6DE933437DB74197695EEFB79A]]></AD_DATASET_TABLE_ID> +<!--4A2C5E6DE933437DB74197695EEFB79A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--4A2C5E6DE933437DB74197695EEFB79A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--4A2C5E6DE933437DB74197695EEFB79A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--4A2C5E6DE933437DB74197695EEFB79A--> <AD_DATASET_ID><![CDATA[44EDD113833C40158C4B205A2A4CF61E]]></AD_DATASET_ID> +<!--4A2C5E6DE933437DB74197695EEFB79A--> <AD_TABLE_ID><![CDATA[8A16662B37184121A1EDAA89890E160C]]></AD_TABLE_ID> +<!--4A2C5E6DE933437DB74197695EEFB79A--> <INCLUDEALLCOLUMNS><![CDATA[Y]]></INCLUDEALLCOLUMNS> +<!--4A2C5E6DE933437DB74197695EEFB79A--> <WHERECLAUSE><![CDATA[id = '1AD989605ACA4F5FB6C11B2E7AC88867']]></WHERECLAUSE> +<!--4A2C5E6DE933437DB74197695EEFB79A--> <EXCLUDEAUDITINFO><![CDATA[N]]></EXCLUDEAUDITINFO> +<!--4A2C5E6DE933437DB74197695EEFB79A--> <ISBUSINESSOBJECT><![CDATA[N]]></ISBUSINESSOBJECT> +<!--4A2C5E6DE933437DB74197695EEFB79A--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--4A2C5E6DE933437DB74197695EEFB79A--></AD_DATASET_TABLE> + <!--F0772C06DA6C497C82052601E28F6522--><AD_DATASET_TABLE> <!--F0772C06DA6C497C82052601E28F6522--> <AD_DATASET_TABLE_ID><![CDATA[F0772C06DA6C497C82052601E28F6522]]></AD_DATASET_TABLE_ID> <!--F0772C06DA6C497C82052601E28F6522--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 106da55fdd88 src-db/database/sourcedata/AD_ELEMENT.xml --- a/src-db/database/sourcedata/AD_ELEMENT.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/AD_ELEMENT.xml Mon Dec 10 12:28:35 2018 +0100 @@ -48,6 +48,18 @@ <!--182FD651C020405DB1BD65E863D61D24--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> <!--182FD651C020405DB1BD65E863D61D24--></AD_ELEMENT> +<!--2C3941CC43E640F0A6A72F205652DF9C--><AD_ELEMENT> +<!--2C3941CC43E640F0A6A72F205652DF9C--> <AD_ELEMENT_ID><![CDATA[2C3941CC43E640F0A6A72F205652DF9C]]></AD_ELEMENT_ID> +<!--2C3941CC43E640F0A6A72F205652DF9C--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--2C3941CC43E640F0A6A72F205652DF9C--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--2C3941CC43E640F0A6A72F205652DF9C--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--2C3941CC43E640F0A6A72F205652DF9C--> <COLUMNNAME><![CDATA[Timestamp]]></COLUMNNAME> +<!--2C3941CC43E640F0A6A72F205652DF9C--> <NAME><![CDATA[Timestamp]]></NAME> +<!--2C3941CC43E640F0A6A72F205652DF9C--> <PRINTNAME><![CDATA[Timestamp]]></PRINTNAME> +<!--2C3941CC43E640F0A6A72F205652DF9C--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--2C3941CC43E640F0A6A72F205652DF9C--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> +<!--2C3941CC43E640F0A6A72F205652DF9C--></AD_ELEMENT> + <!--2E923953D5644CF0A73FE7C4A0219565--><AD_ELEMENT> <!--2E923953D5644CF0A73FE7C4A0219565--> <AD_ELEMENT_ID><![CDATA[2E923953D5644CF0A73FE7C4A0219565]]></AD_ELEMENT_ID> <!--2E923953D5644CF0A73FE7C4A0219565--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -185,6 +197,21 @@ <!--62BEA2CA5C1144239E93029DF755FA04--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> <!--62BEA2CA5C1144239E93029DF755FA04--></AD_ELEMENT> +<!--6EA964895B3E4FBBBD9724733D497519--><AD_ELEMENT> +<!--6EA964895B3E4FBBBD9724733D497519--> <AD_ELEMENT_ID><![CDATA[6EA964895B3E4FBBBD9724733D497519]]></AD_ELEMENT_ID> +<!--6EA964895B3E4FBBBD9724733D497519--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--6EA964895B3E4FBBBD9724733D497519--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--6EA964895B3E4FBBBD9724733D497519--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--6EA964895B3E4FBBBD9724733D497519--> <COLUMNNAME><![CDATA[Terminallog]]></COLUMNNAME> +<!--6EA964895B3E4FBBBD9724733D497519--> <NAME><![CDATA[Log start/finish in the terminal log]]></NAME> +<!--6EA964895B3E4FBBBD9724733D497519--> <PRINTNAME><![CDATA[Log start/finish in the terminal log]]></PRINTNAME> +<!--6EA964895B3E4FBBBD9724733D497519--> <DESCRIPTION><![CDATA[Create a terminal log entry each time that this process start or finish]]></DESCRIPTION> +<!--6EA964895B3E4FBBBD9724733D497519--> <HELP><![CDATA[Create a terminal log entry each time that this process start or finish]]></HELP> +<!--6EA964895B3E4FBBBD9724733D497519--> <PO_PRINTNAME><![CDATA[Log start/finish in the terminal log]]></PO_PRINTNAME> +<!--6EA964895B3E4FBBBD9724733D497519--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--6EA964895B3E4FBBBD9724733D497519--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> +<!--6EA964895B3E4FBBBD9724733D497519--></AD_ELEMENT> + <!--7738737850184260850EB0E92121724D--><AD_ELEMENT> <!--7738737850184260850EB0E92121724D--> <AD_ELEMENT_ID><![CDATA[7738737850184260850EB0E92121724D]]></AD_ELEMENT_ID> <!--7738737850184260850EB0E92121724D--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -238,6 +265,18 @@ <!--887274D6D3B149659F7FA4E350CB67B7--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> <!--887274D6D3B149659F7FA4E350CB67B7--></AD_ELEMENT> +<!--96FAAD9F8E014FEF888853A5022A63BB--><AD_ELEMENT> +<!--96FAAD9F8E014FEF888853A5022A63BB--> <AD_ELEMENT_ID><![CDATA[96FAAD9F8E014FEF888853A5022A63BB]]></AD_ELEMENT_ID> +<!--96FAAD9F8E014FEF888853A5022A63BB--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--96FAAD9F8E014FEF888853A5022A63BB--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--96FAAD9F8E014FEF888853A5022A63BB--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--96FAAD9F8E014FEF888853A5022A63BB--> <COLUMNNAME><![CDATA[Context]]></COLUMNNAME> +<!--96FAAD9F8E014FEF888853A5022A63BB--> <NAME><![CDATA[Context]]></NAME> +<!--96FAAD9F8E014FEF888853A5022A63BB--> <PRINTNAME><![CDATA[Context]]></PRINTNAME> +<!--96FAAD9F8E014FEF888853A5022A63BB--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--96FAAD9F8E014FEF888853A5022A63BB--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> +<!--96FAAD9F8E014FEF888853A5022A63BB--></AD_ELEMENT> + <!--977AEFC5E3B64243A21F088542E4CDBE--><AD_ELEMENT> <!--977AEFC5E3B64243A21F088542E4CDBE--> <AD_ELEMENT_ID><![CDATA[977AEFC5E3B64243A21F088542E4CDBE]]></AD_ELEMENT_ID> <!--977AEFC5E3B64243A21F088542E4CDBE--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -282,8 +321,8 @@ <!--B29C94B1B6EB4C6381F6F9CDA8D95DDA--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--B29C94B1B6EB4C6381F6F9CDA8D95DDA--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--B29C94B1B6EB4C6381F6F9CDA8D95DDA--> <COLUMNNAME><![CDATA[Loglevel]]></COLUMNNAME> -<!--B29C94B1B6EB4C6381F6F9CDA8D95DDA--> <NAME><![CDATA[Log Level]]></NAME> -<!--B29C94B1B6EB4C6381F6F9CDA8D95DDA--> <PRINTNAME><![CDATA[Log Level]]></PRINTNAME> +<!--B29C94B1B6EB4C6381F6F9CDA8D95DDA--> <NAME><![CDATA[Log Type]]></NAME> +<!--B29C94B1B6EB4C6381F6F9CDA8D95DDA--> <PRINTNAME><![CDATA[Log Type]]></PRINTNAME> <!--B29C94B1B6EB4C6381F6F9CDA8D95DDA--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--B29C94B1B6EB4C6381F6F9CDA8D95DDA--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> <!--B29C94B1B6EB4C6381F6F9CDA8D95DDA--></AD_ELEMENT> diff -r 106da55fdd88 src-db/database/sourcedata/AD_FIELD.xml --- a/src-db/database/sourcedata/AD_FIELD.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/AD_FIELD.xml Mon Dec 10 12:28:35 2018 +0100 @@ -41,7 +41,6 @@ <!--0787AC0FCA6742AE91D991D2DF849052--> <DISPLAYLENGTH><![CDATA[0]]></DISPLAYLENGTH> <!--0787AC0FCA6742AE91D991D2DF849052--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--0787AC0FCA6742AE91D991D2DF849052--> <SEQNO><![CDATA[10]]></SEQNO> -<!--0787AC0FCA6742AE91D991D2DF849052--> <SORTNO><![CDATA[1]]></SORTNO> <!--0787AC0FCA6742AE91D991D2DF849052--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> <!--0787AC0FCA6742AE91D991D2DF849052--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> <!--0787AC0FCA6742AE91D991D2DF849052--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> @@ -307,12 +306,39 @@ <!--26544F05244D49329CE65FE17B4EBC5B--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--26544F05244D49329CE65FE17B4EBC5B--></AD_FIELD> +<!--2914F2F026F14B0FB381139EDD5A7B45--><AD_FIELD> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <AD_FIELD_ID><![CDATA[2914F2F026F14B0FB381139EDD5A7B45]]></AD_FIELD_ID> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <NAME><![CDATA[Context]]></NAME> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <AD_TAB_ID><![CDATA[14BDEAB664C146DCB662B2E3EA7A495E]]></AD_TAB_ID> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <AD_COLUMN_ID><![CDATA[41373BF9F3314E40A881A75C8CD9A1AA]]></AD_COLUMN_ID> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <DISPLAYLENGTH><![CDATA[0]]></DISPLAYLENGTH> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <SEQNO><![CDATA[37]]></SEQNO> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <GRID_SEQNO><![CDATA[37]]></GRID_SEQNO> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--2914F2F026F14B0FB381139EDD5A7B45--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--2914F2F026F14B0FB381139EDD5A7B45--></AD_FIELD> + <!--2AB77B21E25C4FDF9059C80C04EC2FB9--><AD_FIELD> <!--2AB77B21E25C4FDF9059C80C04EC2FB9--> <AD_FIELD_ID><![CDATA[2AB77B21E25C4FDF9059C80C04EC2FB9]]></AD_FIELD_ID> <!--2AB77B21E25C4FDF9059C80C04EC2FB9--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> <!--2AB77B21E25C4FDF9059C80C04EC2FB9--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--2AB77B21E25C4FDF9059C80C04EC2FB9--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> -<!--2AB77B21E25C4FDF9059C80C04EC2FB9--> <NAME><![CDATA[Log Level]]></NAME> +<!--2AB77B21E25C4FDF9059C80C04EC2FB9--> <NAME><![CDATA[Log Type]]></NAME> <!--2AB77B21E25C4FDF9059C80C04EC2FB9--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> <!--2AB77B21E25C4FDF9059C80C04EC2FB9--> <AD_TAB_ID><![CDATA[14BDEAB664C146DCB662B2E3EA7A495E]]></AD_TAB_ID> <!--2AB77B21E25C4FDF9059C80C04EC2FB9--> <AD_COLUMN_ID><![CDATA[A720E672C1434E809BF9A2C95C0E6291]]></AD_COLUMN_ID> @@ -938,6 +964,34 @@ <!--7DF64569BA1B4FC98DF8046D89A48D95--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--7DF64569BA1B4FC98DF8046D89A48D95--></AD_FIELD> +<!--834069A482574F0CA2E2635630D58623--><AD_FIELD> +<!--834069A482574F0CA2E2635630D58623--> <AD_FIELD_ID><![CDATA[834069A482574F0CA2E2635630D58623]]></AD_FIELD_ID> +<!--834069A482574F0CA2E2635630D58623--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--834069A482574F0CA2E2635630D58623--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--834069A482574F0CA2E2635630D58623--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--834069A482574F0CA2E2635630D58623--> <NAME><![CDATA[Log start/finish in the terminal log]]></NAME> +<!--834069A482574F0CA2E2635630D58623--> <DESCRIPTION><![CDATA[Create a terminal log entry each time that this process start or finish]]></DESCRIPTION> +<!--834069A482574F0CA2E2635630D58623--> <HELP><![CDATA[Create a terminal log entry each time that this process start or finish]]></HELP> +<!--834069A482574F0CA2E2635630D58623--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--834069A482574F0CA2E2635630D58623--> <AD_TAB_ID><![CDATA[A2D9C34536974601B900C5A290EDC5AD]]></AD_TAB_ID> +<!--834069A482574F0CA2E2635630D58623--> <AD_COLUMN_ID><![CDATA[8AB39C66DD284EF7B8E6BD96F17143CE]]></AD_COLUMN_ID> +<!--834069A482574F0CA2E2635630D58623--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--834069A482574F0CA2E2635630D58623--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--834069A482574F0CA2E2635630D58623--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> +<!--834069A482574F0CA2E2635630D58623--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--834069A482574F0CA2E2635630D58623--> <SEQNO><![CDATA[70]]></SEQNO> +<!--834069A482574F0CA2E2635630D58623--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--834069A482574F0CA2E2635630D58623--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--834069A482574F0CA2E2635630D58623--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--834069A482574F0CA2E2635630D58623--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> +<!--834069A482574F0CA2E2635630D58623--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--834069A482574F0CA2E2635630D58623--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--834069A482574F0CA2E2635630D58623--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--834069A482574F0CA2E2635630D58623--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--834069A482574F0CA2E2635630D58623--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--834069A482574F0CA2E2635630D58623--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--834069A482574F0CA2E2635630D58623--></AD_FIELD> + <!--8A89D90820B24B50A09AA0A82E0125BF--><AD_FIELD> <!--8A89D90820B24B50A09AA0A82E0125BF--> <AD_FIELD_ID><![CDATA[8A89D90820B24B50A09AA0A82E0125BF]]></AD_FIELD_ID> <!--8A89D90820B24B50A09AA0A82E0125BF--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1635,6 +1689,34 @@ <!--ED5E3581518846B19D40050B4D1814BF--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--ED5E3581518846B19D40050B4D1814BF--></AD_FIELD> +<!--EEA3E2C92E6B493B870D8310BCD7150D--><AD_FIELD> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <AD_FIELD_ID><![CDATA[EEA3E2C92E6B493B870D8310BCD7150D]]></AD_FIELD_ID> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <NAME><![CDATA[Timestamp]]></NAME> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <AD_TAB_ID><![CDATA[14BDEAB664C146DCB662B2E3EA7A495E]]></AD_TAB_ID> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <AD_COLUMN_ID><![CDATA[61333914329F401691F55E1C284DC41B]]></AD_COLUMN_ID> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <DISPLAYLENGTH><![CDATA[0]]></DISPLAYLENGTH> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <SEQNO><![CDATA[15]]></SEQNO> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <SORTNO><![CDATA[1]]></SORTNO> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <GRID_SEQNO><![CDATA[15]]></GRID_SEQNO> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--EEA3E2C92E6B493B870D8310BCD7150D--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--EEA3E2C92E6B493B870D8310BCD7150D--></AD_FIELD> + <!--F855CB904FDA42A4B178F83E21EACD8A--><AD_FIELD> <!--F855CB904FDA42A4B178F83E21EACD8A--> <AD_FIELD_ID><![CDATA[F855CB904FDA42A4B178F83E21EACD8A]]></AD_FIELD_ID> <!--F855CB904FDA42A4B178F83E21EACD8A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 106da55fdd88 src-db/database/sourcedata/AD_MENU.xml --- a/src-db/database/sourcedata/AD_MENU.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/AD_MENU.xml Mon Dec 10 12:28:35 2018 +0100 @@ -47,7 +47,7 @@ <!--F32D0E88C9324D95945F1294A2A9D025--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> <!--F32D0E88C9324D95945F1294A2A9D025--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--F32D0E88C9324D95945F1294A2A9D025--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> -<!--F32D0E88C9324D95945F1294A2A9D025--> <NAME><![CDATA[Log Client]]></NAME> +<!--F32D0E88C9324D95945F1294A2A9D025--> <NAME><![CDATA[Terminal Log]]></NAME> <!--F32D0E88C9324D95945F1294A2A9D025--> <ISSUMMARY><![CDATA[N]]></ISSUMMARY> <!--F32D0E88C9324D95945F1294A2A9D025--> <ACTION><![CDATA[W]]></ACTION> <!--F32D0E88C9324D95945F1294A2A9D025--> <AD_WINDOW_ID><![CDATA[B573F236AC404C43B9899EF714E0C349]]></AD_WINDOW_ID> diff -r 106da55fdd88 src-db/database/sourcedata/AD_PREFERENCE.xml --- a/src-db/database/sourcedata/AD_PREFERENCE.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/AD_PREFERENCE.xml Mon Dec 10 12:28:35 2018 +0100 @@ -77,6 +77,17 @@ <!--7102378FD46F49A3A38B22D08A4A81D1--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--7102378FD46F49A3A38B22D08A4A81D1--></AD_PREFERENCE> +<!--810272BE4EDE4AEF80CA60BBB60A64FA--><AD_PREFERENCE> +<!--810272BE4EDE4AEF80CA60BBB60A64FA--> <AD_PREFERENCE_ID><![CDATA[810272BE4EDE4AEF80CA60BBB60A64FA]]></AD_PREFERENCE_ID> +<!--810272BE4EDE4AEF80CA60BBB60A64FA--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--810272BE4EDE4AEF80CA60BBB60A64FA--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--810272BE4EDE4AEF80CA60BBB60A64FA--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--810272BE4EDE4AEF80CA60BBB60A64FA--> <VALUE><![CDATA[Y]]></VALUE> +<!--810272BE4EDE4AEF80CA60BBB60A64FA--> <PROPERTY><![CDATA[OBMOBC_EnableTerminalLogUserActions]]></PROPERTY> +<!--810272BE4EDE4AEF80CA60BBB60A64FA--> <ISPROPERTYLIST><![CDATA[Y]]></ISPROPERTYLIST> +<!--810272BE4EDE4AEF80CA60BBB60A64FA--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--810272BE4EDE4AEF80CA60BBB60A64FA--></AD_PREFERENCE> + <!--82A505E31F92488882F552E82DF5C373--><AD_PREFERENCE> <!--82A505E31F92488882F552E82DF5C373--> <AD_PREFERENCE_ID><![CDATA[82A505E31F92488882F552E82DF5C373]]></AD_PREFERENCE_ID> <!--82A505E31F92488882F552E82DF5C373--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -165,6 +176,17 @@ <!--9FAA6DD7AA6F494DAAA2F121AB1E5FB3--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--9FAA6DD7AA6F494DAAA2F121AB1E5FB3--></AD_PREFERENCE> +<!--A3D01B3348F3485098B71E8A0A156FC0--><AD_PREFERENCE> +<!--A3D01B3348F3485098B71E8A0A156FC0--> <AD_PREFERENCE_ID><![CDATA[A3D01B3348F3485098B71E8A0A156FC0]]></AD_PREFERENCE_ID> +<!--A3D01B3348F3485098B71E8A0A156FC0--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--A3D01B3348F3485098B71E8A0A156FC0--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--A3D01B3348F3485098B71E8A0A156FC0--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--A3D01B3348F3485098B71E8A0A156FC0--> <VALUE><![CDATA[Y]]></VALUE> +<!--A3D01B3348F3485098B71E8A0A156FC0--> <PROPERTY><![CDATA[OBMOBC_EnableTerminalLogProcess]]></PROPERTY> +<!--A3D01B3348F3485098B71E8A0A156FC0--> <ISPROPERTYLIST><![CDATA[Y]]></ISPROPERTYLIST> +<!--A3D01B3348F3485098B71E8A0A156FC0--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--A3D01B3348F3485098B71E8A0A156FC0--></AD_PREFERENCE> + <!--A41538647DD0486E9E2F7662C71877E0--><AD_PREFERENCE> <!--A41538647DD0486E9E2F7662C71877E0--> <AD_PREFERENCE_ID><![CDATA[A41538647DD0486E9E2F7662C71877E0]]></AD_PREFERENCE_ID> <!--A41538647DD0486E9E2F7662C71877E0--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 106da55fdd88 src-db/database/sourcedata/AD_REFERENCE.xml --- a/src-db/database/sourcedata/AD_REFERENCE.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/AD_REFERENCE.xml Mon Dec 10 12:28:35 2018 +0100 @@ -56,6 +56,19 @@ <!--8C677D78447842C1BC13F485801021FE--> <ISVALUEDISPLAYED><![CDATA[N]]></ISVALUEDISPLAYED> <!--8C677D78447842C1BC13F485801021FE--></AD_REFERENCE> +<!--F37A4E2957364DFEB80E0B1191787DA1--><AD_REFERENCE> +<!--F37A4E2957364DFEB80E0B1191787DA1--> <AD_REFERENCE_ID><![CDATA[F37A4E2957364DFEB80E0B1191787DA1]]></AD_REFERENCE_ID> +<!--F37A4E2957364DFEB80E0B1191787DA1--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--F37A4E2957364DFEB80E0B1191787DA1--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--F37A4E2957364DFEB80E0B1191787DA1--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--F37A4E2957364DFEB80E0B1191787DA1--> <NAME><![CDATA[obmobc_log_client_log_level]]></NAME> +<!--F37A4E2957364DFEB80E0B1191787DA1--> <DESCRIPTION><![CDATA[Log client log level]]></DESCRIPTION> +<!--F37A4E2957364DFEB80E0B1191787DA1--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--F37A4E2957364DFEB80E0B1191787DA1--> <ISBASEREFERENCE><![CDATA[N]]></ISBASEREFERENCE> +<!--F37A4E2957364DFEB80E0B1191787DA1--> <PARENTREFERENCE_ID><![CDATA[17]]></PARENTREFERENCE_ID> +<!--F37A4E2957364DFEB80E0B1191787DA1--> <ISVALUEDISPLAYED><![CDATA[N]]></ISVALUEDISPLAYED> +<!--F37A4E2957364DFEB80E0B1191787DA1--></AD_REFERENCE> + <!--FB292304E1094803B1234CDB60BC550B--><AD_REFERENCE> <!--FB292304E1094803B1234CDB60BC550B--> <AD_REFERENCE_ID><![CDATA[FB292304E1094803B1234CDB60BC550B]]></AD_REFERENCE_ID> <!--FB292304E1094803B1234CDB60BC550B--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 106da55fdd88 src-db/database/sourcedata/AD_REF_LIST.xml --- a/src-db/database/sourcedata/AD_REF_LIST.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/AD_REF_LIST.xml Mon Dec 10 12:28:35 2018 +0100 @@ -59,6 +59,17 @@ <!--0E17FDD30F0B412090B49DB813842ADC--> <SEQNO><![CDATA[10]]></SEQNO> <!--0E17FDD30F0B412090B49DB813842ADC--></AD_REF_LIST> +<!--0F7487166BC948F8A4EFB06E48654B53--><AD_REF_LIST> +<!--0F7487166BC948F8A4EFB06E48654B53--> <AD_REF_LIST_ID><![CDATA[0F7487166BC948F8A4EFB06E48654B53]]></AD_REF_LIST_ID> +<!--0F7487166BC948F8A4EFB06E48654B53--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--0F7487166BC948F8A4EFB06E48654B53--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--0F7487166BC948F8A4EFB06E48654B53--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--0F7487166BC948F8A4EFB06E48654B53--> <VALUE><![CDATA[OBMOBC_TerminalLog]]></VALUE> +<!--0F7487166BC948F8A4EFB06E48654B53--> <NAME><![CDATA[TerminalLog]]></NAME> +<!--0F7487166BC948F8A4EFB06E48654B53--> <AD_REFERENCE_ID><![CDATA[11F86B630ECB4A57B28927193F8AB99D]]></AD_REFERENCE_ID> +<!--0F7487166BC948F8A4EFB06E48654B53--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--0F7487166BC948F8A4EFB06E48654B53--></AD_REF_LIST> + <!--17726FF020AF4D1EAC31EE81BBF66A9A--><AD_REF_LIST> <!--17726FF020AF4D1EAC31EE81BBF66A9A--> <AD_REF_LIST_ID><![CDATA[17726FF020AF4D1EAC31EE81BBF66A9A]]></AD_REF_LIST_ID> <!--17726FF020AF4D1EAC31EE81BBF66A9A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -93,6 +104,18 @@ <!--1D2A646381C14631BD759B006247BBC5--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--1D2A646381C14631BD759B006247BBC5--></AD_REF_LIST> +<!--210E59CA718143D9814FC65E1F0AB1A1--><AD_REF_LIST> +<!--210E59CA718143D9814FC65E1F0AB1A1--> <AD_REF_LIST_ID><![CDATA[210E59CA718143D9814FC65E1F0AB1A1]]></AD_REF_LIST_ID> +<!--210E59CA718143D9814FC65E1F0AB1A1--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--210E59CA718143D9814FC65E1F0AB1A1--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--210E59CA718143D9814FC65E1F0AB1A1--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--210E59CA718143D9814FC65E1F0AB1A1--> <VALUE><![CDATA[OBMOBC_EnableTerminalLogUserActions]]></VALUE> +<!--210E59CA718143D9814FC65E1F0AB1A1--> <NAME><![CDATA[Enable Terminal Log User Actions]]></NAME> +<!--210E59CA718143D9814FC65E1F0AB1A1--> <DESCRIPTION><![CDATA[Enable/Disable the log of user actions]]></DESCRIPTION> +<!--210E59CA718143D9814FC65E1F0AB1A1--> <AD_REFERENCE_ID><![CDATA[A26BA480E2014707B47257024C3CBFF7]]></AD_REFERENCE_ID> +<!--210E59CA718143D9814FC65E1F0AB1A1--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--210E59CA718143D9814FC65E1F0AB1A1--></AD_REF_LIST> + <!--210FAE103E9646A8834343AC84E70430--><AD_REF_LIST> <!--210FAE103E9646A8834343AC84E70430--> <AD_REF_LIST_ID><![CDATA[210FAE103E9646A8834343AC84E70430]]></AD_REF_LIST_ID> <!--210FAE103E9646A8834343AC84E70430--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -296,6 +319,18 @@ <!--4DC79E60EBCF42F79BE541749B256420--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--4DC79E60EBCF42F79BE541749B256420--></AD_REF_LIST> +<!--5CCB997427C34576A6BC0411E23367E9--><AD_REF_LIST> +<!--5CCB997427C34576A6BC0411E23367E9--> <AD_REF_LIST_ID><![CDATA[5CCB997427C34576A6BC0411E23367E9]]></AD_REF_LIST_ID> +<!--5CCB997427C34576A6BC0411E23367E9--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--5CCB997427C34576A6BC0411E23367E9--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--5CCB997427C34576A6BC0411E23367E9--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--5CCB997427C34576A6BC0411E23367E9--> <VALUE><![CDATA[OBMOBC_EnableTerminalLogProcess]]></VALUE> +<!--5CCB997427C34576A6BC0411E23367E9--> <NAME><![CDATA[Enable Terminal Log Process]]></NAME> +<!--5CCB997427C34576A6BC0411E23367E9--> <DESCRIPTION><![CDATA[Enable/Disable the log of processes]]></DESCRIPTION> +<!--5CCB997427C34576A6BC0411E23367E9--> <AD_REFERENCE_ID><![CDATA[A26BA480E2014707B47257024C3CBFF7]]></AD_REFERENCE_ID> +<!--5CCB997427C34576A6BC0411E23367E9--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--5CCB997427C34576A6BC0411E23367E9--></AD_REF_LIST> + <!--645E9EE10111462CB8C4E6B9E504CEA3--><AD_REF_LIST> <!--645E9EE10111462CB8C4E6B9E504CEA3--> <AD_REF_LIST_ID><![CDATA[645E9EE10111462CB8C4E6B9E504CEA3]]></AD_REF_LIST_ID> <!--645E9EE10111462CB8C4E6B9E504CEA3--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -307,6 +342,30 @@ <!--645E9EE10111462CB8C4E6B9E504CEA3--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--645E9EE10111462CB8C4E6B9E504CEA3--></AD_REF_LIST> +<!--65AB044000784C03910D03C237197A94--><AD_REF_LIST> +<!--65AB044000784C03910D03C237197A94--> <AD_REF_LIST_ID><![CDATA[65AB044000784C03910D03C237197A94]]></AD_REF_LIST_ID> +<!--65AB044000784C03910D03C237197A94--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--65AB044000784C03910D03C237197A94--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--65AB044000784C03910D03C237197A94--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--65AB044000784C03910D03C237197A94--> <VALUE><![CDATA[UserAction]]></VALUE> +<!--65AB044000784C03910D03C237197A94--> <NAME><![CDATA[Functional - User action]]></NAME> +<!--65AB044000784C03910D03C237197A94--> <AD_REFERENCE_ID><![CDATA[F37A4E2957364DFEB80E0B1191787DA1]]></AD_REFERENCE_ID> +<!--65AB044000784C03910D03C237197A94--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--65AB044000784C03910D03C237197A94--> <SEQNO><![CDATA[10]]></SEQNO> +<!--65AB044000784C03910D03C237197A94--></AD_REF_LIST> + +<!--685D743ABF804EFBB48B9E7D4C253E02--><AD_REF_LIST> +<!--685D743ABF804EFBB48B9E7D4C253E02--> <AD_REF_LIST_ID><![CDATA[685D743ABF804EFBB48B9E7D4C253E02]]></AD_REF_LIST_ID> +<!--685D743ABF804EFBB48B9E7D4C253E02--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--685D743ABF804EFBB48B9E7D4C253E02--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--685D743ABF804EFBB48B9E7D4C253E02--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--685D743ABF804EFBB48B9E7D4C253E02--> <VALUE><![CDATA[Warn]]></VALUE> +<!--685D743ABF804EFBB48B9E7D4C253E02--> <NAME><![CDATA[Technical - Warn]]></NAME> +<!--685D743ABF804EFBB48B9E7D4C253E02--> <AD_REFERENCE_ID><![CDATA[F37A4E2957364DFEB80E0B1191787DA1]]></AD_REFERENCE_ID> +<!--685D743ABF804EFBB48B9E7D4C253E02--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--685D743ABF804EFBB48B9E7D4C253E02--> <SEQNO><![CDATA[40]]></SEQNO> +<!--685D743ABF804EFBB48B9E7D4C253E02--></AD_REF_LIST> + <!--73967117B13C4B5EAEA505E04A7E80A3--><AD_REF_LIST> <!--73967117B13C4B5EAEA505E04A7E80A3--> <AD_REF_LIST_ID><![CDATA[73967117B13C4B5EAEA505E04A7E80A3]]></AD_REF_LIST_ID> <!--73967117B13C4B5EAEA505E04A7E80A3--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -366,6 +425,18 @@ <!--86A147DD51D041729DDD7EFD12C54B1C--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--86A147DD51D041729DDD7EFD12C54B1C--></AD_REF_LIST> +<!--922AB65BEF574C518E61205C03CA2B5E--><AD_REF_LIST> +<!--922AB65BEF574C518E61205C03CA2B5E--> <AD_REF_LIST_ID><![CDATA[922AB65BEF574C518E61205C03CA2B5E]]></AD_REF_LIST_ID> +<!--922AB65BEF574C518E61205C03CA2B5E--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--922AB65BEF574C518E61205C03CA2B5E--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--922AB65BEF574C518E61205C03CA2B5E--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--922AB65BEF574C518E61205C03CA2B5E--> <VALUE><![CDATA[Info]]></VALUE> +<!--922AB65BEF574C518E61205C03CA2B5E--> <NAME><![CDATA[Technical - Info]]></NAME> +<!--922AB65BEF574C518E61205C03CA2B5E--> <AD_REFERENCE_ID><![CDATA[F37A4E2957364DFEB80E0B1191787DA1]]></AD_REFERENCE_ID> +<!--922AB65BEF574C518E61205C03CA2B5E--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--922AB65BEF574C518E61205C03CA2B5E--> <SEQNO><![CDATA[30]]></SEQNO> +<!--922AB65BEF574C518E61205C03CA2B5E--></AD_REF_LIST> + <!--92882D283E614160A1BEE6DB99A354BE--><AD_REF_LIST> <!--92882D283E614160A1BEE6DB99A354BE--> <AD_REF_LIST_ID><![CDATA[92882D283E614160A1BEE6DB99A354BE]]></AD_REF_LIST_ID> <!--92882D283E614160A1BEE6DB99A354BE--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -415,6 +486,18 @@ <!--99368348A6FF4CDB991916852CCE817A--> <SEQNO><![CDATA[20]]></SEQNO> <!--99368348A6FF4CDB991916852CCE817A--></AD_REF_LIST> +<!--9F5E4B4C061C4B9C8EB56476F513A2E8--><AD_REF_LIST> +<!--9F5E4B4C061C4B9C8EB56476F513A2E8--> <AD_REF_LIST_ID><![CDATA[9F5E4B4C061C4B9C8EB56476F513A2E8]]></AD_REF_LIST_ID> +<!--9F5E4B4C061C4B9C8EB56476F513A2E8--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--9F5E4B4C061C4B9C8EB56476F513A2E8--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--9F5E4B4C061C4B9C8EB56476F513A2E8--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--9F5E4B4C061C4B9C8EB56476F513A2E8--> <VALUE><![CDATA[OBMOBC_TerminalLogSyncInterval]]></VALUE> +<!--9F5E4B4C061C4B9C8EB56476F513A2E8--> <NAME><![CDATA[Terminal Log Synchronization Interval]]></NAME> +<!--9F5E4B4C061C4B9C8EB56476F513A2E8--> <DESCRIPTION><![CDATA[Synchronization interval of the terminal log to the backend]]></DESCRIPTION> +<!--9F5E4B4C061C4B9C8EB56476F513A2E8--> <AD_REFERENCE_ID><![CDATA[A26BA480E2014707B47257024C3CBFF7]]></AD_REFERENCE_ID> +<!--9F5E4B4C061C4B9C8EB56476F513A2E8--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--9F5E4B4C061C4B9C8EB56476F513A2E8--></AD_REF_LIST> + <!--A03A35AF82EE441BB8CAB65201446026--><AD_REF_LIST> <!--A03A35AF82EE441BB8CAB65201446026--> <AD_REF_LIST_ID><![CDATA[A03A35AF82EE441BB8CAB65201446026]]></AD_REF_LIST_ID> <!--A03A35AF82EE441BB8CAB65201446026--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -438,6 +521,18 @@ <!--A5F78584B1BE43B2BFF4F2E695460784--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--A5F78584B1BE43B2BFF4F2E695460784--></AD_REF_LIST> +<!--A73968ECD36945D0827BB25CDC374970--><AD_REF_LIST> +<!--A73968ECD36945D0827BB25CDC374970--> <AD_REF_LIST_ID><![CDATA[A73968ECD36945D0827BB25CDC374970]]></AD_REF_LIST_ID> +<!--A73968ECD36945D0827BB25CDC374970--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--A73968ECD36945D0827BB25CDC374970--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--A73968ECD36945D0827BB25CDC374970--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--A73968ECD36945D0827BB25CDC374970--> <VALUE><![CDATA[Error]]></VALUE> +<!--A73968ECD36945D0827BB25CDC374970--> <NAME><![CDATA[Technical - Error]]></NAME> +<!--A73968ECD36945D0827BB25CDC374970--> <AD_REFERENCE_ID><![CDATA[F37A4E2957364DFEB80E0B1191787DA1]]></AD_REFERENCE_ID> +<!--A73968ECD36945D0827BB25CDC374970--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--A73968ECD36945D0827BB25CDC374970--> <SEQNO><![CDATA[50]]></SEQNO> +<!--A73968ECD36945D0827BB25CDC374970--></AD_REF_LIST> + <!--AAE427B506994D008761DDB68D1BFBF3--><AD_REF_LIST> <!--AAE427B506994D008761DDB68D1BFBF3--> <AD_REF_LIST_ID><![CDATA[AAE427B506994D008761DDB68D1BFBF3]]></AD_REF_LIST_ID> <!--AAE427B506994D008761DDB68D1BFBF3--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -496,6 +591,18 @@ <!--BC3E4A82988F44DCBB0CB4665407584B--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--BC3E4A82988F44DCBB0CB4665407584B--></AD_REF_LIST> +<!--BFE1F4E631E84C0F9AC5C34438F4E3D5--><AD_REF_LIST> +<!--BFE1F4E631E84C0F9AC5C34438F4E3D5--> <AD_REF_LIST_ID><![CDATA[BFE1F4E631E84C0F9AC5C34438F4E3D5]]></AD_REF_LIST_ID> +<!--BFE1F4E631E84C0F9AC5C34438F4E3D5--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--BFE1F4E631E84C0F9AC5C34438F4E3D5--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--BFE1F4E631E84C0F9AC5C34438F4E3D5--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--BFE1F4E631E84C0F9AC5C34438F4E3D5--> <VALUE><![CDATA[Process]]></VALUE> +<!--BFE1F4E631E84C0F9AC5C34438F4E3D5--> <NAME><![CDATA[Technical - Process]]></NAME> +<!--BFE1F4E631E84C0F9AC5C34438F4E3D5--> <AD_REFERENCE_ID><![CDATA[F37A4E2957364DFEB80E0B1191787DA1]]></AD_REFERENCE_ID> +<!--BFE1F4E631E84C0F9AC5C34438F4E3D5--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--BFE1F4E631E84C0F9AC5C34438F4E3D5--> <SEQNO><![CDATA[20]]></SEQNO> +<!--BFE1F4E631E84C0F9AC5C34438F4E3D5--></AD_REF_LIST> + <!--C46392B7A3634EBDA19CAA335BC880EC--><AD_REF_LIST> <!--C46392B7A3634EBDA19CAA335BC880EC--> <AD_REF_LIST_ID><![CDATA[C46392B7A3634EBDA19CAA335BC880EC]]></AD_REF_LIST_ID> <!--C46392B7A3634EBDA19CAA335BC880EC--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -566,6 +673,18 @@ <!--DB509D35224E48F48674F765237C1063--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> <!--DB509D35224E48F48674F765237C1063--></AD_REF_LIST> +<!--DF73FD3861DA4BED8C0AE6540F3F76D1--><AD_REF_LIST> +<!--DF73FD3861DA4BED8C0AE6540F3F76D1--> <AD_REF_LIST_ID><![CDATA[DF73FD3861DA4BED8C0AE6540F3F76D1]]></AD_REF_LIST_ID> +<!--DF73FD3861DA4BED8C0AE6540F3F76D1--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--DF73FD3861DA4BED8C0AE6540F3F76D1--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--DF73FD3861DA4BED8C0AE6540F3F76D1--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--DF73FD3861DA4BED8C0AE6540F3F76D1--> <VALUE><![CDATA[OBMOBC_TerminalLogBackupInterval]]></VALUE> +<!--DF73FD3861DA4BED8C0AE6540F3F76D1--> <NAME><![CDATA[Terminal Log Backup Interval]]></NAME> +<!--DF73FD3861DA4BED8C0AE6540F3F76D1--> <DESCRIPTION><![CDATA[Local backup in the webpos of the terminal log]]></DESCRIPTION> +<!--DF73FD3861DA4BED8C0AE6540F3F76D1--> <AD_REFERENCE_ID><![CDATA[A26BA480E2014707B47257024C3CBFF7]]></AD_REFERENCE_ID> +<!--DF73FD3861DA4BED8C0AE6540F3F76D1--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--DF73FD3861DA4BED8C0AE6540F3F76D1--></AD_REF_LIST> + <!--E279FC43FF7540A9881519B81C15E8C4--><AD_REF_LIST> <!--E279FC43FF7540A9881519B81C15E8C4--> <AD_REF_LIST_ID><![CDATA[E279FC43FF7540A9881519B81C15E8C4]]></AD_REF_LIST_ID> <!--E279FC43FF7540A9881519B81C15E8C4--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 106da55fdd88 src-db/database/sourcedata/AD_TAB.xml --- a/src-db/database/sourcedata/AD_TAB.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/AD_TAB.xml Mon Dec 10 12:28:35 2018 +0100 @@ -5,7 +5,7 @@ <!--14BDEAB664C146DCB662B2E3EA7A495E--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> <!--14BDEAB664C146DCB662B2E3EA7A495E--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--14BDEAB664C146DCB662B2E3EA7A495E--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> -<!--14BDEAB664C146DCB662B2E3EA7A495E--> <NAME><![CDATA[Log Client]]></NAME> +<!--14BDEAB664C146DCB662B2E3EA7A495E--> <NAME><![CDATA[Terminal Log]]></NAME> <!--14BDEAB664C146DCB662B2E3EA7A495E--> <AD_TABLE_ID><![CDATA[D669D497165B4A0CB9D382378BA8D0F5]]></AD_TABLE_ID> <!--14BDEAB664C146DCB662B2E3EA7A495E--> <AD_WINDOW_ID><![CDATA[B573F236AC404C43B9899EF714E0C349]]></AD_WINDOW_ID> <!--14BDEAB664C146DCB662B2E3EA7A495E--> <SEQNO><![CDATA[10]]></SEQNO> diff -r 106da55fdd88 src-db/database/sourcedata/AD_WINDOW.xml --- a/src-db/database/sourcedata/AD_WINDOW.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/AD_WINDOW.xml Mon Dec 10 12:28:35 2018 +0100 @@ -22,7 +22,7 @@ <!--B573F236AC404C43B9899EF714E0C349--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> <!--B573F236AC404C43B9899EF714E0C349--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--B573F236AC404C43B9899EF714E0C349--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> -<!--B573F236AC404C43B9899EF714E0C349--> <NAME><![CDATA[Log Client]]></NAME> +<!--B573F236AC404C43B9899EF714E0C349--> <NAME><![CDATA[Terminal Log]]></NAME> <!--B573F236AC404C43B9899EF714E0C349--> <WINDOWTYPE><![CDATA[M]]></WINDOWTYPE> <!--B573F236AC404C43B9899EF714E0C349--> <ISSOTRX><![CDATA[Y]]></ISSOTRX> <!--B573F236AC404C43B9899EF714E0C349--> <PROCESSING><![CDATA[N]]></PROCESSING> diff -r 106da55fdd88 src-db/database/sourcedata/OBMOBC_PROCESS_DEFINITION.xml --- a/src-db/database/sourcedata/OBMOBC_PROCESS_DEFINITION.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/OBMOBC_PROCESS_DEFINITION.xml Mon Dec 10 12:28:35 2018 +0100 @@ -9,6 +9,7 @@ <!--1EFE2041516141A4B04FF898CEF88255--> <SEARCHKEY><![CDATA[checkMessagesToSync]]></SEARCHKEY> <!--1EFE2041516141A4B04FF898CEF88255--> <NAME><![CDATA[Check Messages To Synchronize]]></NAME> <!--1EFE2041516141A4B04FF898CEF88255--> <DESCRIPTION><![CDATA[Check if there are messages pending to send to backend]]></DESCRIPTION> +<!--1EFE2041516141A4B04FF898CEF88255--> <TERMINALLOG><![CDATA[N]]></TERMINALLOG> <!--1EFE2041516141A4B04FF898CEF88255--></OBMOBC_PROCESS_DEFINITION> <!--75057CC9C298448396629CDCDA6CBC84--><OBMOBC_PROCESS_DEFINITION> @@ -20,6 +21,7 @@ <!--75057CC9C298448396629CDCDA6CBC84--> <SEARCHKEY><![CDATA[messageSynchronization]]></SEARCHKEY> <!--75057CC9C298448396629CDCDA6CBC84--> <NAME><![CDATA[Message Synchronization]]></NAME> <!--75057CC9C298448396629CDCDA6CBC84--> <DESCRIPTION><![CDATA[Every time we send a message to backend and wait till received confirmation]]></DESCRIPTION> +<!--75057CC9C298448396629CDCDA6CBC84--> <TERMINALLOG><![CDATA[N]]></TERMINALLOG> <!--75057CC9C298448396629CDCDA6CBC84--></OBMOBC_PROCESS_DEFINITION> <!--FAAB2F73E1CA492985E62E8DD138BCC3--><OBMOBC_PROCESS_DEFINITION> @@ -31,6 +33,7 @@ <!--FAAB2F73E1CA492985E62E8DD138BCC3--> <SEARCHKEY><![CDATA[showLoading]]></SEARCHKEY> <!--FAAB2F73E1CA492985E62E8DD138BCC3--> <NAME><![CDATA[Loading... screen process]]></NAME> <!--FAAB2F73E1CA492985E62E8DD138BCC3--> <DESCRIPTION><![CDATA[Loading... screen process while the application is working on something that needs to block the UI]]></DESCRIPTION> +<!--FAAB2F73E1CA492985E62E8DD138BCC3--> <TERMINALLOG><![CDATA[Y]]></TERMINALLOG> <!--FAAB2F73E1CA492985E62E8DD138BCC3--></OBMOBC_PROCESS_DEFINITION> </data> diff -r 106da55fdd88 src-db/database/sourcedata/OBMOBC_SERVICES.xml --- a/src-db/database/sourcedata/OBMOBC_SERVICES.xml Wed Nov 14 19:17:40 2018 +0100 +++ b/src-db/database/sourcedata/OBMOBC_SERVICES.xml Mon Dec 10 12:28:35 2018 +0100 @@ -164,6 +164,18 @@ <!--DAA7185D620A4A539B13A86E9A26CBBF--> <SERVER_RUNTIME><![CDATA[OBSTSYN_ON_CENTRAL]]></SERVER_RUNTIME> <!--DAA7185D620A4A539B13A86E9A26CBBF--></OBMOBC_SERVICES> +<!--DF10ED49621B43269577708BADFC4BD0--><OBMOBC_SERVICES> +<!--DF10ED49621B43269577708BADFC4BD0--> <OBMOBC_SERVICES_ID><![CDATA[DF10ED49621B43269577708BADFC4BD0]]></OBMOBC_SERVICES_ID> +<!--DF10ED49621B43269577708BADFC4BD0--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--DF10ED49621B43269577708BADFC4BD0--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--DF10ED49621B43269577708BADFC4BD0--> <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID> +<!--DF10ED49621B43269577708BADFC4BD0--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--DF10ED49621B43269577708BADFC4BD0--> <SERVICE><![CDATA[org.openbravo.mobile.core.TerminalLogLoader]]></SERVICE> +<!--DF10ED49621B43269577708BADFC4BD0--> <DESCRIPTION><![CDATA[Transaction service which stores the terminal log on the server]]></DESCRIPTION> +<!--DF10ED49621B43269577708BADFC4BD0--> <ROUTINGTYPE><![CDATA[Transaction]]></ROUTINGTYPE> +<!--DF10ED49621B43269577708BADFC4BD0--> <SERVER_RUNTIME><![CDATA[OBSTSYN_ON_CENTRAL]]></SERVER_RUNTIME> +<!--DF10ED49621B43269577708BADFC4BD0--></OBMOBC_SERVICES> + <!--EAB3A653E7DF4836BD368C49383F3D52--><OBMOBC_SERVICES> <!--EAB3A653E7DF4836BD368C49383F3D52--> <OBMOBC_SERVICES_ID><![CDATA[EAB3A653E7DF4836BD368C49383F3D52]]></OBMOBC_SERVICES_ID> <!--EAB3A653E7DF4836BD368C49383F3D52--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 106da55fdd88 src/org/openbravo/mobile/core/MobileCoreComponentProvider.java --- a/src/org/openbravo/mobile/core/MobileCoreComponentProvider.java Wed Nov 14 19:17:40 2018 +0100 +++ b/src/org/openbravo/mobile/core/MobileCoreComponentProvider.java Mon Dec 10 12:28:35 2018 +0100 @@ -74,7 +74,6 @@ final ArrayList<String> jsDependency = new ArrayList<String>(); jsDependency.add("utils/ob-check"); // must be first because don't want to load a wrong url jsDependency.add("utils/ob-debug"); // must be second because the OB namespace is defined in it - jsDependency.add("utils/ob-loghumanaction"); jsDependency.add("utils/ob-dom-extension"); jsDependency.add("utils/ob-versionmanagement"); jsDependency.add("main"); @@ -93,6 +92,8 @@ jsDependency.add("data/ob-model"); jsDependency.add("data/ob-windowmodel"); jsDependency.add("component/ob-dateformat"); + jsDependency.add("model/terminal-log"); + jsDependency.add("utils/ob-terminal-log"); jsDependency.add("component/ob-terminal-component"); jsDependency.add("model/ob-router"); jsDependency.add("model/ob-terminal-model"); @@ -134,6 +135,7 @@ jsDependency.add("component/ob-markdown"); jsDependency.add("component/ob-performancetest"); jsDependency.add("offline/ob-fetch-manifest"); + jsDependency.add("utils/terminal-log-sync-utils"); final ArrayList<String> jsRetailDependency = new ArrayList<String>(); diff -r 106da55fdd88 src/org/openbravo/mobile/core/TerminalLogLoader.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/openbravo/mobile/core/TerminalLogLoader.java Mon Dec 10 12:28:35 2018 +0100 @@ -0,0 +1,173 @@ +/* + ************************************************************************************ + * Copyright (C) 2018 Openbravo S.L.U. + * Licensed under the Openbravo Commercial License version 1.0 + * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html + * or in the legal folder of this module distribution. + ************************************************************************************ + */ + +package org.openbravo.mobile.core; + +import java.sql.Timestamp; +import java.text.SimpleDateFormat; +import java.util.Date; + +import org.apache.log4j.Logger; +import org.codehaus.jettison.json.JSONArray; +import org.codehaus.jettison.json.JSONObject; +import org.openbravo.dal.core.OBContext; +import org.openbravo.dal.service.OBDal; +import org.openbravo.database.ConnectionProvider; +import org.openbravo.mobile.core.process.DataSynchronizationImportProcess; +import org.openbravo.mobile.core.process.DataSynchronizationProcess; +import org.openbravo.mobile.core.process.DataSynchronizationProcess.DataSynchronization; +import org.openbravo.service.db.DalConnectionProvider; +import org.openbravo.service.json.JsonConstants; + +@DataSynchronization(entity = "OBMOBC_TerminalLog") +public class TerminalLogLoader extends DataSynchronizationProcess implements + DataSynchronizationImportProcess { + + private static final Logger log = Logger.getLogger(TerminalLogLoader.class); + + protected String getImportQualifier() { + return "OBMOBC_TerminalLog"; + } + + @Override + protected boolean bypassPreferenceCheck() { + return true; + } + + public JSONObject saveRecord(JSONObject jsonEvents) throws Exception { + + try { + + // since we do a rollback in case of error, if using syncronized mode we ensure we don't + // rollback other models. + OBDal.getInstance().commitAndClose(); + + JSONArray events = new JSONArray(jsonEvents.getString("events")); + String deviceid = jsonEvents.getString("terminal"); + String cache_session_id = jsonEvents.getString("cacheSessionId"); + + String processName; + JSONObject processInfo; + String processId; + String elementId; + + String tstamp; + String context; + String isonline; + String loglevel = ""; + String msg = ""; + String ad_org_id; + String ad_client_id; + String created; + String createdby; + String updated; + String updatedby; + + ConnectionProvider cp = new DalConnectionProvider(false); + + ad_client_id = OBContext.getOBContext().getCurrentClient().getId(); + ad_org_id = OBContext.getOBContext().getCurrentOrganization().getId(); + createdby = OBContext.getOBContext().getUser().getId(); + + final SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); + + for (int i = 0; i < events.length(); i++) { + + JSONObject event = events.getJSONObject(i); + + Timestamp timestamp = new Timestamp(Long.parseLong(event.getString("d"))); + + created = dateFormatter.format(new Date(timestamp.getTime())); + updated = created; + updatedby = createdby; + tstamp = String.valueOf(timestamp.getTime()); + context = event.getString("c"); + isonline = String.valueOf(event.getString("o").equals("true") ? "Y" : "N"); + + if (event.has("e")) { + elementId = " - (" + event.getString("e") + ")"; + } else { + elementId = ""; + } + + switch (event.getString("t")) { + case "k": + loglevel = "UserAction"; + msg = "Typed: " + event.getString("k") + elementId; + break; + case "b": + loglevel = "UserAction"; + msg = "Clicked on '" + event.getString("b") + "'" + elementId; + break; + case "bk": + loglevel = "UserAction"; + msg = "Clicked on '" + event.getString("b") + "'" + elementId; + break; + case "s": + loglevel = "Process"; + processName = event.getString("v"); + processInfo = new JSONObject(event.getString("i")); + processId = processInfo.getString("id"); + msg = "Process: " + processName + " - started - (" + processId + ")"; + break; + case "f": + loglevel = "Process"; + processName = event.getString("v"); + processInfo = new JSONObject(event.getString("i")); + processId = processInfo.getString("id"); + msg = "Process: " + processName + " - finished - (" + processId + ")"; + break; + default: + log.warn("Event " + event.getString("t") + " no supported"); + } + + UserEventLoaderQueriesData.insertUserEventLog(cp, // + ad_client_id, // + ad_org_id, // + created, // + createdby, // + updated, // + updatedby, // + tstamp, // + deviceid, // + context, // + msg, // + loglevel, // + cache_session_id, // + isonline // + ); + + } + + } catch (Exception e) { + OBDal.getInstance().rollbackAndClose(); + log.error("Could not save UserEvent log with info: " + jsonEvents.toString()); + } + return successMessage(); + } + + private JSONObject successMessage() throws Exception { + final JSONObject jsonResponse = new JSONObject(); + + jsonResponse.put(JsonConstants.RESPONSE_STATUS, JsonConstants.RPCREQUEST_STATUS_SUCCESS); + jsonResponse.put("result", "0"); + return jsonResponse; + } + + @Override + protected String getProperty() { + return "OBMOBC_TerminalLog"; + } + + @Override + public String getAppName() { + return "Mobile Core"; + } + +} \ No newline at end of file diff -r 106da55fdd88 src/org/openbravo/mobile/core/UserEventLoaderQueries_data.xsql --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/openbravo/mobile/core/UserEventLoaderQueries_data.xsql Mon Dec 10 12:28:35 2018 +0100 @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + ************************************************************************************ + * Copyright (C) 2018 Openbravo S.L.U. + * Licensed under the Openbravo Commercial License version 1.0 + * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html + * or in the legal folder of this module distribution. + ************************************************************************************ +--> + + + + + +<SqlClass name="UserEventLoaderQueriesData" package="org.openbravo.mobile.core"> + <SqlMethod name="dummy" type="preparedStatement" return="single"> + <Sql> + <![CDATA[ + SELECT '' as clientId, '' as counter FROM dual + ]]> + </Sql> + </SqlMethod> + <SqlMethod name="insertUserEventLog" type="preparedStatement" connection="false" return="rowCount"> + <Sql> + <![CDATA[ + insert into obmobc_logclient + ( + obmobc_logclient_id, ad_client_id, ad_org_id, isactive, + created, createdby, + updated, updatedby, + tstamp, deviceid, context, msg, + loglevel, cache_session_id, isonline + ) + values + ( + get_uuid(), ?, ?, 'Y', + to_timestamp(to_char(?), to_char('DD-MM-YYYY HH24:MI:SS')), ?, + to_timestamp(to_char(?), to_char('DD-MM-YYYY HH24:MI:SS')), ?, + to_number(?), ?, ?, ?, + ?, ?, ? + ) + ]]> + </Sql> + <Field name="rownum" value="count"/> + <Parameter name="ad_client_id"/> + <Parameter name="ad_org_id"/> + <Parameter name="created"/> + <Parameter name="createdby"/> + <Parameter name="updated"/> + <Parameter name="updatedby"/> + <Parameter name="tstamp"/> + <Parameter name="deviceid"/> + <Parameter name="context"/> + <Parameter name="msg"/> + <Parameter name="loglevel"/> + <Parameter name="cache_session_id"/> + <Parameter name="isonline"/> + </SqlMethod> +</SqlClass> diff -r 106da55fdd88 src/org/openbravo/mobile/core/importprocess/TerminalLogImportEntryProcessor.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/openbravo/mobile/core/importprocess/TerminalLogImportEntryProcessor.java Mon Dec 10 12:28:35 2018 +0100 @@ -0,0 +1,50 @@ +/* + ************************************************************************************ + * Copyright (C) 2018 Openbravo S.L.U. + * Licensed under the Openbravo Commercial License version 1.0 + * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html + * or in the legal folder of this module distribution. + ************************************************************************************ + */ +package org.openbravo.mobile.core.importprocess; + +import javax.enterprise.context.ApplicationScoped; + +import org.openbravo.base.weld.WeldUtils; +import org.openbravo.mobile.core.TerminalLogLoader; +import org.openbravo.mobile.core.process.DataSynchronizationProcess; +import org.openbravo.mobile.core.process.MobileImportEntryProcessorRunnable; +import org.openbravo.service.importprocess.ImportEntry; +import org.openbravo.service.importprocess.ImportEntryManager.ImportEntryQualifier; +import org.openbravo.service.importprocess.ImportEntryProcessor; + +/** + * Encapsulates the {@link TerminalLogLoader} in a thread. + */ +@ImportEntryQualifier(entity = "OBMOBC_TerminalLog") +@ApplicationScoped +public class TerminalLogImportEntryProcessor extends ImportEntryProcessor { + + protected ImportEntryProcessRunnable createImportEntryProcessRunnable() { + return WeldUtils.getInstanceFromStaticBeanManager(TerminalLogLoaderRunnable.class); + } + + protected boolean canHandleImportEntry(ImportEntry importEntryInformation) { + return "OBMOBC_TerminalLog".equals(importEntryInformation.getTypeofdata()); + } + + protected String getProcessSelectionKey(ImportEntry importEntry) { + return importEntry.getOrganization().getId(); + } + + @Override + protected boolean enableArchive() { + return false; + } + + private static class TerminalLogLoaderRunnable extends MobileImportEntryProcessorRunnable { + protected Class<? extends DataSynchronizationProcess> getDataSynchronizationClass() { + return TerminalLogLoader.class; + } + }; +} diff -r 106da55fdd88 src/org/openbravo/mobile/core/login/MobileCoreLoginUtilsServlet.java --- a/src/org/openbravo/mobile/core/login/MobileCoreLoginUtilsServlet.java Wed Nov 14 19:17:40 2018 +0100 +++ b/src/org/openbravo/mobile/core/login/MobileCoreLoginUtilsServlet.java Mon Dec 10 12:28:35 2018 +0100 @@ -331,6 +331,7 @@ jsonObject.put("name", process.getName()); jsonObject.put("searchkey", process.getSearchkey()); jsonObject.put("description", process.getDescription()); + jsonObject.put("terminallog", process.isTerminalLog()); respArray.put(jsonObject); } return respArray; diff -r 106da55fdd88 src/org/openbravo/mobile/core/process/SecuredJSONProcess.java --- a/src/org/openbravo/mobile/core/process/SecuredJSONProcess.java Wed Nov 14 19:17:40 2018 +0100 +++ b/src/org/openbravo/mobile/core/process/SecuredJSONProcess.java Mon Dec 10 12:28:35 2018 +0100 @@ -138,7 +138,7 @@ return false; } } else { - log.warn("Not checking form access for " + this.getClass()); + log.debug("Not checking form access for " + this.getClass()); } if (bypassPreferenceCheck()) { diff -r 106da55fdd88 src/org/openbravo/mobile/core/utils/LogClientLoader.java --- a/src/org/openbravo/mobile/core/utils/LogClientLoader.java Wed Nov 14 19:17:40 2018 +0100 +++ b/src/org/openbravo/mobile/core/utils/LogClientLoader.java Mon Dec 10 12:28:35 2018 +0100 @@ -94,8 +94,8 @@ final JSONObject jsonMsg = new JSONObject(jsonMsgString); final SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); - - final String strCreated = dateFormatter.format(new Date(jsonMsg.getLong("created"))); + final Long timestamp = jsonMsg.getLong("created"); + final String strCreated = dateFormatter.format(new Date(timestamp)); final String strCreatedBy; if (jsonMsg.has("createdby")) { strCreatedBy = jsonMsg.getString("createdby"); @@ -106,6 +106,7 @@ final String strMsg = jsonMsg.getString("msg"); final String strLogLevel = jsonMsg.getString("loglevel"); final String strCacheSessionId = jsonMsg.getString("cacheSessionId"); + final String strContext = jsonMsg.getString("context"); final String isOnline; if (jsonMsg.has("isOnline")) { isOnline = (jsonMsg.getString("isOnline").equals("true") ? "Y" : "N"); @@ -119,11 +120,11 @@ + " (obmobc_logclient_id, ad_client_id, ad_org_id, isactive," + " created, createdby," // + " updated, updatedby," - + " deviceid, msg, loglevel, cache_session_id, isonline) values" + + " tstamp, deviceid, context, msg, loglevel, cache_session_id, isonline) values" + " (?, ?, ?, 'Y'," + " to_timestamp(to_char(?), to_char('DD-MM-YYYY HH24:MI:SS')), ?," + " to_timestamp(to_char(?), to_char('DD-MM-YYYY HH24:MI:SS')), ?," - + " ?, ?, ?, ?, ?)"; + + " ?, ?, ?, ?, ?, ?, ?)"; PreparedStatement st = null; @@ -137,11 +138,13 @@ UtilSql.setValue(st, 5, 12, null, strCreatedBy); UtilSql.setValue(st, 6, 12, null, strCreated); UtilSql.setValue(st, 7, 12, null, strCreatedBy); - UtilSql.setValue(st, 8, 12, null, strDeviceId); - UtilSql.setValue(st, 9, 12, null, strMsg); - UtilSql.setValue(st, 10, 12, null, strLogLevel); - UtilSql.setValue(st, 11, 12, null, strCacheSessionId); - UtilSql.setValue(st, 12, 12, null, isOnline); + UtilSql.setValue(st, 8, 2, null, String.valueOf(timestamp)); + UtilSql.setValue(st, 9, 12, null, strDeviceId); + UtilSql.setValue(st, 10, 12, null, strContext); + UtilSql.setValue(st, 11, 12, null, strMsg); + UtilSql.setValue(st, 12, 12, null, strLogLevel); + UtilSql.setValue(st, 13, 12, null, strCacheSessionId); + UtilSql.setValue(st, 14, 12, null, isOnline); st.executeUpdate(); diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/component/ob-commonbuttons.js --- a/web/org.openbravo.mobile.core/source/component/ob-commonbuttons.js Wed Nov 14 19:17:40 2018 +0100 +++ b/web/org.openbravo.mobile.core/source/component/ob-commonbuttons.js Mon Dec 10 12:28:35 2018 +0100 @@ -322,6 +322,7 @@ } }, show: function (args) { + OB.UTIL.TerminalLog.addPopup(this.name, "open"); var resp = true; // While in poup, disable focusKeeper @@ -366,6 +367,7 @@ this.hide(inEvent.args); }, hide: function (args) { + OB.UTIL.TerminalLog.addPopup(this.name, "close"); var resp = true; var executeOBEvents = true; if (args && args.ignoreOBEvents && args.ignoreOBEvents === true) { diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/model/logclient.js --- a/web/org.openbravo.mobile.core/source/model/logclient.js Wed Nov 14 19:17:40 2018 +0100 +++ b/web/org.openbravo.mobile.core/source/model/logclient.js Mon Dec 10 12:28:35 2018 +0100 @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2016 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -39,6 +39,10 @@ column: 'cacheSessionId', type: 'TEXT' }, { + name: 'context', + column: 'context', + type: 'TEXT' + }, { name: 'msg', column: 'msg', type: 'TEXT' diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/model/ob-terminal-model.js --- a/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js Wed Nov 14 19:17:40 2018 +0100 +++ b/web/org.openbravo.mobile.core/source/model/ob-terminal-model.js Mon Dec 10 12:28:35 2018 +0100 @@ -77,6 +77,8 @@ pricelistversion: null, currency: null, connectedToERP: null, + terminalLogContext: 'refresh(F5)', + terminalLogContextPopUp: [], loginUtilsUrl: '../../org.openbravo.mobile.core.loginutils', loginUtilsParams: {}, supportsOffline: false, @@ -108,7 +110,16 @@ }, shouldExecuteBenchmark: false, propertiesLoaders: [], - dataSyncModels: [] + dataSyncModels: [{ + name: 'OBMOBC_TerminalLog', + model: OB.Model.TerminalLog, + modelFunc: 'OB.Model.TerminalLog', + className: 'org.openbravo.mobile.core.TerminalLogLoader', + criteria: {}, + getIdentifier: function (model) { + return 'User event ' + model.get('id'); + } + }] }, initialize: function () { @@ -199,6 +210,14 @@ pushState: false }); }, 0); + + OB.UTIL.TerminalLog.restoreFromBackup(); + OB.UTIL.activateTerminalLogBackup(); + + window.addEventListener("beforeunload", function () { + OB.UTIL.TerminalLog.doBackup(); + OB.info("Done user event log backup, before an unload"); + }, true); // needed true to capture the event before propagate, if not, on logout not always do the backup }, false); }, @@ -400,6 +419,9 @@ pReplace = true; } OB.debug("Navigating to '" + route + "' Replace: " + pReplace); + if (route) { + this.set('terminalLogContext', route); + } OB.MobileApp.view.keyReceivers.splice(0, OB.MobileApp.view.keyReceivers.length); this.router.navigate(route, { trigger: true, @@ -707,6 +729,10 @@ if (modelChecksum === '') { return; } + //TerminalLog synchronization shouldn't be mandatory for tests + if (modelName === 'TerminalLog') { + return; + } var promiseOfModelToVerify = new Promise(function (resolve, reject) { var syncModel = OB.MobileApp.model.getSyncModel(model); if (syncModel) { @@ -899,7 +925,7 @@ }); }, doPostSynchronizedCallActions: function (callback, syncData) { - if (OB.UTIL.localStorage.getItem('synchronizedMessageId') === syncData.messageId) { + if (OB.UTIL.isNullOrUndefined(OB.UTIL.localStorage.getItem('synchronizedMessageId')) || OB.UTIL.localStorage.getItem('synchronizedMessageId') === syncData.messageId) { OB.UTIL.localStorage.removeItem('synchronizedMessageId'); } else { OB.error("Message id of the last request doesn't much with the current messageId"); @@ -1133,7 +1159,9 @@ } // success. Elements can be now deleted from the database var removeSyncedElemsCallback = function (tx) { - OB.info("Purging the '" + OB.Dal.getTableName(model) + "' table"); + if (OB.Dal.getTableName(model) !== 'OBMOBC_TerminalLog') { + OB.info("Purging the '" + OB.Dal.getTableName(model) + "' table"); + } var promises = []; if (modelObj.successSendModel) { @@ -1177,7 +1205,9 @@ me.syncModel(); return; } - OB.info("The table '" + OB.Dal.getTableName(model) + "' has been fully synchronized with the server"); + if (OB.Dal.getTableName(model) !== 'OBMOBC_TerminalLog') { + OB.info("The table '" + OB.Dal.getTableName(model) + "' has been fully synchronized with the server"); + } }, function (err) { OB.error("Could not purge the '" + OB.Dal.getTableName(model) + "' table. Error message: " + err); }); @@ -1332,6 +1362,13 @@ */ syncAllModels: function (successCallback, errorCallback) { var me = this; + OB.UTIL.TerminalLog.packageEvents(function () { + me.syncAllModelsImpl(successCallback, errorCallback); + }); + }, + + syncAllModelsImpl: function (successCallback, errorCallback) { + var me = this; // if the user is not authenticated, the server will reject all the connections if (!OB.MobileApp.model.isUserAuthenticated()) { @@ -1694,6 +1731,18 @@ OB.MobileApp.model.set('modelsToLoad', []); OB.UTIL.activateLogClient(); + if (OB.MobileApp.model.get('permissions') && ( + OB.MobileApp.model.hasPermission('OBMOBC_EnableTerminalLogUserActions', true) || OB.MobileApp.model.hasPermission('OBMOBC_EnableTerminalLogProcess', true))) { + OB.UTIL.activateTerminalLogSync(); + } else { + OB.UTIL.stopTerminalLogBackup(); + window.removeEventListener("beforeunload", function () { + OB.UTIL.TerminalLog.doBackup(); + OB.info("Done terminal log backup, before an unload"); + }, true); // needed true to capture the event before propagate, if not, on logout not always do the backup + OB.UTIL.TerminalLog.deleteBackup(); + OB.info("Terminal log is disabled because both preferences (OBMOBC_EnableTerminalLogUserActions and OBMOBC_EnableTerminalLogProcess) are set to false."); + } var countOfLoadedWindows = 0; var registeredWindows = this.windowRegistry.registeredWindows; diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/model/terminal-log.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/org.openbravo.mobile.core/source/model/terminal-log.js Mon Dec 10 12:28:35 2018 +0100 @@ -0,0 +1,42 @@ +/* + ************************************************************************************ + * Copyright (C) 2018 Openbravo S.L.U. + * Licensed under the Openbravo Commercial License version 1.0 + * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html + * or in the legal folder of this module distribution. + ************************************************************************************ + */ + +/*global Backbone */ + +(function () { + var TerminalLog = OB.Data.ExtensibleModel.extend({ + modelName: 'TerminalLog', + tableName: 'OBMOBC_TerminalLog', + entityName: 'OBMOBC_TerminalLog', + source: '', + local: true + }); + + TerminalLog.addProperties([{ + name: 'id', + column: 'terminallog_id', + primaryKey: true, + type: 'TEXT' + }, { + name: 'terminal', + column: 'terminal', + type: 'TEXT' + }, { + name: 'cacheSessionId', + column: 'cacheSessionId', + type: 'TEXT' + }, { + name: 'events', + column: 'events', + type: 'TEXT' + }]); + + + OB.Data.Registry.registerModel(TerminalLog); +}()); \ No newline at end of file diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/retail/component/ob-retail-searchproductcharacteristic.js --- a/web/org.openbravo.mobile.core/source/retail/component/ob-retail-searchproductcharacteristic.js Wed Nov 14 19:17:40 2018 +0100 +++ b/web/org.openbravo.mobile.core/source/retail/component/ob-retail-searchproductcharacteristic.js Mon Dec 10 12:28:35 2018 +0100 @@ -89,10 +89,10 @@ // List of default filters defaults: [], - // Get component to filter render + // Get component to filter render renderInfo: function () { return null; - // Example: + // Example: // return { // kind: 'FilterExample', // getFilterCondition: function () { @@ -171,14 +171,14 @@ return null; }, - // Function to post process filtered collection + // Function to post process filtered collection // // function (collection, callback); // collection: Collection of filtered items // callback: Callback function to be called when post processing finish postProcess: null, - // Add attributes to show + // Add attributes to show addItemAttributes: function (item, attr) { var filterAttr = item.get("filterAttr"); if (!filterAttr) { @@ -456,7 +456,7 @@ me.categories.reset(); } // Verify if have a category tree - var select = "select tree.category_id, sum(case when pc.m_product_category_id is null then 0 else 1 end) as childs " // + var select = "select tree.category_id, sum(case when pc.m_product_category_id is null then 0 else 1 end) as childs " // + "from m_product_category_tree tree left join m_product_category_tree child on tree.category_id = child.parent_id " // + "left join m_product_category pc on pc.m_product_category_id = child.category_id " // + "where tree.parent_id = '0' group by tree.category_id order by tree.seqno"; @@ -602,7 +602,7 @@ OB.UI.SearchProductCharacteristic.postProcessCustomFilters.push(filter); } }, - // Render custom filters + // Render custom filters filtersCustomRender: function () { var index = 0, me = this, @@ -1026,7 +1026,7 @@ } } }); - // Notify to filters + // Notify to filters this.customFilters.forEach(function (filter) { filter.doAddProduct({ product: model, @@ -1259,6 +1259,7 @@ this.$.searchProductCharacteristicHeader.disableFilterButtons(value); }, searchAction: function (inSender, inEvent) { + var execution = OB.UTIL.ProcessController.start('searchProduct'); this.$.products.hide(); this.$.renderLoading.show(); this.params = []; @@ -1537,7 +1538,7 @@ remoteCriteria.push(brandfilter); } } - // product name and category + // product name and category if (productFilterText !== undefined && productCategory) { // characteristic filter if (me.model.get('filter').length > 0) { @@ -1900,5 +1901,6 @@ } } }); + OB.UTIL.ProcessController.finish('searchProduct', execution); } }); \ No newline at end of file diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/utils/ob-dom-extension.js --- a/web/org.openbravo.mobile.core/source/utils/ob-dom-extension.js Wed Nov 14 19:17:40 2018 +0100 +++ b/web/org.openbravo.mobile.core/source/utils/ob-dom-extension.js Mon Dec 10 12:28:35 2018 +0100 @@ -29,7 +29,7 @@ var elmt = _.find(event.path, function (el) { return el.tagName === 'BUTTON'; }) || event.target; - OB.UTIL.humanAction.push(elmt); + OB.UTIL.TerminalLog.addButtonClick(elmt); avoidDoubleClick(event, elmt); } var debounceMouseDown = _.debounce(mouseDown, 1); @@ -40,7 +40,7 @@ }); document.onkeydown = function (k) { if (k.key) { - OB.UTIL.humanAction.push(k.key); + OB.UTIL.TerminalLog.addKeyPress(k); } }; }()); \ No newline at end of file diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/utils/ob-loghumanaction.js --- a/web/org.openbravo.mobile.core/source/utils/ob-loghumanaction.js Wed Nov 14 19:17:40 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -/* - ************************************************************************************ - * Copyright (C) 2018 Openbravo S.L.U. - * Licensed under the Openbravo Commercial License version 1.0 - * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html - * or in the legal folder of this module distribution. - ************************************************************************************ - * - * Author MDJ - * - */ - -/*global OB, _, moment */ - -/** - * API to log human action to save as log client messages - * - */ - -(function () { - OB.UTIL = window.OB.UTIL || {}; - OB.UTIL.humanAction = { - messages: [], - messagesLength: 50, - push: function (elmt) { - var message = '[' + moment().format("HH:mm:ss.SSS") + '] '; - if (typeof (elmt) === 'string' && elmt !== "") { - message = message + "Key pressed: " + elmt; - } else { - var ids = elmt.id.split('_'); - message = message + "'" + (elmt.textContent ? elmt.textContent : ids[ids.length - 1]) + "' in context: '" + elmt.id.substring(elmt.id.length - 40) + "'"; - } - if (this.messages.length >= 50) { - this.messages.shift(); - } - this.messages.push(message); - }, - getActionsLog: function () { - var i, message = '\n \n [Human Action Log]: \n'; - if (this.messages.length > 0) { - for (i = 0; i < this.messages.length; i++) { - message = message + '\t' + (i + 1) + '.- ' + this.messages[i] + '\n'; - } - return message; - } - return ""; - } - }; - -}()); \ No newline at end of file diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/utils/ob-processcontroller.js --- a/web/org.openbravo.mobile.core/source/utils/ob-processcontroller.js Wed Nov 14 19:17:40 2018 +0100 +++ b/web/org.openbravo.mobile.core/source/utils/ob-processcontroller.js Mon Dec 10 12:28:35 2018 +0100 @@ -24,6 +24,7 @@ name: null, searchkey: null, description: null, + terminallog: null, subscriptions: [], //List of components subscribed to the process executions: new Backbone.Collection() //List of process instances in execution @@ -33,6 +34,7 @@ this.set('name', attributes.name); this.set('searchkey', attributes.searchkey); this.set('description', attributes.description); + this.set('terminallog', attributes.terminallog); this.set('subscriptions', []); this.set('executions', new Backbone.Collection()); } @@ -123,6 +125,9 @@ obj.processStarted(execProcess, execution, me.getProcessesInExecByOBj(obj)); } }); + if (execProcess.get('terminallog')) { + OB.UTIL.TerminalLog.addProcess(searchkey, execution, 'start'); + } return execution; }, finish: function (searchkey, execution) { @@ -135,6 +140,9 @@ obj.processFinished(execProcess, execution, me.getProcessesInExecByOBj(obj)); } }); + if (execProcess.get('terminallog')) { + OB.UTIL.TerminalLog.addProcess(searchkey, execution, 'finish'); + } }, subscribe: function (processesSearchKey, obj) { //Ignore components with no processes defined diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/utils/ob-terminal-log.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/org.openbravo.mobile.core/source/utils/ob-terminal-log.js Mon Dec 10 12:28:35 2018 +0100 @@ -0,0 +1,245 @@ +/* + ************************************************************************************ + * Copyright (C) 2018 Openbravo S.L.U. + * Licensed under the Openbravo Commercial License version 1.0 + * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html + * or in the legal folder of this module distribution. + ************************************************************************************ + */ + +/*global OB, _, moment */ + +/** + * API to log user action and processes start and finish + * + */ + +(function () { + OB.UTIL = window.OB.UTIL || {}; + OB.UTIL.TerminalLog = { + events: [], + eventsMaximumNumber: 10000, + addKeyPress: function (elmt) { + if (OB.MobileApp.model.get('permissions') && !OB.MobileApp.model.hasPermission('OBMOBC_EnableTerminalLogUserActions', true)) { + return; + } + + if (this.events.length >= this.eventsMaximumNumber) { + return; + } + + var keyName = elmt.key; + var password = false; + if (elmt.dispatchTarget.type === "password" && keyName !== "Enter" && keyName !== 'Tab') { + // don't save log of key pressed in input type password + keyName = ''; + password = true; + } + var ids = elmt.srcElement.id.split('_'); + var previousEvent = this.events[this.events.length - 1]; + var context = this.getContext(ids); + if (previousEvent && previousEvent.t === 'k' && previousEvent.c === context && previousEvent.k.substr(previousEvent.k.length - 3) !== 'Tab') { + if (!password) { + this.events[this.events.length - 1].k += ', ' + keyName; + } + } else { + var event = this.getNewEvent(context); + event.t = 'k'; + if (password) { + event.k = '[password] ' + keyName; + } else { + event.k = keyName; + event.e = this.getElemFromIds(ids); + } + this.events.push(event); + } + }, + addButtonClick: function (elmt) { + if (OB.MobileApp.model.get('permissions') && !OB.MobileApp.model.hasPermission('OBMOBC_EnableTerminalLogUserActions', true)) { + return; + } + var isKeyPadButton = function (txt, ids) { + // keypadcontainer include all the numbers and '.' of keypad, and also all the coins. But it don't include others like enter, backspace or + , -, etc + return txt.search(/[0-9.]+/) === 0 && ids['6'] === 'keypadcontainer'; + }; + if (this.events.length >= this.eventsMaximumNumber) { + return; + } + var ids = elmt.id.split('_'); + var buttonName = this.getButtonName(elmt, ids); + var previousEvent = this.events[this.events.length - 1]; + var context = this.getContext(ids); + + if (isKeyPadButton(buttonName, ids) && previousEvent && previousEvent.t === 'bk' && previousEvent.c === context) { + previousEvent.b += ', ' + buttonName; + } else { + var event = this.getNewEvent(context); + event.t = isKeyPadButton(buttonName, ids) ? 'bk' : 'b'; + event.b = buttonName; + event.e = this.getElemFromIds(ids); + this.events.push(event); + } + }, + getButtonName: function (elmt, ids) { + var buttonName = ''; + if (elmt.tagName === 'INPUT') { + buttonName += ' [input_field] '; + } + if (elmt.textContent) { + // button label text + buttonName += elmt.textContent; + } else { + var backgroundImg = window.getComputedStyle(document.getElementById(elmt.id)).getPropertyValue("background-image"); + if (backgroundImg) { + buttonName += backgroundImg.replace(/.*\/(icon)?([^.]+)\..*/, '$2'); + } else { + //if not, use the enyo object name + buttonName += ids[ids.length - 1]; + if (buttonName === 'button') { + // for keypad use the enyo parent + buttonName += ids[ids.length - 2]; + } + + // make more clean the guessed name form enyo object (i case insensitive, g all ocurrences) + buttonName = buttonName.replace(/button/ig, ''); + buttonName = buttonName.replace(/btn/ig, ''); + buttonName = buttonName.replace(/entity/ig, ''); + } + } + if (buttonName.length > 60) { + buttonName = buttonName.substring(0, 60) + '[...]'; + } + return buttonName; + }, + getContext: function (ids) { + var context = []; + context.push(OB.MobileApp.model.get('terminalLogContext')); + if (ids && (!OB.MobileApp.model.get('terminalLogContextPopUp') || OB.MobileApp.model.get('terminalLogContextPopUp').length === 0)) { + context.push(this.getContextFromIds(ids)); + } else { + var terminalLogContextPopUp = OB.MobileApp.model.get('terminalLogContextPopUp'); + if (terminalLogContextPopUp && terminalLogContextPopUp.length > 0) { + context = context.concat(terminalLogContextPopUp); + } + } + var contextString = context.join(" | "); + if (contextString.length > 250) { + contextString = contextString.substring(1, 245) + '[...]'; + } + return contextString; + }, + getContextFromIds: function (ids) { + return ids[3] + " - " + ids[4]; + }, + getElemFromIds: function (ids) { + return ids[ids.length - 2] + " - " + ids[ids.length - 1]; + }, + addProcess: function (name, id, status) { + if (OB.MobileApp.model.get('permissions') && !OB.MobileApp.model.hasPermission('OBMOBC_EnableTerminalLogProcess', true)) { + return; + } + if (this.events.length >= this.eventsMaximumNumber) { + return; + } + + var event = this.getNewEvent(); + if (status === 'start') { + event.t = 's'; + event.v = name; + event.i = id; + } else if (status === 'finish') { + event.t = 'f'; + event.v = name; + event.i = id; + } else { + OB.warn("Called OB.UTIL.TerminalLog.addProcess with status '" + status + "', but this status is not one of accepted ones."); + } + this.events.push(event); + }, + addPopup: function (popupName, status) { + if (OB.MobileApp.model.get('permissions') && !OB.MobileApp.model.hasPermission('OBMOBC_EnableTerminalLogUserActions', true) && !OB.MobileApp.model.hasPermission('OBMOBC_EnableTerminalLogProcess', true)) { + return; + } + var terminalLogContextPopUp = OB.MobileApp.model.get('terminalLogContextPopUp'); + var index = terminalLogContextPopUp.indexOf(popupName); + if (status === 'open') { + if (index < 0) { + // show could be executed when the popup is still visible + terminalLogContextPopUp.push(popupName); + } + } else if (status === 'close') { + if (index >= 0) { + terminalLogContextPopUp.splice(index, 1); + } + } else { + OB.warn("Called OB.UTIL.TerminalLog.addPopup with status '" + status + "', but this status is not one of accepted ones."); + } + OB.MobileApp.model.set('terminalLogContextPopUp', terminalLogContextPopUp); + }, + getNewEvent: function (context) { + var event = {}; + event.d = new Date().getTime(); + event.o = OB.MobileApp.model.get('connectedToERP'); + event.c = context ? context : this.getContext(); + return event; + }, + getEventsLog: function () { + return this.events; + }, + packageEvents: function (successCallback) { + + function callSuccessCallback() { + if (successCallback) { + successCallback(); + } + } + + if (!OB.MobileApp.model) { + // check if application is available + return callSuccessCallback(); + } + if (this.events.length === 0) { + // if nothing to package, don't do the package :) + return callSuccessCallback(); + } + + if (OB.MobileApp.model.get('sessionLost')) { + // if we are not logged it, we continue saving user events but we don't package and sync them + return callSuccessCallback(); + } + + // synchronous part + var eventPackage = new OB.Model.TerminalLog(); + eventPackage.set('terminal', OB.MobileApp.model.get('logConfiguration').deviceIdentifier); + eventPackage.set('cacheSessionId', OB.UTIL.localStorage.getItem('cacheSessionId')); + eventPackage.set('events', JSON.stringify(this.events.slice())); // only clones first level, and events are immutable + this.events = []; + // asynchronous part + // inside a transaction + // delete backup + // save model to sync + OB.Dal.transaction(function (tx) { + + OB.UTIL.TerminalLog.deleteBackup(); + OB.Dal.saveInTransaction(tx, eventPackage, function () { + callSuccessCallback(); + }, function () { + OB.error('Could not package events'); + callSuccessCallback(); + }); + }); + }, + doBackup: function () { + OB.UTIL.localStorage.setItem('eventLogBackup', JSON.stringify(this.events)); + }, + restoreFromBackup: function () { + var eventsBackup = OB.UTIL.localStorage.getItem('eventLogBackup'); + if (eventsBackup && eventsBackup !== "undefined") { + this.events = JSON.parse(eventsBackup); + } + }, + deleteBackup: function () { + OB.UTIL.localStorage.setItem('eventLogBackup', JSON.stringify([])); + } + }; +}()); \ No newline at end of file diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/utils/ob-utilities.js --- a/web/org.openbravo.mobile.core/source/utils/ob-utilities.js Wed Nov 14 19:17:40 2018 +0100 +++ b/web/org.openbravo.mobile.core/source/utils/ob-utilities.js Mon Dec 10 12:28:35 2018 +0100 @@ -348,8 +348,6 @@ try { var saveInServer = OB.UTIL.checkPermissionLog(logLevel, "save"); - var humanLog = OB.UTIL.humanAction.getActionsLog(); - var processesLog = OB.UTIL.ProcessController.getProcessesInExecLog(); if (saveInServer) { var isSaveOnlyTraceOfCaller = true; @@ -357,9 +355,6 @@ isSaveOnlyTraceOfCaller = false; } var serverMessage = OB.UTIL.argumentsToStringifyed(args) + "; stackTrace: " + OB.UTIL.getStackTrace('OB.' + logLevel.toLowerCase(), isSaveOnlyTraceOfCaller); - if (logLevel === 'Error' || logLevel === "Critical") { - serverMessage = serverMessage + humanLog + processesLog; - } // cut the message serverMessage = (serverMessage.length < 100000000) ? serverMessage : serverMessage.substring(0, 100000000); OB.UTIL.saveLogClient(serverMessage, logLevel); @@ -377,7 +372,6 @@ } else if (logLevel === "Warn") { console.warn(consoleMessage); } else if (logLevel === "Error" || logLevel === "Critical") { - consoleMessage = consoleMessage + humanLog + processesLog; console.error(consoleMessage); } else { OB.UTIL.Debug.execute(function () { @@ -472,10 +466,9 @@ logClientModel.set('loglevel', level); logClientModel.set('msg', msg); logClientModel.set('deviceId', OB.MobileApp.model.get('logConfiguration').deviceIdentifier); - logClientModel.set('cacheSessionId', null); - if (OB.UTIL.localStorage.getItem('cacheSessionId') !== null) { - logClientModel.set('cacheSessionId', OB.UTIL.localStorage.getItem('cacheSessionId')); - } + logClientModel.set('context', OB.MobileApp.model.get('terminalLogContext')); + logClientModel.set('cacheSessionId', OB.UTIL.localStorage.getItem('cacheSessionId')); + logClientModel.set('link', OB.UTIL.getStackLink()); _.each(OB.MobileApp.model.get('logConfiguration').logPropertiesExtension, function (f) { diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/utils/ob-utilitiesui.js --- a/web/org.openbravo.mobile.core/source/utils/ob-utilitiesui.js Wed Nov 14 19:17:40 2018 +0100 +++ b/web/org.openbravo.mobile.core/source/utils/ob-utilitiesui.js Mon Dec 10 12:28:35 2018 +0100 @@ -210,6 +210,8 @@ components = container.getComponents ? container.getComponents() : [], i, dialog; + OB.info("Opened popup: " + (title ? title : text)); + function getDialog() { // Allow display in a confirmation message a literal or a list of components or literal messages diff -r 106da55fdd88 web/org.openbravo.mobile.core/source/utils/terminal-log-sync-utils.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/org.openbravo.mobile.core/source/utils/terminal-log-sync-utils.js Mon Dec 10 12:28:35 2018 +0100 @@ -0,0 +1,61 @@ +/* + ************************************************************************************ + * Copyright (C) 2018 Openbravo S.L.U. + * Licensed under the Openbravo Commercial License version 1.0 + * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html + * or in the legal folder of this module distribution. + ************************************************************************************ + */ + +/*global OB, console, _, Backbone*/ + +(function () { + + OB.UTIL = window.OB.UTIL || {}; + + OB.UTIL.activateTerminalLogSync = function () { + if (!OB.UTIL.terminalLogSyncIntervalId) { + var terminalLogIntervalInSecs; + if (OB.MobileApp.model.get('permissions')) { + terminalLogIntervalInSecs = OB.MobileApp.model.get('permissions').OBMOBC_TerminalLogSyncInterval; + } + if (!terminalLogIntervalInSecs) { + // default value for OBMOBC_TerminalLogSyncInterval + terminalLogIntervalInSecs = 30; + } + OB.UTIL.terminalLogSyncIntervalId = setInterval(function () { + OB.UTIL.TerminalLog.packageEvents(); + }, terminalLogIntervalInSecs * 1000); + } + }; + + OB.UTIL.stopTerminalLogSync = function () { + if (OB.UTIL.terminalLogSyncIntervalId) { + clearInterval(OB.UTIL.terminalLogSyncIntervalId); + OB.UTIL.terminalLogSyncIntervalId = null; + } + }; + + OB.UTIL.activateTerminalLogBackup = function () { + if (!OB.UTIL.terminalLogBackupIntervalId) { + var terminalLogBackupIntervalInSecs; + if (OB.MobileApp.model.get('permissions')) { + terminalLogBackupIntervalInSecs = OB.MobileApp.model.get('permissions').OBMOBC_TerminalLogBackupInterval; + } + if (!terminalLogBackupIntervalInSecs) { + // default value for OBMOBC_TerminalLogBackupInterval + terminalLogBackupIntervalInSecs = 1; + } + OB.UTIL.terminalLogBackupIntervalId = setInterval(function () { + OB.UTIL.TerminalLog.doBackup(); + }, terminalLogBackupIntervalInSecs * 1000); + } + }; + + OB.UTIL.stopTerminalLogBackup = function () { + if (OB.UTIL.terminalLogBackupIntervalId) { + clearInterval(OB.UTIL.terminalLogBackupIntervalId); + OB.UTIL.terminalLogBackupIntervalId = null; + } + }; +}()); \ No newline at end of file terminallog-q3-posterminal.diff [^] (17,682 bytes) 2018-12-11 11:26 [Show Content] [Hide Content] diff -r bbbe22655371 src-db/database/sourcedata/OBMOBC_PROCESS_DEFINITION.xml --- a/src-db/database/sourcedata/OBMOBC_PROCESS_DEFINITION.xml Wed Nov 14 10:09:02 2018 +0100 +++ b/src-db/database/sourcedata/OBMOBC_PROCESS_DEFINITION.xml Mon Dec 10 12:28:59 2018 +0100 @@ -9,6 +9,7 @@ <!--661A8622C10D4CA78AEBC92223945272--> <SEARCHKEY><![CDATA[updatePendingMultiOrders]]></SEARCHKEY> <!--661A8622C10D4CA78AEBC92223945272--> <NAME><![CDATA[Update Pending MultiOrders]]></NAME> <!--661A8622C10D4CA78AEBC92223945272--> <DESCRIPTION><![CDATA[Calculation of the pending amount to pay for Multi Orders]]></DESCRIPTION> +<!--661A8622C10D4CA78AEBC92223945272--> <TERMINALLOG><![CDATA[N]]></TERMINALLOG> <!--661A8622C10D4CA78AEBC92223945272--></OBMOBC_PROCESS_DEFINITION> <!--7EAA2CD8D4E94FAC8D4F289BD09B03ED--><OBMOBC_PROCESS_DEFINITION> @@ -20,6 +21,7 @@ <!--7EAA2CD8D4E94FAC8D4F289BD09B03ED--> <SEARCHKEY><![CDATA[cancelLayaway]]></SEARCHKEY> <!--7EAA2CD8D4E94FAC8D4F289BD09B03ED--> <NAME><![CDATA[Cancel Layaway]]></NAME> <!--7EAA2CD8D4E94FAC8D4F289BD09B03ED--> <DESCRIPTION><![CDATA[Cancel a Layaway canceling the order and payments]]></DESCRIPTION> +<!--7EAA2CD8D4E94FAC8D4F289BD09B03ED--> <TERMINALLOG><![CDATA[Y]]></TERMINALLOG> <!--7EAA2CD8D4E94FAC8D4F289BD09B03ED--></OBMOBC_PROCESS_DEFINITION> <!--A0CB57A0CAC24EE0AD0F3902FDC9A6C9--><OBMOBC_PROCESS_DEFINITION> @@ -31,8 +33,33 @@ <!--A0CB57A0CAC24EE0AD0F3902FDC9A6C9--> <SEARCHKEY><![CDATA[clearWith]]></SEARCHKEY> <!--A0CB57A0CAC24EE0AD0F3902FDC9A6C9--> <NAME><![CDATA[Clear current order]]></NAME> <!--A0CB57A0CAC24EE0AD0F3902FDC9A6C9--> <DESCRIPTION><![CDATA[Clear the current order with the order passed by parameters]]></DESCRIPTION> +<!--A0CB57A0CAC24EE0AD0F3902FDC9A6C9--> <TERMINALLOG><![CDATA[Y]]></TERMINALLOG> <!--A0CB57A0CAC24EE0AD0F3902FDC9A6C9--></OBMOBC_PROCESS_DEFINITION> +<!--A59A7C9261134100A06BF8D51AE26F7F--><OBMOBC_PROCESS_DEFINITION> +<!--A59A7C9261134100A06BF8D51AE26F7F--> <OBMOBC_PROCESS_DEFINITION_ID><![CDATA[A59A7C9261134100A06BF8D51AE26F7F]]></OBMOBC_PROCESS_DEFINITION_ID> +<!--A59A7C9261134100A06BF8D51AE26F7F--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--A59A7C9261134100A06BF8D51AE26F7F--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--A59A7C9261134100A06BF8D51AE26F7F--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--A59A7C9261134100A06BF8D51AE26F7F--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--A59A7C9261134100A06BF8D51AE26F7F--> <SEARCHKEY><![CDATA[searchProduct]]></SEARCHKEY> +<!--A59A7C9261134100A06BF8D51AE26F7F--> <NAME><![CDATA[Search Product]]></NAME> +<!--A59A7C9261134100A06BF8D51AE26F7F--> <DESCRIPTION><![CDATA[When doing a search in the product selector]]></DESCRIPTION> +<!--A59A7C9261134100A06BF8D51AE26F7F--> <TERMINALLOG><![CDATA[Y]]></TERMINALLOG> +<!--A59A7C9261134100A06BF8D51AE26F7F--></OBMOBC_PROCESS_DEFINITION> + +<!--A71D33B9E776497F918C10BE7DA20B36--><OBMOBC_PROCESS_DEFINITION> +<!--A71D33B9E776497F918C10BE7DA20B36--> <OBMOBC_PROCESS_DEFINITION_ID><![CDATA[A71D33B9E776497F918C10BE7DA20B36]]></OBMOBC_PROCESS_DEFINITION_ID> +<!--A71D33B9E776497F918C10BE7DA20B36--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--A71D33B9E776497F918C10BE7DA20B36--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--A71D33B9E776497F918C10BE7DA20B36--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--A71D33B9E776497F918C10BE7DA20B36--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--A71D33B9E776497F918C10BE7DA20B36--> <SEARCHKEY><![CDATA[addPayment]]></SEARCHKEY> +<!--A71D33B9E776497F918C10BE7DA20B36--> <NAME><![CDATA[Add Payment]]></NAME> +<!--A71D33B9E776497F918C10BE7DA20B36--> <DESCRIPTION><![CDATA[When adding a payment to the current order]]></DESCRIPTION> +<!--A71D33B9E776497F918C10BE7DA20B36--> <TERMINALLOG><![CDATA[Y]]></TERMINALLOG> +<!--A71D33B9E776497F918C10BE7DA20B36--></OBMOBC_PROCESS_DEFINITION> + <!--B0EA6F15EED14D38B80B433D196995FC--><OBMOBC_PROCESS_DEFINITION> <!--B0EA6F15EED14D38B80B433D196995FC--> <OBMOBC_PROCESS_DEFINITION_ID><![CDATA[B0EA6F15EED14D38B80B433D196995FC]]></OBMOBC_PROCESS_DEFINITION_ID> <!--B0EA6F15EED14D38B80B433D196995FC--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -42,8 +69,21 @@ <!--B0EA6F15EED14D38B80B433D196995FC--> <SEARCHKEY><![CDATA[updatePending]]></SEARCHKEY> <!--B0EA6F15EED14D38B80B433D196995FC--> <NAME><![CDATA[Update Pending]]></NAME> <!--B0EA6F15EED14D38B80B433D196995FC--> <DESCRIPTION><![CDATA[Calculation of the pending amount to pay]]></DESCRIPTION> +<!--B0EA6F15EED14D38B80B433D196995FC--> <TERMINALLOG><![CDATA[N]]></TERMINALLOG> <!--B0EA6F15EED14D38B80B433D196995FC--></OBMOBC_PROCESS_DEFINITION> +<!--B78DFFBF289449DDAD7FADC046C7C14B--><OBMOBC_PROCESS_DEFINITION> +<!--B78DFFBF289449DDAD7FADC046C7C14B--> <OBMOBC_PROCESS_DEFINITION_ID><![CDATA[B78DFFBF289449DDAD7FADC046C7C14B]]></OBMOBC_PROCESS_DEFINITION_ID> +<!--B78DFFBF289449DDAD7FADC046C7C14B--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--B78DFFBF289449DDAD7FADC046C7C14B--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--B78DFFBF289449DDAD7FADC046C7C14B--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--B78DFFBF289449DDAD7FADC046C7C14B--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--B78DFFBF289449DDAD7FADC046C7C14B--> <SEARCHKEY><![CDATA[searchCustomer]]></SEARCHKEY> +<!--B78DFFBF289449DDAD7FADC046C7C14B--> <NAME><![CDATA[Search Customer]]></NAME> +<!--B78DFFBF289449DDAD7FADC046C7C14B--> <DESCRIPTION><![CDATA[When doing a search in the customer selector]]></DESCRIPTION> +<!--B78DFFBF289449DDAD7FADC046C7C14B--> <TERMINALLOG><![CDATA[Y]]></TERMINALLOG> +<!--B78DFFBF289449DDAD7FADC046C7C14B--></OBMOBC_PROCESS_DEFINITION> + <!--BBFD1B0C45B7454994D67E6C9FBA2D26--><OBMOBC_PROCESS_DEFINITION> <!--BBFD1B0C45B7454994D67E6C9FBA2D26--> <OBMOBC_PROCESS_DEFINITION_ID><![CDATA[BBFD1B0C45B7454994D67E6C9FBA2D26]]></OBMOBC_PROCESS_DEFINITION_ID> <!--BBFD1B0C45B7454994D67E6C9FBA2D26--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -53,6 +93,7 @@ <!--BBFD1B0C45B7454994D67E6C9FBA2D26--> <SEARCHKEY><![CDATA[calculateReceipt]]></SEARCHKEY> <!--BBFD1B0C45B7454994D67E6C9FBA2D26--> <NAME><![CDATA[Calculate Receipt]]></NAME> <!--BBFD1B0C45B7454994D67E6C9FBA2D26--> <DESCRIPTION><![CDATA[Calculation of all discounts, taxes, net, gross ... are calcuted]]></DESCRIPTION> +<!--BBFD1B0C45B7454994D67E6C9FBA2D26--> <TERMINALLOG><![CDATA[Y]]></TERMINALLOG> <!--BBFD1B0C45B7454994D67E6C9FBA2D26--></OBMOBC_PROCESS_DEFINITION> <!--C8DDB7E5DF124999A0A64B70EE9C1684--><OBMOBC_PROCESS_DEFINITION> @@ -64,8 +105,21 @@ <!--C8DDB7E5DF124999A0A64B70EE9C1684--> <SEARCHKEY><![CDATA[showPaymentTab]]></SEARCHKEY> <!--C8DDB7E5DF124999A0A64B70EE9C1684--> <NAME><![CDATA[Show payment tab]]></NAME> <!--C8DDB7E5DF124999A0A64B70EE9C1684--> <DESCRIPTION><![CDATA[Show the payment panel in the rigth side]]></DESCRIPTION> +<!--C8DDB7E5DF124999A0A64B70EE9C1684--> <TERMINALLOG><![CDATA[Y]]></TERMINALLOG> <!--C8DDB7E5DF124999A0A64B70EE9C1684--></OBMOBC_PROCESS_DEFINITION> +<!--D84FB7E63EF34DAE9ECBAFE24B768D6F--><OBMOBC_PROCESS_DEFINITION> +<!--D84FB7E63EF34DAE9ECBAFE24B768D6F--> <OBMOBC_PROCESS_DEFINITION_ID><![CDATA[D84FB7E63EF34DAE9ECBAFE24B768D6F]]></OBMOBC_PROCESS_DEFINITION_ID> +<!--D84FB7E63EF34DAE9ECBAFE24B768D6F--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--D84FB7E63EF34DAE9ECBAFE24B768D6F--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--D84FB7E63EF34DAE9ECBAFE24B768D6F--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--D84FB7E63EF34DAE9ECBAFE24B768D6F--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--D84FB7E63EF34DAE9ECBAFE24B768D6F--> <SEARCHKEY><![CDATA[searchCustomerAddress]]></SEARCHKEY> +<!--D84FB7E63EF34DAE9ECBAFE24B768D6F--> <NAME><![CDATA[Search Customer Address]]></NAME> +<!--D84FB7E63EF34DAE9ECBAFE24B768D6F--> <DESCRIPTION><![CDATA[When doing a search in the customer address selector]]></DESCRIPTION> +<!--D84FB7E63EF34DAE9ECBAFE24B768D6F--> <TERMINALLOG><![CDATA[Y]]></TERMINALLOG> +<!--D84FB7E63EF34DAE9ECBAFE24B768D6F--></OBMOBC_PROCESS_DEFINITION> + <!--E602ED1A21C64564BB565B5E9BB16E39--><OBMOBC_PROCESS_DEFINITION> <!--E602ED1A21C64564BB565B5E9BB16E39--> <OBMOBC_PROCESS_DEFINITION_ID><![CDATA[E602ED1A21C64564BB565B5E9BB16E39]]></OBMOBC_PROCESS_DEFINITION_ID> <!--E602ED1A21C64564BB565B5E9BB16E39--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -75,6 +129,7 @@ <!--E602ED1A21C64564BB565B5E9BB16E39--> <SEARCHKEY><![CDATA[cashupWindow]]></SEARCHKEY> <!--E602ED1A21C64564BB565B5E9BB16E39--> <NAME><![CDATA[Cashup Window Loaded]]></NAME> <!--E602ED1A21C64564BB565B5E9BB16E39--> <DESCRIPTION><![CDATA[Loading of the Cashup window]]></DESCRIPTION> +<!--E602ED1A21C64564BB565B5E9BB16E39--> <TERMINALLOG><![CDATA[Y]]></TERMINALLOG> <!--E602ED1A21C64564BB565B5E9BB16E39--></OBMOBC_PROCESS_DEFINITION> <!--F39A8C9151CB43CCA360A44C0E7D848B--><OBMOBC_PROCESS_DEFINITION> @@ -86,6 +141,7 @@ <!--F39A8C9151CB43CCA360A44C0E7D848B--> <SEARCHKEY><![CDATA[addProduct]]></SEARCHKEY> <!--F39A8C9151CB43CCA360A44C0E7D848B--> <NAME><![CDATA[Add product]]></NAME> <!--F39A8C9151CB43CCA360A44C0E7D848B--> <DESCRIPTION><![CDATA[When adding a product to the current order]]></DESCRIPTION> +<!--F39A8C9151CB43CCA360A44C0E7D848B--> <TERMINALLOG><![CDATA[Y]]></TERMINALLOG> <!--F39A8C9151CB43CCA360A44C0E7D848B--></OBMOBC_PROCESS_DEFINITION> </data> diff -r bbbe22655371 web/org.openbravo.retail.posterminal/js/components/bplocation.js --- a/web/org.openbravo.retail.posterminal/js/components/bplocation.js Wed Nov 14 10:09:02 2018 +0100 +++ b/web/org.openbravo.retail.posterminal/js/components/bplocation.js Mon Dec 10 12:28:59 2018 +0100 @@ -707,6 +707,7 @@ return true; }, searchAction: function (inSender, inEvent) { + var execution = OB.UTIL.ProcessController.start('searchCustomerAddress'); var me = this, criteria = {}, filter = inEvent.locName; @@ -765,6 +766,7 @@ criteria.remoteFilters = remoteCriteria; } OB.Dal.find(OB.Model.BPLocation, criteria, successCallbackBPsLoc, errorCallback); + OB.UTIL.ProcessController.finish('searchCustomerAddress', execution); return true; }, bpsList: null, diff -r bbbe22655371 web/org.openbravo.retail.posterminal/js/components/bplocationship.js --- a/web/org.openbravo.retail.posterminal/js/components/bplocationship.js Wed Nov 14 10:09:02 2018 +0100 +++ b/web/org.openbravo.retail.posterminal/js/components/bplocationship.js Mon Dec 10 12:28:59 2018 +0100 @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2017 Openbravo S.L.U. + * Copyright (C) 2012-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -58,6 +58,7 @@ return true; }, searchAction: function (inSender, inEvent) { + var execution = OB.UTIL.ProcessController.start('searchCustomerAddress'); var me = this, criteria = {}, filter = inEvent.locName; @@ -107,6 +108,7 @@ criteria.remoteFilters = remoteCriteria; } OB.Dal.find(OB.Model.BPLocation, criteria, successCallbackBPsLoc, errorCallback); + OB.UTIL.ProcessController.finish('searchCustomerAddress', execution); return true; }, bpsList: null, diff -r bbbe22655371 web/org.openbravo.retail.posterminal/js/components/businesspartner_selector.js --- a/web/org.openbravo.retail.posterminal/js/components/businesspartner_selector.js Wed Nov 14 10:09:02 2018 +0100 +++ b/web/org.openbravo.retail.posterminal/js/components/businesspartner_selector.js Mon Dec 10 12:28:59 2018 +0100 @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2016-2017 Openbravo S.L.U. + * Copyright (C) 2016-2018 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -480,6 +480,7 @@ return true; }, searchAction: function (inSender, inEvent) { + var execution = OB.UTIL.ProcessController.start('searchCustomer'); var me = this; if (OB.MobileApp.model.hasPermission('OBPOS_retail.createCustomerButton', true)) { @@ -671,7 +672,7 @@ } OB.Dal.query(OB.Model.BPartnerFilter, select + orderby, params, successCallbackBPs, errorCallback, null, null, limit); } - + OB.UTIL.ProcessController.finish('searchCustomer', execution); return true; }, bpsList: null, diff -r bbbe22655371 web/org.openbravo.retail.posterminal/js/login/model/login-model.js --- a/web/org.openbravo.retail.posterminal/js/login/model/login-model.js Wed Nov 14 10:09:02 2018 +0100 +++ b/web/org.openbravo.retail.posterminal/js/login/model/login-model.js Mon Dec 10 12:28:59 2018 +0100 @@ -332,6 +332,17 @@ } }); + // move terminal log model to the end of models to sync since has less priority + var i, indexTerminalLogModel = -1; + for (i = 0; i < this.get('dataSyncModels').length; i++) { + if (this.get('dataSyncModels')[i].name === "OBMOBC_TerminalLog") { + indexTerminalLogModel = i; + } + } + if (indexTerminalLogModel !== -1) { + this.get('dataSyncModels').push(this.get('dataSyncModels').splice(indexTerminalLogModel, 1)[0]); + } + this.on('ready', function () { OB.debug("next process: 'retail.pointofsale' window"); if (this.get('terminal').currencyFormat) { @@ -453,7 +464,6 @@ OB.UTIL.HookManager.executeHooks('OBPOS_PreSynchData', {}, function () { OB.debug('runSyncProcess: synchronize all models'); OB.MobileApp.model.syncAllModels(function () { - OB.info('runSyncProcess: synchronization successfully done'); executeCallbacks(true, me.get('syncProcessCallbacks'), function () { me.pendingSyncProcess = false; }); @@ -532,7 +542,7 @@ }, postSyncProcessActions: function () { - if (OB.MobileApp.model.get('context').user && _.isUndefined(OB.MobileApp.model.get('context').user.isSalesRepresentative)) { + if (OB.MobileApp.model.get('context') && OB.MobileApp.model.get('context').user && _.isUndefined(OB.MobileApp.model.get('context').user.isSalesRepresentative)) { OB.Dal.get(OB.Model.SalesRepresentative, OB.MobileApp.model.usermodel.get('id'), function (salesrepresentative) { if (!salesrepresentative) { OB.MobileApp.model.get('context').user.isSalesRepresentative = false; diff -r bbbe22655371 web/org.openbravo.retail.posterminal/js/model/order.js --- a/web/org.openbravo.retail.posterminal/js/model/order.js Wed Nov 14 10:09:02 2018 +0100 +++ b/web/org.openbravo.retail.posterminal/js/model/order.js Mon Dec 10 12:28:59 2018 +0100 @@ -1046,6 +1046,7 @@ clearWith: function (_order) { var execution = OB.UTIL.ProcessController.start('clearWith'); + // verify that the clearWith is not used for any other purpose than to update and fire the events of the UI receipt OB.UTIL.Debug.execute(function () { var isTheUIReceipt = this.cid === OB.MobileApp.model.receipt.cid; @@ -6543,6 +6544,7 @@ } }, loadCurrent: function (isNew) { + OB.MobileApp.model.set('terminalLogContext', this.current.get('documentNo')); // Check if the current order to be loaded should be deleted if (this.current.get('obposIsDeleted') && this.current.get('id')) { var deletedOrderDocNo = this.current.get('documentNo'); @@ -6970,19 +6972,23 @@ } }, addPayment: function (payment, callback) { + var execution = OB.UTIL.ProcessController.start('addPayment'); var i, max, p, order, payments, total, finalCallback; if (!OB.DEC.isNumber(payment.get('amount'))) { OB.UTIL.showWarning(OB.I18N.getLabel('OBPOS_MsgPaymentAmountError')); + OB.UTIL.ProcessController.finish('addPayment', execution); return; } if (this.stopAddingPayments) { OB.UTIL.showWarning(OB.I18N.getLabel('OBPOS_CannotAddPayments')); + OB.UTIL.ProcessController.finish('addPayment', execution); return; } if (!payment.get('isReversePayment') && this.getPending() <= 0 && payment.get('amount') > 0) { OB.UTIL.showWarning(OB.I18N.getLabel('OBPOS_PaymentsExact')); + OB.UTIL.ProcessController.finish('addPayment', execution); return; } @@ -7012,6 +7018,7 @@ if (args && args.cancellation) { executeFinalCallback(); + OB.UTIL.ProcessController.finish('addPayment', execution); return; } @@ -7029,6 +7036,7 @@ order.adjustPayment(); order.trigger('displayTotal'); executeFinalCallback(); + OB.UTIL.ProcessController.finish('addPayment', execution); return; } } @@ -7044,6 +7052,7 @@ order.adjustPayment(); order.trigger('displayTotal'); executeFinalCallback(); + OB.UTIL.ProcessController.finish('addPayment', execution); return; } } @@ -7058,6 +7067,7 @@ order.adjustPayment(); order.trigger('displayTotal'); executeFinalCallback(); + OB.UTIL.ProcessController.finish('addPayment', execution); return; }); }, | |||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Notes | |
(0108147) hgbot (developer) 2018-11-28 14:29 |
Repository: erp/devel/pi Changeset: 9045f47e9ae714123a3bd79f58beeb72ff50be77 Author: Gorka Gil <gorka.gil <at> openbravo.com> Date: Wed Nov 28 13:52:50 2018 +0100 URL: http://code.openbravo.com/erp/devel/pi/rev/9045f47e9ae714123a3bd79f58beeb72ff50be77 [^] [TerminalLog] Related to issue 39360: Add Terminal Log project Implement the ability in the import entry processor to skip the archiving per entry type --- M src/org/openbravo/service/importprocess/ImportEntryArchiveManager.java M src/org/openbravo/service/importprocess/ImportEntryProcessor.java --- |
(0108148) hgbot (developer) 2018-11-28 14:29 |
Repository: tools/automation/pi-mobile Changeset: 390c13cdc1d050b7517114db795de239092cbea1 Author: Gorka Gil <gorka.gil <at> openbravo.com> Date: Wed Nov 28 13:56:44 2018 +0100 URL: http://code.openbravo.com/tools/automation/pi-mobile/rev/390c13cdc1d050b7517114db795de239092cbea1 [^] [TerminalLog] Related to issue 39360: Add Terminal Log project Fix tests: - I30412_QuotationsAndPromotions.java - I33307_VerifyLoginUserWithTwoDistinctRoles.java Disable some SharedPaymentMethods till issue 39691 is fixed. --- M src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/discountsandpromotions/I30412_QuotationsAndPromotions.java M src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/loginout/I33307_VerifyLoginUserWithTwoDistinctRoles.java M src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/sharedpaymentmethods/I31591_VerifySharePaymentsCashup.java M src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/sharedpaymentmethods/I35901_SPMVerifyErrorPopupInSlave.java M src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/sharedpaymentmethods/SPMMulticurrencyPayInEURUSD.java M src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/sharedpaymentmethods/SPMNeedToCloseMaster.java M src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/sharedpaymentmethods/SPMQuotationSharedPayments.java M src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/sharedpaymentmethods/SPMSaleAndReloadSharedPayments.java --- |
(0108150) hgbot (developer) 2018-11-28 14:32 |
Repository: erp/pmods/org.openbravo.mobile.core Changeset: 1392001fae5266678b988e6d34f0550a9da81209 Author: Gorka Gil <gorka.gil <at> openbravo.com> Date: Wed Nov 28 13:35:27 2018 +0100 URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/1392001fae5266678b988e6d34f0550a9da81209 [^] [TerminalLog] Related to issue 39360: Added Terminal log project - From this commit, it will be logged: - User actions: all click and key pressed - start and finish of web pos processes - The way that works is: - All events are saved in ram - There is a backup process that take a backup to local storage each sec (by default) - When closing the window or pressing F5 it should take a local backup - There is another process each 30 secs that creates an entry in the models to be synchronized by runsyncprocess - The next runsyncprocess will sync the terminal log. - The model of terminal log is the last to be synchronized in a runsyncprocess - Note: the old log client is still synchronized in each own way. - logclient table - loglevel column: make it reference list - as consecuence it goes from a string of 255 char to 60 char - values: - Functional - User action - Technical - Process - Technical - Info - Technical - Warn - Technical - Error - Added columns: - context : contains the context in which has been created the log line, like pos window or documentno - tstamp : contains the timestamp with miliseconds, usefull for sorting since created column don't have miliseconds and can not be added - Added many indexes - Rename "log client" window in erp to "terminal log" (db table remains logclient) - Added grid configuration to terminal log window, to only allow actions that are indexed - The inserts in the table are done with xsql instead of dal, becasue dal don't allow to modify the created column and for avoid to do an inserte and update per line. - Modify the log client to also fill the context and tstamp columns. - Preferences: - Disable user actions log : OBMOBC_EnableTerminalLogUserActions - Disable processes log : OBMOBC_EnableTerminalLogProcess - Interval to create package to be synchronized by runsynprocess (by default 30 secs): OBMOBC_TerminalLogSyncInterval - Interval to create backups inside web pos in case of F5 or similar (by default 1 sec): OBMOBC_TerminalLogBackupInterval - Mobile processes: - Add new column to indicate if this process should be logged or not - Deleted human log, since this project replaces it --- M src-db/database/model/tables/OBMOBC_LOGCLIENT.xml M src-db/database/model/tables/OBMOBC_PROCESS_DEFINITION.xml M src-db/database/sourcedata/AD_COLUMN.xml M src-db/database/sourcedata/AD_DATASET.xml M src-db/database/sourcedata/AD_DATASET_TABLE.xml M src-db/database/sourcedata/AD_ELEMENT.xml M src-db/database/sourcedata/AD_FIELD.xml M src-db/database/sourcedata/AD_MENU.xml M src-db/database/sourcedata/AD_PREFERENCE.xml M src-db/database/sourcedata/AD_REFERENCE.xml M src-db/database/sourcedata/AD_REF_LIST.xml M src-db/database/sourcedata/AD_TAB.xml M src-db/database/sourcedata/AD_WINDOW.xml M src-db/database/sourcedata/OBMOBC_PROCESS_DEFINITION.xml M src-db/database/sourcedata/OBMOBC_SERVICES.xml M src/org/openbravo/mobile/core/MobileCoreComponentProvider.java M src/org/openbravo/mobile/core/login/MobileCoreLoginUtilsServlet.java M src/org/openbravo/mobile/core/utils/LogClientLoader.java M web/org.openbravo.mobile.core/source/component/ob-commonbuttons.js M web/org.openbravo.mobile.core/source/model/logclient.js M web/org.openbravo.mobile.core/source/model/ob-terminal-model.js M web/org.openbravo.mobile.core/source/retail/component/ob-retail-searchproductcharacteristic.js M web/org.openbravo.mobile.core/source/utils/ob-dom-extension.js M web/org.openbravo.mobile.core/source/utils/ob-processcontroller.js M web/org.openbravo.mobile.core/source/utils/ob-utilities.js M web/org.openbravo.mobile.core/source/utils/ob-utilitiesui.js A referencedata/standard/Obmobc_logclient_grid_config.xml A src/org/openbravo/mobile/core/TerminalLogLoader.java A src/org/openbravo/mobile/core/UserEventLoaderQueries_data.xsql A src/org/openbravo/mobile/core/importprocess/TerminalLogImportEntryProcessor.java A web/org.openbravo.mobile.core/source/model/terminal-log.js A web/org.openbravo.mobile.core/source/utils/ob-terminal-log.js A web/org.openbravo.mobile.core/source/utils/terminal-log-sync-utils.js R web/org.openbravo.mobile.core/source/utils/ob-loghumanaction.js --- |
(0108151) hgbot (developer) 2018-11-28 14:33 |
Repository: erp/pmods/org.openbravo.retail.posterminal Changeset: 3d551a331438b15bf9150a24711d9352127356b6 Author: Gorka Gil <gorka.gil <at> openbravo.com> Date: Wed Nov 28 13:44:12 2018 +0100 URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/3d551a331438b15bf9150a24711d9352127356b6 [^] [TerminalLog] Related to issue 39360: Add terminal log project - Created mobile processes: - addPayment - searchProduct - searchCustomer - searchCustomerAddress - Reorder models to sync: move the terminal log model to end since has the less priority - When load an order set the context to the order documentno --- M src-db/database/sourcedata/OBMOBC_PROCESS_DEFINITION.xml M web/org.openbravo.retail.posterminal/js/components/bplocation.js M web/org.openbravo.retail.posterminal/js/components/bplocationship.js M web/org.openbravo.retail.posterminal/js/components/businesspartner_selector.js M web/org.openbravo.retail.posterminal/js/login/model/login-model.js M web/org.openbravo.retail.posterminal/js/model/order.js --- |
(0108190) hgbot (developer) 2018-11-30 13:22 |
Repository: erp/pmods/org.openbravo.mobile.core Changeset: a0d858f8db7814789897aefd7a2f4fe96a348739 Author: Gorka Gil <gorka.gil <at> openbravo.com> Date: Fri Nov 30 13:21:53 2018 +0100 URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/a0d858f8db7814789897aefd7a2f4fe96a348739 [^] [TerminalLog] Related to issue 39360: Change terminal log import entry to don't use posterminal classes --- M src/org/openbravo/mobile/core/TerminalLogLoader.java M src/org/openbravo/mobile/core/importprocess/TerminalLogImportEntryProcessor.java --- |
(0108192) hgbot (developer) 2018-11-30 14:58 |
Repository: tools/automation/pi-mobile Changeset: 7ba0ebd347f3303ef0650d6bc52f279795008db4 Author: Gorka Gil <gorka.gil <at> openbravo.com> Date: Fri Nov 30 14:58:18 2018 +0100 URL: http://code.openbravo.com/tools/automation/pi-mobile/rev/7ba0ebd347f3303ef0650d6bc52f279795008db4 [^] [TerminalLog] Related to issue 39360: Disable some SharedPaymentMethods tests till issue 39691 is fixed --- M src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/sharedpaymentmethods/I31822_SPMQuotationSharedPayments.java M src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/sharedpaymentmethods/SPMDiscountsWithPriceIncludeTaxes.java M src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/sharedpaymentmethods/SPMDiscountsWithoutPriceIncludeTaxes.java --- |
(0108194) hgbot (developer) 2018-11-30 15:07 |
Repository: erp/pmods/org.openbravo.mobile.core Changeset: 01d5bef9c9516b7aa1228e861ff7fa41b637e4f6 Author: Gorka Gil <gorka.gil <at> openbravo.com> Date: Fri Nov 30 15:07:12 2018 +0100 URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/01d5bef9c9516b7aa1228e861ff7fa41b637e4f6 [^] [TerminalLog] Related to issue 39360: Fix license --- M src/org/openbravo/mobile/core/UserEventLoaderQueries_data.xsql --- |
(0108207) hgbot (developer) 2018-12-01 20:51 |
Repository: erp/pmods/org.openbravo.mobile.core Changeset: 8ef9cd2bbbeeecf5cfa420e1162f449e4c674f2c Author: Antonio Moreno <antonio.moreno <at> openbravo.com> Date: Sat Dec 01 20:51:37 2018 +0100 URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/8ef9cd2bbbeeecf5cfa420e1162f449e4c674f2c [^] Related to issue 39360. Message related to non-defined form in class should not be warn but debug, similar to the same message related to the security preference --- M src/org/openbravo/mobile/core/process/SecuredJSONProcess.java --- |
(0108383) gorka_gil (administrator) 2018-12-11 11:27 |
Attached patches for 18q3: - terminallog-q3-erp.diff - terminallog-q3-mobilecore.diff - terminallog-q3-posterminal.diff |
(0108504) hudsonbot (developer) 2018-12-11 20:22 |
A changeset related to this issue has been promoted main and to the Central Repository, after passing a series of tests. Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/470e3cd384c5 [^] Maturity status: Test |
(0108558) hgbot (developer) 2018-12-12 16:55 |
Repository: erp/pmods/org.openbravo.mobile.core Changeset: 4bd4a7bada88d897f3a5bedf21e95042fcd7d361 Author: Gorka Gil <gorka.gil <at> openbravo.com> Date: Mon Dec 10 18:02:53 2018 +0100 URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/4bd4a7bada88d897f3a5bedf21e95042fcd7d361 [^] Related to issue 39360: Code review - Do not change the physical order of column loglevel in OBMOBC_LOGCLIENT table - Add check Y/N to new column TERMINALLOG of table OBMOBC_PROCESS_DEFINITION - Use the new log4j2 in TerminalLogLoader --- M src-db/database/model/tables/OBMOBC_LOGCLIENT.xml M src-db/database/model/tables/OBMOBC_PROCESS_DEFINITION.xml M src/org/openbravo/mobile/core/TerminalLogLoader.java --- |
(0108585) hgbot (developer) 2018-12-13 14:03 |
Repository: erp/pmods/org.openbravo.mobile.core Changeset: 2ce7a00d14aef4378e42ec31a098315a3ba62fb9 Author: Gorka Gil <gorka.gil <at> openbravo.com> Date: Thu Dec 13 13:37:24 2018 +0100 URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/2ce7a00d14aef4378e42ec31a098315a3ba62fb9 [^] [TerminalLog] Related to issue 39360: Initialize terminal log model It was failing when changing terminal, for example test: I36010_PayCertificateTicketOtherTerminal --- M web/org.openbravo.mobile.core/source/utils/ob-terminal-log.js --- |
Issue History | |||
Date Modified | Username | Field | Change |
2018-09-27 12:51 | gorka_gil | New Issue | |
2018-09-27 12:51 | gorka_gil | Assigned To | => Retail |
2018-09-27 12:51 | gorka_gil | Triggers an Emergency Pack | => No |
2018-09-27 12:51 | gorka_gil | Assigned To | Retail => gorka_gil |
2018-09-27 12:51 | gorka_gil | Status | new => scheduled |
2018-11-27 10:47 | caristu | Relationship added | related to 0039699 |
2018-11-28 14:29 | hgbot | Checkin | |
2018-11-28 14:29 | hgbot | Note Added: 0108147 | |
2018-11-28 14:29 | hgbot | Checkin | |
2018-11-28 14:29 | hgbot | Note Added: 0108148 | |
2018-11-28 14:32 | hgbot | Checkin | |
2018-11-28 14:32 | hgbot | Note Added: 0108150 | |
2018-11-28 14:33 | hgbot | Checkin | |
2018-11-28 14:33 | hgbot | Note Added: 0108151 | |
2018-11-28 17:40 | gorka_gil | Status | scheduled => resolved |
2018-11-28 17:40 | gorka_gil | Resolution | open => fixed |
2018-11-30 13:22 | hgbot | Checkin | |
2018-11-30 13:22 | hgbot | Note Added: 0108190 | |
2018-11-30 14:58 | hgbot | Checkin | |
2018-11-30 14:58 | hgbot | Note Added: 0108192 | |
2018-11-30 15:06 | alostale | Relationship added | causes 0039725 |
2018-11-30 15:07 | hgbot | Checkin | |
2018-11-30 15:07 | hgbot | Note Added: 0108194 | |
2018-12-01 20:51 | hgbot | Checkin | |
2018-12-01 20:51 | hgbot | Note Added: 0108207 | |
2018-12-11 11:25 | gorka_gil | File Added: terminallog-q3-erp.diff | |
2018-12-11 11:25 | gorka_gil | File Added: terminallog-q3-mobilecore.diff | |
2018-12-11 11:26 | gorka_gil | File Added: terminallog-q3-posterminal.diff | |
2018-12-11 11:27 | gorka_gil | Note Added: 0108383 | |
2018-12-11 20:22 | hudsonbot | Checkin | |
2018-12-11 20:22 | hudsonbot | Note Added: 0108504 | |
2018-12-12 16:55 | hgbot | Checkin | |
2018-12-12 16:55 | hgbot | Note Added: 0108558 | |
2018-12-13 10:21 | marvintm | Review Assigned To | => marvintm |
2018-12-13 10:21 | marvintm | Status | resolved => closed |
2018-12-13 10:21 | marvintm | Fixed in Version | => RR19Q1 |
2018-12-13 14:03 | hgbot | Checkin | |
2018-12-13 14:03 | hgbot | Note Added: 0108585 | |
2019-01-16 18:42 | gorka_gil | Relationship added | related to 0039968 |
2019-01-29 18:55 | gorka_gil | Relationship added | causes 0040054 |
2019-06-18 12:31 | gorka_gil | Relationship added | related to 0041118 |
2019-06-18 12:31 | gorka_gil | Summary | Improve log client with cashier actions and processes start/end info => Terminal Log: Improve log client with cashier actions and processes start/end info |
2019-06-18 12:34 | gorka_gil | Summary | Terminal Log: Improve log client with cashier actions and processes start/end info => Terminal Log : Improve log client with cashier actions and processes start/end info |
2019-06-26 16:07 | gorka_gil | Relationship added | related to 0041184 |
Copyright © 2000 - 2009 MantisBT Group |