From 01821ee9a74e68065614f14bf037722b273d8347 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Wed, 30 May 2012 12:52:42 -0500 Subject: [PATCH] IDEMPIERE-255 Items in sort tabs are not translated / peer review and fix --- ...DEMPIERE-255.sql => 845_IDEMPIERE-255.sql} | 25 +++++++++++++++--- ...DEMPIERE-255.sql => 845_IDEMPIERE-255.sql} | 26 ++++++++++++++++--- .../oracle/02_SynchronizeTerminology.sql | 13 ++++++++++ .../postgresql/02_SynchronizeTerminology.sql | 13 ++++++++++ .../process/SynchronizeTerminology.java | 21 +++++++++++++-- 5 files changed, 90 insertions(+), 8 deletions(-) rename migration/360lts-release/oracle/{840_IDEMPIERE-255.sql => 845_IDEMPIERE-255.sql} (78%) rename migration/360lts-release/postgresql/{840_IDEMPIERE-255.sql => 845_IDEMPIERE-255.sql} (77%) diff --git a/migration/360lts-release/oracle/840_IDEMPIERE-255.sql b/migration/360lts-release/oracle/845_IDEMPIERE-255.sql similarity index 78% rename from migration/360lts-release/oracle/840_IDEMPIERE-255.sql rename to migration/360lts-release/oracle/845_IDEMPIERE-255.sql index 96b930c20e..fea685d16b 100644 --- a/migration/360lts-release/oracle/840_IDEMPIERE-255.sql +++ b/migration/360lts-release/oracle/845_IDEMPIERE-255.sql @@ -43,9 +43,28 @@ UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=5769 UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=6274 ; +UPDATE ad_printformatitem_trl +SET NAME = ( SELECT COALESCE(et.name, pf.name) + FROM ad_printformatitem pf + LEFT JOIN ad_column c ON pf.ad_column_id=c.ad_column_id + LEFT JOIN ad_element_trl et ON et.ad_element_id=c.ad_element_id AND et.ad_language=ad_printformatitem_trl.ad_language + WHERE pf.ad_printformatitem_id=ad_printformatitem_trl.ad_printformatitem_id); + +-- May 30, 2012 12:15:59 PM COT +UPDATE AD_Column SET IsMandatory='Y',Updated=TO_DATE('2012-05-30 12:15:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200192 +; + +-- May 30, 2012 12:16:02 PM COT +ALTER TABLE AD_PrintFormatItem_Trl MODIFY Name NVARCHAR2(60) +; + +-- May 30, 2012 12:16:02 PM COT +ALTER TABLE AD_PrintFormatItem_Trl MODIFY Name NOT NULL +; UPDATE AD_System - SET LastMigrationScriptApplied='840_IDEMPIERE-255.sql' -WHERE LastMigrationScriptApplied<'840_IDEMPIERE-255.sql' + SET LastMigrationScriptApplied='845_IDEMPIERE-255.sql' +WHERE LastMigrationScriptApplied<'845_IDEMPIERE-255.sql' OR LastMigrationScriptApplied IS NULL -; \ No newline at end of file +; + diff --git a/migration/360lts-release/postgresql/840_IDEMPIERE-255.sql b/migration/360lts-release/postgresql/845_IDEMPIERE-255.sql similarity index 77% rename from migration/360lts-release/postgresql/840_IDEMPIERE-255.sql rename to migration/360lts-release/postgresql/845_IDEMPIERE-255.sql index 38c24a0db5..b61ab97dce 100644 --- a/migration/360lts-release/postgresql/840_IDEMPIERE-255.sql +++ b/migration/360lts-release/postgresql/845_IDEMPIERE-255.sql @@ -43,8 +43,28 @@ UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=5769 UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=6274 ; +UPDATE ad_printformatitem_trl +SET NAME = ( SELECT COALESCE(et.name, pf.name) + FROM ad_printformatitem pf + LEFT JOIN ad_column c ON pf.ad_column_id=c.ad_column_id + LEFT JOIN ad_element_trl et ON et.ad_element_id=c.ad_element_id AND et.ad_language=ad_printformatitem_trl.ad_language + WHERE pf.ad_printformatitem_id=ad_printformatitem_trl.ad_printformatitem_id); + +-- May 30, 2012 12:15:59 PM COT +UPDATE AD_Column SET IsMandatory='Y',Updated=TO_TIMESTAMP('2012-05-30 12:15:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200192 +; + +-- May 30, 2012 12:16:02 PM COT +INSERT INTO t_alter_column values('ad_printformatitem_trl','Name','VARCHAR(60)',null,null) +; + +-- May 30, 2012 12:16:02 PM COT +INSERT INTO t_alter_column values('ad_printformatitem_trl','Name',null,'NOT NULL',null) +; + UPDATE AD_System - SET LastMigrationScriptApplied='840_IDEMPIERE-255.sql' -WHERE LastMigrationScriptApplied<'840_IDEMPIERE-255.sql' + SET LastMigrationScriptApplied='845_IDEMPIERE-255.sql' +WHERE LastMigrationScriptApplied<'845_IDEMPIERE-255.sql' OR LastMigrationScriptApplied IS NULL -; \ No newline at end of file +; + diff --git a/migration/processes_post_migration/oracle/02_SynchronizeTerminology.sql b/migration/processes_post_migration/oracle/02_SynchronizeTerminology.sql index c4c4dfa961..ac5638c552 100644 --- a/migration/processes_post_migration/oracle/02_SynchronizeTerminology.sql +++ b/migration/processes_post_migration/oracle/02_SynchronizeTerminology.sql @@ -572,6 +572,19 @@ UPDATE AD_PRINTFORMATITEM pfi WHERE ad_client_id = pfi.ad_client_id AND ismultilingualdocument = 'Y'); +UPDATE AD_PRINTFORMATITEM_TRL trl + SET Name = (SELECT e.Name FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_PRINTFORMATITEM p + WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=c.AD_Element_ID + AND c.AD_Column_ID=p.AD_Column_ID AND p.AD_PrintFormatItem_ID=trl.AD_PrintFormatItem_ID), + Updated = now() + WHERE EXISTS (SELECT 1 FROM AD_PRINTFORMATITEM p, AD_ELEMENT_TRL e, AD_COLUMN c + WHERE trl.AD_PrintFormatItem_ID=p.AD_PrintFormatItem_ID + AND p.AD_Column_ID=c.AD_Column_ID + AND c.AD_Element_ID=e.AD_Element_ID AND c.AD_Process_ID IS NULL + AND trl.AD_LANGUAGE=e.AD_LANGUAGE + AND p.IsCentrallyMaintained='Y' AND p.IsActive='Y' + AND (trl.Name <> e.Name)); + UPDATE AD_PRINTFORMATITEM_TRL trl SET printname = (SELECT e.printname diff --git a/migration/processes_post_migration/postgresql/02_SynchronizeTerminology.sql b/migration/processes_post_migration/postgresql/02_SynchronizeTerminology.sql index b08d22cd61..ab7867d1aa 100644 --- a/migration/processes_post_migration/postgresql/02_SynchronizeTerminology.sql +++ b/migration/processes_post_migration/postgresql/02_SynchronizeTerminology.sql @@ -636,6 +636,19 @@ UPDATE AD_PRINTFORMATITEM WHERE ad_client_id = AD_PRINTFORMATITEM.ad_client_id AND ismultilingualdocument = 'Y'); +UPDATE AD_PRINTFORMATITEM_TRL trl + SET Name = (SELECT e.Name FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_PRINTFORMATITEM p + WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=c.AD_Element_ID + AND c.AD_Column_ID=p.AD_Column_ID AND p.AD_PrintFormatItem_ID=trl.AD_PrintFormatItem_ID), + Updated = now() + WHERE EXISTS (SELECT 1 FROM AD_PRINTFORMATITEM p, AD_ELEMENT_TRL e, AD_COLUMN c + WHERE trl.AD_PrintFormatItem_ID=p.AD_PrintFormatItem_ID + AND p.AD_Column_ID=c.AD_Column_ID + AND c.AD_Element_ID=e.AD_Element_ID AND c.AD_Process_ID IS NULL + AND trl.AD_LANGUAGE=e.AD_LANGUAGE + AND p.IsCentrallyMaintained='Y' AND p.IsActive='Y' + AND (trl.Name <> e.Name)); + UPDATE AD_PRINTFORMATITEM_TRL SET printname = (SELECT e.printname 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 2d8722a21f..0c698d53d1 100644 --- a/org.adempiere.base.process/src/org/compiere/process/SynchronizeTerminology.java +++ b/org.adempiere.base.process/src/org/compiere/process/SynchronizeTerminology.java @@ -509,9 +509,26 @@ public class SynchronizeTerminology extends SvrProcess log.info(" rows updated: "+no); trx.commit(true); + log.info("Synchronize PrintFormatItem Trl Name from Element"); + sql="UPDATE AD_PRINTFORMATITEM_TRL trl" + +" SET Name = (SELECT e.Name FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_PRINTFORMATITEM p" + +" WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE AND e.AD_Element_ID=c.AD_Element_ID " + +" AND c.AD_Column_ID=p.AD_Column_ID AND p.AD_PrintFormatItem_ID=trl.AD_PrintFormatItem_ID)," + +" Updated = SYSDATE" + +" WHERE EXISTS (SELECT 1 FROM AD_PRINTFORMATITEM p, AD_ELEMENT_TRL e, AD_COLUMN c" + +" WHERE trl.AD_PrintFormatItem_ID=p.AD_PrintFormatItem_ID" + +" AND p.AD_Column_ID=c.AD_Column_ID" + +" AND c.AD_Element_ID=e.AD_Element_ID AND c.AD_Process_ID IS NULL" + +" AND trl.AD_LANGUAGE=e.AD_LANGUAGE" + +" AND p.IsCentrallyMaintained='Y' AND p.IsActive='Y'" + +" AND (trl.Name <> e.Name))"; + no = DB.executeUpdate(sql, false, get_TrxName()); + log.info(" rows updated: "+no); + trx.commit(true); + log.info("Synchronize PrintFormatItem Trl from Element Trl (Multi-Lingual)"); sql="UPDATE AD_PRINTFORMATITEM_TRL trl" - +" SET (PrintName, Name) = (SELECT e.PrintName, e.Name" // idempiere 255 + +" SET PrintName = (SELECT e.PrintName" +" FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_PRINTFORMATITEM pfi" +" WHERE e.AD_LANGUAGE=trl.AD_LANGUAGE" +" AND e.AD_Element_ID=c.AD_Element_ID" @@ -536,7 +553,7 @@ public class SynchronizeTerminology extends SvrProcess log.info("Synchronize PrintFormatItem Trl (Not Multi-Lingual)"); sql="UPDATE AD_PRINTFORMATITEM_TRL trl" - +" SET (PrintName, Name) = (SELECT pfi.PrintName, pfi.Name" // idempiere 255 + +" SET PrintName = (SELECT pfi.PrintName" +" FROM AD_PRINTFORMATITEM pfi" +" WHERE pfi.AD_PrintFormatItem_ID=trl.AD_PrintFormatItem_ID)" +" WHERE EXISTS (SELECT 1 "