diff --git a/migration/i2.0/oracle/201311201053_IDEMPIERE-1541.sql b/migration/i2.0/oracle/201311201053_IDEMPIERE-1541.sql new file mode 100644 index 0000000000..6810dc2cf4 --- /dev/null +++ b/migration/i2.0/oracle/201311201053_IDEMPIERE-1541.sql @@ -0,0 +1,11 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- 20/11/2013 10:53:00 AM COT +-- IDEMPIERE-1541 missing translation - mini calendar - more +INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','more',200239,'D','ce211d63-ece3-4ac8-bd30-c2d3456527c0','more','Y',TO_DATE('2013-11-20 10:52:59','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_DATE('2013-11-20 10:52:59','YYYY-MM-DD HH24:MI:SS'),0) +; + +SELECT register_migration_script('201311201053_IDEMPIERE-1541.sql') FROM dual +; + diff --git a/migration/i2.0/oracle/201311221611_IDEMPIERE-325.sql b/migration/i2.0/oracle/201311221611_IDEMPIERE-325.sql new file mode 100644 index 0000000000..b37fca5b85 --- /dev/null +++ b/migration/i2.0/oracle/201311221611_IDEMPIERE-325.sql @@ -0,0 +1,23 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Nov 22, 2013 3:55:16 PM COT +-- IDEMPIERE-325 Complete AD based info window +INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,AD_Window_ID,SeqNo,IsTranslationTab,IsSortTab,AD_Table_ID,HasTree,IsInfoTab,IsReadOnly,AD_Column_ID,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Client_ID) VALUES ('N','N','Y',151,50,'N','N',897,'N','N','Y',15790,'N','N',1,'9bad0b5e-9dc9-421f-9156-c6ee736f6f46','D','Used in Info Column',200113,0,TO_DATE('2013-11-22 15:55:06','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-11-22 15:55:06','YYYY-MM-DD HH24:MI:SS'),100,'Y',0) +; + +-- Nov 22, 2013 3:58:20 PM COT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField) VALUES (0,'N',200113,14,'N','N',15784,10,'Y',202536,'Y','The Info window is used to search and select records as well as display information relevant to the selection.','D','Info and search/select Window','Info Window','6ca76b42-60e2-42fd-b0da-d1139bcc2dbf','Y','N',100,0,TO_DATE('2013-11-22 15:58:11','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-11-22 15:58:11','YYYY-MM-DD HH24:MI:SS'),'Y','Y',10,1,'N',0,2,1,'N') +; + +-- Nov 22, 2013 4:00:15 PM COT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Reference_ID,EntityType,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField) VALUES (0,'N',200113,10,'N','N',15773,20,'Y',202537,'Y','Column in the Info Window for display and/or selection. If used for selection, the column cannot be a SQL expression. The SQL clause must be fully qualified based on the FROM clause in the Info Window definition',19,'D','Info Window Column','Info Column','77dbd70f-6abb-4853-8d4d-f500e69d6bf6','Y','N',100,0,TO_DATE('2013-11-22 16:00:07','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-11-22 16:00:07','YYYY-MM-DD HH24:MI:SS'),'Y','Y',20,1,'N',0,2,1,'N') +; + +-- Nov 22, 2013 4:01:08 PM COT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField) VALUES (0,'N',200113,10,'N','N',208350,30,'Y',202538,'N','The Column Name indicates the name of a column on a table as defined in the database.','D','Name of the column in the database','DB Column Name','fbf25dc2-a23a-481b-8578-73d6e3ed4fcb','Y','N',100,0,TO_DATE('2013-11-22 16:01:00','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-11-22 16:01:00','YYYY-MM-DD HH24:MI:SS'),'Y','Y',30,4,'N',0,2,1,'N') +; + +SELECT register_migration_script('201311221611_IDEMPIERE-325.sql') FROM dual +; + diff --git a/migration/i2.0/postgresql/201311201053_IDEMPIERE-1541.sql b/migration/i2.0/postgresql/201311201053_IDEMPIERE-1541.sql new file mode 100644 index 0000000000..69e9bf2202 --- /dev/null +++ b/migration/i2.0/postgresql/201311201053_IDEMPIERE-1541.sql @@ -0,0 +1,8 @@ +-- 20/11/2013 10:53:00 AM COT +-- IDEMPIERE-1541 missing translation - mini calendar - more +INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','more',200239,'D','ce211d63-ece3-4ac8-bd30-c2d3456527c0','more','Y',TO_TIMESTAMP('2013-11-20 10:52:59','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_TIMESTAMP('2013-11-20 10:52:59','YYYY-MM-DD HH24:MI:SS'),0) +; + +SELECT register_migration_script('201311201053_IDEMPIERE-1541.sql') FROM dual +; + diff --git a/migration/i2.0/postgresql/201311221611_IDEMPIERE-325.sql b/migration/i2.0/postgresql/201311221611_IDEMPIERE-325.sql new file mode 100644 index 0000000000..042027a224 --- /dev/null +++ b/migration/i2.0/postgresql/201311221611_IDEMPIERE-325.sql @@ -0,0 +1,20 @@ +-- Nov 22, 2013 3:55:16 PM COT +-- IDEMPIERE-325 Complete AD based info window +INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,AD_Window_ID,SeqNo,IsTranslationTab,IsSortTab,AD_Table_ID,HasTree,IsInfoTab,IsReadOnly,AD_Column_ID,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Client_ID) VALUES ('N','N','Y',151,50,'N','N',897,'N','N','Y',15790,'N','N',1,'9bad0b5e-9dc9-421f-9156-c6ee736f6f46','D','Used in Info Column',200113,0,TO_TIMESTAMP('2013-11-22 15:55:06','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-11-22 15:55:06','YYYY-MM-DD HH24:MI:SS'),100,'Y',0) +; + +-- Nov 22, 2013 3:58:20 PM COT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField) VALUES (0,'N',200113,14,'N','N',15784,10,'Y',202536,'Y','The Info window is used to search and select records as well as display information relevant to the selection.','D','Info and search/select Window','Info Window','6ca76b42-60e2-42fd-b0da-d1139bcc2dbf','Y','N',100,0,TO_TIMESTAMP('2013-11-22 15:58:11','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-11-22 15:58:11','YYYY-MM-DD HH24:MI:SS'),'Y','Y',10,1,'N',0,2,1,'N') +; + +-- Nov 22, 2013 4:00:15 PM COT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,AD_Reference_ID,EntityType,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField) VALUES (0,'N',200113,10,'N','N',15773,20,'Y',202537,'Y','Column in the Info Window for display and/or selection. If used for selection, the column cannot be a SQL expression. The SQL clause must be fully qualified based on the FROM clause in the Info Window definition',19,'D','Info Window Column','Info Column','77dbd70f-6abb-4853-8d4d-f500e69d6bf6','Y','N',100,0,TO_TIMESTAMP('2013-11-22 16:00:07','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-11-22 16:00:07','YYYY-MM-DD HH24:MI:SS'),'Y','Y',20,1,'N',0,2,1,'N') +; + +-- Nov 22, 2013 4:01:08 PM COT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField) VALUES (0,'N',200113,10,'N','N',208350,30,'Y',202538,'N','The Column Name indicates the name of a column on a table as defined in the database.','D','Name of the column in the database','DB Column Name','fbf25dc2-a23a-481b-8578-73d6e3ed4fcb','Y','N',100,0,TO_TIMESTAMP('2013-11-22 16:01:00','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-11-22 16:01:00','YYYY-MM-DD HH24:MI:SS'),'Y','Y',30,4,'N',0,2,1,'N') +; + +SELECT register_migration_script('201311221611_IDEMPIERE-325.sql') FROM dual +; + diff --git a/migration/processes_post_migration/oracle/02_SynchronizeTerminology.sql b/migration/processes_post_migration/oracle/02_SynchronizeTerminology.sql index 94bc083d03..24650ecdae 100644 --- a/migration/processes_post_migration/oracle/02_SynchronizeTerminology.sql +++ b/migration/processes_post_migration/oracle/02_SynchronizeTerminology.sql @@ -6,10 +6,10 @@ INSERT INTO AD_ELEMENT_TRL (AD_Element_ID, AD_LANGUAGE, AD_Client_ID, AD_Org_ID, UPDATE AD_COLUMN c SET AD_Element_id = (SELECT AD_Element_ID FROM AD_ELEMENT e WHERE UPPER(c.ColumnName)=UPPER(e.ColumnName)) WHERE AD_Element_ID IS NULL ; -DELETE AD_ELEMENT_TRL WHERE AD_Element_ID >= 1000000 AND AD_Element_ID IN (SELECT AD_Element_ID FROM AD_ELEMENT e WHERE NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName))) +DELETE AD_ELEMENT_TRL WHERE AD_Element_ID >= 1000000 AND AD_Element_ID IN (SELECT AD_Element_ID FROM AD_ELEMENT e WHERE NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(e.ColumnName)=UPPER(i.ColumnName))) ; -DELETE AD_ELEMENT e WHERE AD_Element_ID >= 1000000 AND NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName)) +DELETE AD_ELEMENT e WHERE AD_Element_ID >= 1000000 AND NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(e.ColumnName)=UPPER(i.ColumnName)) ; UPDATE AD_COLUMN c SET (ColumnName, Name, Description, Help) = (SELECT ColumnName, Name, Description, Help FROM AD_ELEMENT e WHERE c.AD_Element_ID=e.AD_Element_ID), Updated = SYSDATE WHERE EXISTS (SELECT 1 FROM AD_ELEMENT e WHERE c.AD_Element_ID=e.AD_Element_ID AND (c.ColumnName <> e.ColumnName OR c.Name <> e.Name OR NVL(c.Description,' ') <> NVL(e.Description,' ') OR NVL(c.Help,' ') <> NVL(e.Help,' '))) diff --git a/migration/processes_post_migration/postgresql/02_SynchronizeTerminology.sql b/migration/processes_post_migration/postgresql/02_SynchronizeTerminology.sql index eb055b67f0..3f7436df17 100644 --- a/migration/processes_post_migration/postgresql/02_SynchronizeTerminology.sql +++ b/migration/processes_post_migration/postgresql/02_SynchronizeTerminology.sql @@ -6,10 +6,10 @@ INSERT INTO AD_ELEMENT_TRL (AD_Element_ID, AD_LANGUAGE, AD_Client_ID, AD_Org_ID, UPDATE AD_COLUMN SET AD_Element_id = (SELECT AD_Element_ID FROM AD_ELEMENT e WHERE UPPER(AD_COLUMN.ColumnName)=UPPER(e.ColumnName)) WHERE AD_Element_ID IS NULL ; -DELETE FROM AD_ELEMENT_TRL WHERE AD_Element_ID >= 1000000 AND AD_Element_ID IN (SELECT AD_Element_ID FROM AD_ELEMENT e WHERE NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName))) +DELETE FROM AD_ELEMENT_TRL WHERE AD_Element_ID >= 1000000 AND AD_Element_ID IN (SELECT AD_Element_ID FROM AD_ELEMENT e WHERE NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(e.ColumnName)=UPPER(i.ColumnName))) ; -DELETE FROM AD_ELEMENT WHERE AD_Element_ID >= 1000000 AND NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(AD_ELEMENT.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(AD_ELEMENT.ColumnName)=UPPER(p.ColumnName)) +DELETE FROM AD_ELEMENT WHERE AD_Element_ID >= 1000000 AND NOT EXISTS (SELECT 1 FROM AD_COLUMN c WHERE UPPER(AD_ELEMENT.ColumnName)=UPPER(c.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(AD_ELEMENT.ColumnName)=UPPER(p.ColumnName)) AND NOT EXISTS (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(AD_ELEMENT.ColumnName)=UPPER(i.ColumnName)) ; UPDATE AD_COLUMN SET ColumnName=e.ColumnName,Name=e.Name,Description=e.Description,Help=e.Help, Updated = statement_timestamp() FROM AD_ELEMENT e WHERE AD_COLUMN.AD_Element_ID=e.AD_Element_ID AND EXISTS (SELECT 1 FROM AD_ELEMENT e WHERE AD_COLUMN.AD_Element_ID=e.AD_Element_ID AND (AD_COLUMN.ColumnName <> e.ColumnName OR AD_COLUMN.Name <> e.Name OR COALESCE(AD_COLUMN.Description,' ') <> COALESCE(e.Description,' ') OR COALESCE(AD_COLUMN.Help,' ') <> COALESCE(e.Help,' '))) diff --git a/org.adempiere.base.process/src/org/adempiere/process/InOutGenerateRMA.java b/org.adempiere.base.process/src/org/adempiere/process/InOutGenerateRMA.java index 553dfb2181..5abc47d3a2 100644 --- a/org.adempiere.base.process/src/org/adempiere/process/InOutGenerateRMA.java +++ b/org.adempiere.base.process/src/org/adempiere/process/InOutGenerateRMA.java @@ -265,8 +265,7 @@ public class InOutGenerateRMA extends SvrProcess } // Add processing information to process log - addLog(shipment.getM_InOut_ID(), shipment.getMovementDate(), null, processMsg.toString(),shipment.get_Table_ID(),shipment.getM_InOut_ID() -); + addBufferLog(shipment.getM_InOut_ID(), shipment.getMovementDate(), null, processMsg.toString(),shipment.get_Table_ID(),shipment.getM_InOut_ID()); m_created++; } diff --git a/org.adempiere.base.process/src/org/adempiere/process/InvoiceGenerateRMA.java b/org.adempiere.base.process/src/org/adempiere/process/InvoiceGenerateRMA.java index d5a2e4e089..3d31ad9641 100644 --- a/org.adempiere.base.process/src/org/adempiere/process/InvoiceGenerateRMA.java +++ b/org.adempiere.base.process/src/org/adempiere/process/InvoiceGenerateRMA.java @@ -216,7 +216,7 @@ public class InvoiceGenerateRMA extends SvrProcess // Add processing information to process log String message = Msg.parseTranslation(getCtx(), "@InvoiceProcessed@ " + processMsg.toString()); - addLog(invoice.getC_Invoice_ID(), invoice.getDateInvoiced(), null, message, invoice.get_Table_ID(), invoice.getC_Invoice_ID()); + addBufferLog(invoice.getC_Invoice_ID(), invoice.getDateInvoiced(), null, message, invoice.get_Table_ID(), invoice.getC_Invoice_ID()); m_created++; } } diff --git a/org.adempiere.base.process/src/org/compiere/process/AllocationAuto.java b/org.adempiere.base.process/src/org/compiere/process/AllocationAuto.java index a6317bf9a5..a4d724a121 100644 --- a/org.adempiere.base.process/src/org/compiere/process/AllocationAuto.java +++ b/org.adempiere.base.process/src/org/compiere/process/AllocationAuto.java @@ -399,7 +399,7 @@ public class AllocationAuto extends SvrProcess if (payment.allocateIt()) { String message = Msg.parseTranslation(getCtx(), "@PaymentAllocated@ " + payment.getDocumentNo() + " [1]"); - addLog(0, payment.getDateAcct(), openAmt, message, payment.get_Table_ID(), payment.getC_Payment_ID()); + addBufferLog(0, payment.getDateAcct(), openAmt, message, payment.get_Table_ID(), payment.getC_Payment_ID()); count++; } break; @@ -444,7 +444,7 @@ public class AllocationAuto extends SvrProcess if (payment.allocateIt()) { String message = Msg.parseTranslation(getCtx(), "@PaymentAllocated@ " + payment.getDocumentNo() + " [n]"); - addLog(0, payment.getDateAcct(), availableAmt, message); + addBufferLog(0, payment.getDateAcct(), availableAmt, message, payment.get_Table_ID(), payment.getC_Payment_ID()); count++; } } diff --git a/org.adempiere.base.process/src/org/compiere/process/BOMFlagValidate.java b/org.adempiere.base.process/src/org/compiere/process/BOMFlagValidate.java index 79ead59e46..7a6fa478dd 100644 --- a/org.adempiere.base.process/src/org/compiere/process/BOMFlagValidate.java +++ b/org.adempiere.base.process/src/org/compiere/process/BOMFlagValidate.java @@ -64,7 +64,7 @@ public class BOMFlagValidate extends SvrProcess { while (rs.next()) { StringBuilder msglog=new StringBuilder().append(rs.getString(1)).append(" BOM without BOM lines"); - addLog(0, null, null, msglog.toString(), MProduct.Table_ID, rs.getInt(2)); + addBufferLog(0, null, null, msglog.toString(), MProduct.Table_ID, rs.getInt(2)); } } catch (SQLException e) { throw e; @@ -120,7 +120,7 @@ public class BOMFlagValidate extends SvrProcess { while (rs.next()) { StringBuilder msglog = new StringBuilder().append(rs.getString(1)).append(" not BOM with BOM lines"); - addLog(0, null, null, msglog.toString(), MProduct.Table_ID, rs.getInt(2)); + addBufferLog(0, null, null, msglog.toString(), MProduct.Table_ID, rs.getInt(2)); } } catch (SQLException e) { throw e; diff --git a/org.adempiere.base.process/src/org/compiere/process/BOMValidate.java b/org.adempiere.base.process/src/org/compiere/process/BOMValidate.java index 7d6cbfac4b..4f7bbeb245 100644 --- a/org.adempiere.base.process/src/org/compiere/process/BOMValidate.java +++ b/org.adempiere.base.process/src/org/compiere/process/BOMValidate.java @@ -108,7 +108,7 @@ public class BOMValidate extends SvrProcess while (rs.next ()) { String info = validateProduct(new MProduct(getCtx(), rs.getInt("M_Product_ID"), get_TrxName())); - addLog(0, null, null, info, MProduct.Table_ID, rs.getInt("M_Product_ID")); + addBufferLog(0, null, null, info, MProduct.Table_ID, rs.getInt("M_Product_ID")); counter++; } } diff --git a/org.adempiere.base.process/src/org/compiere/process/BOMVerify.java b/org.adempiere.base.process/src/org/compiere/process/BOMVerify.java index 230ce83d69..b2850eb093 100644 --- a/org.adempiere.base.process/src/org/compiere/process/BOMVerify.java +++ b/org.adempiere.base.process/src/org/compiere/process/BOMVerify.java @@ -182,7 +182,7 @@ public class BOMVerify extends SvrProcess if (p_fromButton) addLog(0, null, null, product.getValue() + " recursively contains " + pp.getValue()); else - addLog(0, null, null, product.getValue() + " recursively contains " + pp.getValue(), MProduct.Table_ID, product.getM_Product_ID()); + addBufferLog(0, null, null, product.getValue() + " recursively contains " + pp.getValue(), MProduct.Table_ID, product.getM_Product_ID()); } else { @@ -200,7 +200,7 @@ public class BOMVerify extends SvrProcess if (p_fromButton) addLog(0, null, null, product.getValue() + " does not have lines"); else - addLog(0, null, null, product.getValue() + " does not have lines", MProduct.Table_ID, product.getM_Product_ID()); + addBufferLog(0, null, null, product.getValue() + " does not have lines", MProduct.Table_ID, product.getM_Product_ID()); } checkedproducts.add(product); diff --git a/org.adempiere.base.process/src/org/compiere/process/ConvertLead.java b/org.adempiere.base.process/src/org/compiere/process/ConvertLead.java index 7937b63165..c55bdff124 100644 --- a/org.adempiere.base.process/src/org/compiere/process/ConvertLead.java +++ b/org.adempiere.base.process/src/org/compiere/process/ConvertLead.java @@ -68,7 +68,7 @@ public class ConvertLead extends SvrProcess { bp.setName(lead.getName()); bp.saveEx(); - addLog(bp.getC_BPartner_ID(), null, null, "@C_BPartner_ID@ @Created@", MBPartner.Table_ID, bp.getC_BPartner_ID()); + addBufferLog(bp.getC_BPartner_ID(), null, null, "@C_BPartner_ID@ @Created@", MBPartner.Table_ID, bp.getC_BPartner_ID()); lead.setC_BPartner_ID(bp.getC_BPartner_ID()); @@ -139,7 +139,7 @@ public class ConvertLead extends SvrProcess { op.saveEx(); - addLog(op.getC_Opportunity_ID(), null, null, "@C_Opportunity_ID@ @Created@", MOpportunity.Table_ID, op.getC_Opportunity_ID()); + addBufferLog(op.getC_Opportunity_ID(), null, null, "@C_Opportunity_ID@ @Created@", MOpportunity.Table_ID, op.getC_Opportunity_ID()); } lead.setIsSalesLead(false); diff --git a/org.adempiere.base.process/src/org/compiere/process/CostUpdate.java b/org.adempiere.base.process/src/org/compiere/process/CostUpdate.java index c11a2428e9..91a2832a2f 100644 --- a/org.adempiere.base.process/src/org/compiere/process/CostUpdate.java +++ b/org.adempiere.base.process/src/org/compiere/process/CostUpdate.java @@ -338,7 +338,7 @@ public class CostUpdate extends SvrProcess msg.append(m_docType.getName()).append(" ").append(inventoryDoc.getDocumentNo()); else msg.append(m_docType.get_Translation(I_C_DocType.COLUMNNAME_Name)).append(" ").append(inventoryDoc.getDocumentNo()); - addLog(getAD_PInstance_ID(), null, null, msg.toString(), I_M_Inventory.Table_ID, inventoryDoc.getM_Inventory_ID()); + addBufferLog(getAD_PInstance_ID(), null, null, msg.toString(), I_M_Inventory.Table_ID, inventoryDoc.getM_Inventory_ID()); } } } diff --git a/org.adempiere.base.process/src/org/compiere/process/ExpenseAPInvoice.java b/org.adempiere.base.process/src/org/compiere/process/ExpenseAPInvoice.java index 6744e3824f..cd2e528ba4 100644 --- a/org.adempiere.base.process/src/org/compiere/process/ExpenseAPInvoice.java +++ b/org.adempiere.base.process/src/org/compiere/process/ExpenseAPInvoice.java @@ -224,7 +224,7 @@ public class ExpenseAPInvoice extends SvrProcess throw new IllegalStateException("Cannot save Invoice"); // m_noInvoices++; - addLog(invoice.get_ID(), invoice.getDateInvoiced(), + addBufferLog(invoice.get_ID(), invoice.getDateInvoiced(), invoice.getGrandTotal(), invoice.getDocumentNo(), invoice.get_Table_ID(), invoice.getC_Invoice_ID()); } // completeInvoice diff --git a/org.adempiere.base.process/src/org/compiere/process/ExpenseSOrder.java b/org.adempiere.base.process/src/org/compiere/process/ExpenseSOrder.java index 9ddd45dea0..b1bdcd3f82 100644 --- a/org.adempiere.base.process/src/org/compiere/process/ExpenseSOrder.java +++ b/org.adempiere.base.process/src/org/compiere/process/ExpenseSOrder.java @@ -282,7 +282,7 @@ public class ExpenseSOrder extends SvrProcess if (!m_order.save()) throw new IllegalStateException("Cannot save Order"); m_noOrders++; - addLog (m_order.get_ID(), m_order.getDateOrdered(), m_order.getGrandTotal(), m_order.getDocumentNo(), m_order.get_Table_ID(), m_order.getC_Order_ID()); + addBufferLog (m_order.get_ID(), m_order.getDateOrdered(), m_order.getGrandTotal(), m_order.getDocumentNo(), m_order.get_Table_ID(), m_order.getC_Order_ID()); m_order = null; } // completeOrder diff --git a/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java b/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java index 31d592a971..c3d70940e4 100644 --- a/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java +++ b/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java @@ -582,7 +582,7 @@ public class InOutGenerate extends SvrProcess } m_shipment.saveEx(); String message = Msg.parseTranslation(getCtx(), "@ShipmentProcessed@ " + m_shipment.getDocumentNo()); - addLog(m_shipment.getM_InOut_ID(), m_shipment.getMovementDate(), null, message, m_shipment.get_Table_ID(),m_shipment.getM_InOut_ID()); + addBufferLog(m_shipment.getM_InOut_ID(), m_shipment.getMovementDate(), null, message, m_shipment.get_Table_ID(),m_shipment.getM_InOut_ID()); m_created++; //reset storage cache as MInOut.completeIt will update m_storage diff --git a/org.adempiere.base.process/src/org/compiere/process/InvoiceBatchProcess.java b/org.adempiere.base.process/src/org/compiere/process/InvoiceBatchProcess.java index aa4ebfad9d..133edf025e 100644 --- a/org.adempiere.base.process/src/org/compiere/process/InvoiceBatchProcess.java +++ b/org.adempiere.base.process/src/org/compiere/process/InvoiceBatchProcess.java @@ -167,7 +167,7 @@ public class InvoiceBatchProcess extends SvrProcess m_invoice.saveEx(); String message = Msg.parseTranslation(getCtx(), "@InvoiceProcessed@ " + m_invoice.getDocumentNo()); - addLog(0, m_invoice.getDateInvoiced(), m_invoice.getGrandTotal(), message, m_invoice.get_Table_ID(), m_invoice.getC_Invoice_ID()); + addBufferLog(0, m_invoice.getDateInvoiced(), m_invoice.getGrandTotal(), message, m_invoice.get_Table_ID(), m_invoice.getC_Invoice_ID()); m_count++; m_invoice = null; diff --git a/org.adempiere.base.process/src/org/compiere/process/InvoiceGenerate.java b/org.adempiere.base.process/src/org/compiere/process/InvoiceGenerate.java index 199d272343..f2b7a7f38b 100644 --- a/org.adempiere.base.process/src/org/compiere/process/InvoiceGenerate.java +++ b/org.adempiere.base.process/src/org/compiere/process/InvoiceGenerate.java @@ -271,7 +271,7 @@ public class InvoiceGenerate extends SvrProcess if (completeOrder && !fullyDelivered) { if (log.isLoggable(Level.FINE)) log.fine("Failed CompleteOrder - " + oLine); - addLog(0, null, null,"Failed CompleteOrder - " + oLine,oLine.get_Table_ID(),oLine.getC_OrderLine_ID()); // Elaine 2008/11/25 + addBufferLog(0, null, null,"Failed CompleteOrder - " + oLine,oLine.get_Table_ID(),oLine.getC_OrderLine_ID()); // Elaine 2008/11/25 completeOrder = false; break; } @@ -291,7 +291,7 @@ public class InvoiceGenerate extends SvrProcess { if (log.isLoggable(Level.FINE)) log.fine("Failed: " + order.getInvoiceRule() + " - ToInvoice=" + toInvoice + " - " + oLine); - addLog(0, null, null,"Failed: " + order.getInvoiceRule() + addBufferLog(0, null, null,"Failed: " + order.getInvoiceRule() + " - ToInvoice=" + toInvoice + " - " + oLine,oLine.get_Table_ID(),oLine.getC_OrderLine_ID()); } } // for all order lines @@ -489,14 +489,14 @@ public class InvoiceGenerate extends SvrProcess if (!m_invoice.processIt(p_docAction)) { log.warning("completeInvoice - failed: " + m_invoice); - addLog(0, null, null,"completeInvoice - failed: " + m_invoice,m_invoice.get_Table_ID(),m_invoice.getC_Invoice_ID()); // Elaine 2008/11/25 + addBufferLog(0, null, null,"completeInvoice - failed: " + m_invoice,m_invoice.get_Table_ID(),m_invoice.getC_Invoice_ID()); // Elaine 2008/11/25 throw new IllegalStateException("Invoice Process Failed: " + m_invoice + " - " + m_invoice.getProcessMsg()); } m_invoice.saveEx(); String message = Msg.parseTranslation(getCtx(), "@InvoiceProcessed@ " + m_invoice.getDocumentNo()); - addLog(m_invoice.getC_Invoice_ID(), m_invoice.getDateInvoiced(), null, message, m_invoice.get_Table_ID(), m_invoice.getC_Invoice_ID()); + addBufferLog(m_invoice.getC_Invoice_ID(), m_invoice.getDateInvoiced(), null, message, m_invoice.get_Table_ID(), m_invoice.getC_Invoice_ID()); m_created++; } m_invoice = null; diff --git a/org.adempiere.base.process/src/org/compiere/process/OrderPOCreate.java b/org.adempiere.base.process/src/org/compiere/process/OrderPOCreate.java index 3b7e321040..1d8f4943de 100644 --- a/org.adempiere.base.process/src/org/compiere/process/OrderPOCreate.java +++ b/org.adempiere.base.process/src/org/compiere/process/OrderPOCreate.java @@ -210,7 +210,7 @@ public class OrderPOCreate extends SvrProcess { po = createPOForVendor(rs.getInt(1), so); String message = Msg.parseTranslation(getCtx(), "@OrderCreated@ " + po.getDocumentNo()); - addLog(0, null, null, message, po.get_Table_ID(), po.getC_Order_ID()); + addBufferLog (0, null, null, message, po.get_Table_ID(), po.getC_Order_ID()); counter++; } diff --git a/org.adempiere.base.process/src/org/compiere/process/RequestInvoice.java b/org.adempiere.base.process/src/org/compiere/process/RequestInvoice.java index a9ffa56052..aec3c99ab9 100644 --- a/org.adempiere.base.process/src/org/compiere/process/RequestInvoice.java +++ b/org.adempiere.base.process/src/org/compiere/process/RequestInvoice.java @@ -150,6 +150,7 @@ public class RequestInvoice extends SvrProcess catch (Exception e) { log.log (Level.SEVERE, sql.toString(), e); + throw e; } finally { @@ -180,7 +181,7 @@ public class RequestInvoice extends SvrProcess } m_invoice.saveEx(); String message = Msg.parseTranslation(getCtx(), "@InvoiceProcessed@ " + m_invoice.getDocumentNo()); - addLog(0, null, m_invoice.getGrandTotal(), message, m_invoice.get_Table_ID(), m_invoice.getC_Invoice_ID()); + addBufferLog(0, null, m_invoice.getGrandTotal(), message, m_invoice.get_Table_ID(), m_invoice.getC_Invoice_ID()); } } m_invoice = null; diff --git a/org.adempiere.base.process/src/org/compiere/process/RequisitionPOCreate.java b/org.adempiere.base.process/src/org/compiere/process/RequisitionPOCreate.java index 8e2e26bf5a..0337437a95 100644 --- a/org.adempiere.base.process/src/org/compiere/process/RequisitionPOCreate.java +++ b/org.adempiere.base.process/src/org/compiere/process/RequisitionPOCreate.java @@ -382,7 +382,7 @@ public class RequisitionPOCreate extends SvrProcess { m_order.load(get_TrxName()); String message = Msg.parseTranslation(getCtx(), "@GeneratedPO@ " + m_order.getDocumentNo()); - addLog(0, null, m_order.getGrandTotal(), message, m_order.get_Table_ID(), m_order.getC_Order_ID()); + addBufferLog(0, null, m_order.getGrandTotal(), message, m_order.get_Table_ID(), m_order.getC_Order_ID()); } m_order = null; m_orderLine = null; diff --git a/org.adempiere.base.process/src/org/compiere/process/RfQCreatePO.java b/org.adempiere.base.process/src/org/compiere/process/RfQCreatePO.java index 25a85b86dd..5e18a5b3b7 100644 --- a/org.adempiere.base.process/src/org/compiere/process/RfQCreatePO.java +++ b/org.adempiere.base.process/src/org/compiere/process/RfQCreatePO.java @@ -175,7 +175,7 @@ public class RfQCreatePO extends SvrProcess order.setSalesRep_ID(rfq.getSalesRep_ID()); order.saveEx(); noOrders++; - addLog(0, null, null, order.getDocumentNo(), order.get_Table_ID(), order.getC_Order_ID()); + addBufferLog(0, null, null, order.getDocumentNo(), order.get_Table_ID(), order.getC_Order_ID()); } // For all Qtys MRfQResponseLineQty[] qtys = line.getQtys(false); diff --git a/org.adempiere.base.process/src/org/compiere/process/SynchronizeTerminology.java b/org.adempiere.base.process/src/org/compiere/process/SynchronizeTerminology.java index 90ae5a868a..f8487f246e 100644 --- a/org.adempiere.base.process/src/org/compiere/process/SynchronizeTerminology.java +++ b/org.adempiere.base.process/src/org/compiere/process/SynchronizeTerminology.java @@ -138,7 +138,9 @@ public class SynchronizeTerminology extends SvrProcess +" WHERE NOT EXISTS" +" (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName))" +" AND NOT EXISTS" - +" (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName)))"; + +" (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName))" + +" AND NOT EXISTS" + +" (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(e.ColumnName)=UPPER(i.ColumnName)))"; no = DB.executeUpdate(sql, false, get_TrxName()); if (log.isLoggable(Level.INFO)) log.info(" rows deleted: "+no); trx.commit(true); @@ -147,7 +149,9 @@ public class SynchronizeTerminology extends SvrProcess +" WHERE AD_Element_ID >= 1000000 AND NOT EXISTS" +" (SELECT 1 FROM AD_COLUMN c WHERE UPPER(e.ColumnName)=UPPER(c.ColumnName))" +" AND NOT EXISTS" - +" (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName))"; + +" (SELECT 1 FROM AD_PROCESS_PARA p WHERE UPPER(e.ColumnName)=UPPER(p.ColumnName))" + +" AND NOT EXISTS" + +" (SELECT 1 FROM AD_INFOCOLUMN i WHERE UPPER(e.ColumnName)=UPPER(i.ColumnName))"; no = DB.executeUpdate(sql, false, get_TrxName()); if (log.isLoggable(Level.INFO)) log.info(" rows deleted: "+no); trx.commit(true); diff --git a/org.adempiere.base/src/org/compiere/impexp/ImpFormatRow.java b/org.adempiere.base/src/org/compiere/impexp/ImpFormatRow.java index 9b2ebcc989..9c5580b8fa 100644 --- a/org.adempiere.base/src/org/compiere/impexp/ImpFormatRow.java +++ b/org.adempiere.base/src/org/compiere/impexp/ImpFormatRow.java @@ -24,10 +24,12 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.logging.Level; +import org.adempiere.exceptions.AdempiereException; import org.compiere.model.Callout; import org.compiere.model.X_AD_ImpFormat_Row; import org.compiere.util.CLogger; import org.compiere.util.Env; +import org.compiere.util.Util; /** * Import Format Row with parsing capability @@ -390,7 +392,7 @@ public final class ImpFormatRow /** - * Return date as YYYY-MM-DD HH24:MI:SS (JDBC Timestamp format w/o miliseconds) + * Return date as YYYY-MM-DD HH24:MI:SS (JDBC Timestamp format w/o milliseconds) * @param info data * @return date as JDBC format String */ @@ -400,7 +402,8 @@ public final class ImpFormatRow { try { - m_dformat = new SimpleDateFormat(m_dataFormat); + if (!Util.isEmpty(m_dataFormat)) + m_dformat = new SimpleDateFormat(m_dataFormat); } catch (Exception e) { @@ -418,13 +421,12 @@ public final class ImpFormatRow } catch (ParseException pe) { - log.log(Level.SEVERE, "ImpFormatRow.parseDate - " + info, pe); + String msg = pe.getLocalizedMessage() + ": Pattern[" + m_dformat.toPattern() + "] Data[" + info + "]"; + throw new AdempiereException(msg); } - if (ts == null) - ts = new Timestamp (System.currentTimeMillis()); // String dateString = ts.toString(); - return dateString.substring(0, dateString.indexOf('.')); // cut off miliseconds + return dateString.substring(0, dateString.indexOf('.')); // cut off milliseconds } // parseNumber /** diff --git a/org.adempiere.base/src/org/compiere/process/SvrProcess.java b/org.adempiere.base/src/org/compiere/process/SvrProcess.java index 76cf343fb4..040c7fec7e 100644 --- a/org.adempiere.base/src/org/compiere/process/SvrProcess.java +++ b/org.adempiere.base/src/org/compiere/process/SvrProcess.java @@ -22,6 +22,8 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.List; import java.util.Properties; import java.util.logging.Level; @@ -54,6 +56,26 @@ public abstract class SvrProcess implements ProcessCall public static final String PROCESS_INFO_CTX_KEY = "ProcessInfo"; public static final String PROCESS_UI_CTX_KEY = "ProcessUI"; + private List listEntryLog; + + /** + * Add log to buffer, only process total success, flush buffer + * @param id + * @param date + * @param number + * @param msg + * @param tableId + * @param recordId + */ + public void addBufferLog(int id, Timestamp date, BigDecimal number, String msg, int tableId ,int recordId) { + ProcessInfoLog entryLog = new ProcessInfoLog(id, date, number, msg, tableId, recordId); + + if (listEntryLog == null) + listEntryLog = new ArrayList(); + + listEntryLog.add(entryLog); + } + /** * Server Process. * Note that the class is initiated by startProcess. @@ -191,7 +213,10 @@ public abstract class SvrProcess implements ProcessCall //transaction should rollback if there are error in process if ("@Error@".equals(msg)) success = false; - + + if (success) + flushBufferLog(); + // Parse Variables msg = Msg.parseTranslation(m_ctx, msg); m_pi.setSummary (msg, !success); @@ -449,7 +474,7 @@ public abstract class SvrProcess implements ProcessCall if (m_pi != null) m_pi.addLog(id, date, number, msg,tableId,recordId); - if (log.isLoggable(Level.INFO)) log.info(id + " - " + date + " - " + number + " - " + msg +" - "+tableId); + if (log.isLoggable(Level.INFO)) log.info(id + " - " + date + " - " + number + " - " + msg + " - " + tableId + " - " + recordId); } // addLog /************************************************************************** @@ -476,6 +501,17 @@ public abstract class SvrProcess implements ProcessCall addLog (0, null, null, msg); } // addLog + private void flushBufferLog () { + if (listEntryLog == null) + return; + + for (ProcessInfoLog entryLog : listEntryLog) { + if (m_pi != null) + m_pi.addLog(entryLog); + if (log.isLoggable(Level.INFO)) log.info(entryLog.getP_ID() + " - " + entryLog.getP_Date() + " - " + entryLog.getP_Number() + " - " + entryLog.getP_Msg() + " - " + entryLog.getAD_Table_ID() + " - " + entryLog.getRecord_ID()); + } + } + /************************************************************************** * Execute function * @param className class diff --git a/org.adempiere.base/src/org/eevolution/process/BankTransfer.java b/org.adempiere.base/src/org/eevolution/process/BankTransfer.java index 0703b6de0b..15a7c416ba 100644 --- a/org.adempiere.base/src/org/eevolution/process/BankTransfer.java +++ b/org.adempiere.base/src/org/eevolution/process/BankTransfer.java @@ -164,7 +164,7 @@ public class BankTransfer extends SvrProcess throw new IllegalStateException("Payment Process Failed: " + paymentBankFrom + " - " + paymentBankFrom.getProcessMsg()); } paymentBankFrom.saveEx(); - addLog(paymentBankFrom.getC_Payment_ID(), paymentBankFrom.getDateTrx(), + addBufferLog(paymentBankFrom.getC_Payment_ID(), paymentBankFrom.getDateTrx(), null, paymentBankFrom.getC_DocType().getName() + " " + paymentBankFrom.getDocumentNo(), MPayment.Table_ID, paymentBankFrom.getC_Payment_ID()); m_created++; @@ -190,7 +190,7 @@ public class BankTransfer extends SvrProcess throw new IllegalStateException("Payment Process Failed: " + paymentBankTo + " - " + paymentBankTo.getProcessMsg()); } paymentBankTo.saveEx(); - addLog(paymentBankTo.getC_Payment_ID(), paymentBankTo.getDateTrx(), + addBufferLog(paymentBankTo.getC_Payment_ID(), paymentBankTo.getDateTrx(), null, paymentBankTo.getC_DocType().getName() + " " + paymentBankTo.getDocumentNo(), MPayment.Table_ID, paymentBankTo.getC_Payment_ID()); m_created++; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java index f841b47a2d..8d5397bc3d 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java @@ -47,6 +47,7 @@ import org.compiere.model.MUser; import org.compiere.util.CLogger; import org.compiere.util.Env; import org.compiere.util.Language; +import org.compiere.util.Msg; import org.zkforge.keylistener.Keylistener; import org.zkoss.web.Attributes; import org.zkoss.web.servlet.Servlets; @@ -197,6 +198,16 @@ public class AdempiereWebUI extends Window implements EventListener, IWeb Env.verifyLanguage(ctx, language); Env.setContext(ctx, Env.LANGUAGE, language.getAD_Language()); //Bug + StringBuilder calendarMsgScript = new StringBuilder(); + String monthMore = Msg.getMsg(ctx,"more"); + String dayMore = Msg.getMsg(ctx,"more"); + calendarMsgScript.append("function _overrideMsgCal() { msgcal.monthMORE = '+{0} ") + .append(monthMore).append("';"); + calendarMsgScript.append("msgcal.dayMORE = '+{0} ") + .append(dayMore).append("'; }"); + AuScript auscript = new AuScript(calendarMsgScript.toString()); + Clients.response(auscript); + // Create adempiere Session - user id in ctx Session currSess = Executions.getCurrent().getDesktop().getSession(); HttpSession httpSess = (HttpSession) currSess.getNativeSession(); diff --git a/org.adempiere.ui.zk/theme/default/zul/calendar/calendar.zul b/org.adempiere.ui.zk/theme/default/zul/calendar/calendar.zul index 4d3c032d2f..688148d888 100644 --- a/org.adempiere.ui.zk/theme/default/zul/calendar/calendar.zul +++ b/org.adempiere.ui.zk/theme/default/zul/calendar/calendar.zul @@ -21,7 +21,7 @@