IDEMPIERE-4650 Problems with Language Management in PO (#530)
* IDEMPIERE-4650 Problems with Language Management in PO * * Set GardenWorld to use multi-lingual documents
This commit is contained in:
parent
ebcf4b3e1c
commit
0cfa1c182a
|
@ -0,0 +1,25 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- IDEMPIERE-4650 Problems with Language Management in PO
|
||||||
|
-- 2021 Jan 15 20:49:25 CET
|
||||||
|
UPDATE AD_Column SET ReadOnlyLogic='@#AD_Client_ID@=0',Updated=TO_DATE('2021-01-15 20:49:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=7567
|
||||||
|
;
|
||||||
|
|
||||||
|
UPDATE AD_Client SET IsMultilingualDocument='Y' WHERE AD_Client_ID=0 AND IsMultilingualDocument!='Y';
|
||||||
|
|
||||||
|
-- 2021 Jan 15 20:51:26 CET
|
||||||
|
UPDATE AD_Process SET Help='In order to enable en_US as a translation you can enable any other language as base language.<br>
|
||||||
|
If you don''t want to have a base language choose a language that won''t be used for login.<br>
|
||||||
|
If all languages are going to be used as login, create an xx_XX language not login and use it as base.<br>
|
||||||
|
Please note that base language cannot be a system language.<br>
|
||||||
|
After running this process you must close all sessions and login again.<br>',Updated=TO_DATE('2021-01-15 20:51:26','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_ID=200040
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 17, 2021, 4:15:10 PM CET
|
||||||
|
UPDATE AD_Client SET IsMultiLingualDocument='Y',Updated=TO_DATE('2021-01-17 16:15:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Client_ID=11
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('202101152101_IDEMPIERE-4650.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
-- IDEMPIERE-4650 Problems with Language Management in PO
|
||||||
|
-- 2021 Jan 15 20:49:25 CET
|
||||||
|
UPDATE AD_Column SET ReadOnlyLogic='@#AD_Client_ID@=0',Updated=TO_TIMESTAMP('2021-01-15 20:49:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=7567
|
||||||
|
;
|
||||||
|
|
||||||
|
UPDATE AD_Client SET IsMultilingualDocument='Y' WHERE AD_Client_ID=0 AND IsMultilingualDocument!='Y';
|
||||||
|
|
||||||
|
-- 2021 Jan 15 20:51:26 CET
|
||||||
|
UPDATE AD_Process SET Help='In order to enable en_US as a translation you can enable any other language as base language.<br>
|
||||||
|
If you don''t want to have a base language choose a language that won''t be used for login.<br>
|
||||||
|
If all languages are going to be used as login, create an xx_XX language not login and use it as base.<br>
|
||||||
|
Please note that base language cannot be a system language.<br>
|
||||||
|
After running this process you must close all sessions and login again.<br>',Updated=TO_TIMESTAMP('2021-01-15 20:51:26','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_ID=200040
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jan 17, 2021, 4:15:10 PM CET
|
||||||
|
UPDATE AD_Client SET IsMultiLingualDocument='Y',Updated=TO_TIMESTAMP('2021-01-17 16:15:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Client_ID=11
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('202101152101_IDEMPIERE-4650.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -3765,9 +3765,6 @@ public abstract class PO
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
String tableName = p_info.getTableName();
|
String tableName = p_info.getTableName();
|
||||||
if (tableName.startsWith("AD") && getAD_Client_ID() == 0)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
boolean trlColumnChanged = false;
|
boolean trlColumnChanged = false;
|
||||||
for (int i = 0; i < p_info.getColumnCount(); i++)
|
for (int i = 0; i < p_info.getColumnCount(); i++)
|
||||||
|
@ -3820,12 +3817,14 @@ public abstract class PO
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
StringBuilder whereid = new StringBuilder(" WHERE ").append(keyColumn).append("=").append(get_ID());
|
StringBuilder whereid = new StringBuilder(" WHERE ").append(keyColumn).append("=").append(get_ID());
|
||||||
StringBuilder andlang = new StringBuilder(" AND AD_Language=").append(DB.TO_STRING(client.getAD_Language()));
|
StringBuilder andClientLang = new StringBuilder(" AND AD_Language=").append(DB.TO_STRING(client.getAD_Language()));
|
||||||
StringBuilder andnotlang = new StringBuilder(" AND AD_Language!=").append(DB.TO_STRING(client.getAD_Language()));
|
StringBuilder andNotClientLang = new StringBuilder(" AND AD_Language!=").append(DB.TO_STRING(client.getAD_Language()));
|
||||||
|
String baselang = Language.getBaseAD_Language();
|
||||||
|
StringBuilder andBaseLang = new StringBuilder(" AND AD_Language=").append(DB.TO_STRING(baselang));
|
||||||
|
StringBuilder andNotBaseLang = new StringBuilder(" AND AD_Language!=").append(DB.TO_STRING(baselang));
|
||||||
int no = -1;
|
int no = -1;
|
||||||
|
|
||||||
if (client.isMultiLingualDocument()) {
|
if (client.isMultiLingualDocument()) {
|
||||||
String baselang = Language.getBaseAD_Language();
|
|
||||||
if (client.getAD_Language().equals(baselang)) {
|
if (client.getAD_Language().equals(baselang)) {
|
||||||
// tenant language = base language
|
// tenant language = base language
|
||||||
// set all translations as untranslated
|
// set all translations as untranslated
|
||||||
|
@ -3837,13 +3836,14 @@ public abstract class PO
|
||||||
if (log.isLoggable(Level.FINE)) log.fine("#" + no);
|
if (log.isLoggable(Level.FINE)) log.fine("#" + no);
|
||||||
} else {
|
} else {
|
||||||
// tenant language <> base language
|
// tenant language <> base language
|
||||||
// auto update translation for tenant language
|
// for Tenants auto update translation for tenant language
|
||||||
|
// for System update translation for base language (which in fact must always update zero records as there must not be translations for base)
|
||||||
StringBuilder sqlexec = new StringBuilder()
|
StringBuilder sqlexec = new StringBuilder()
|
||||||
.append(sqlupdate)
|
.append(sqlupdate)
|
||||||
.append(sqlcols)
|
.append(sqlcols)
|
||||||
.append("IsTranslated='Y'")
|
.append("IsTranslated='Y'")
|
||||||
.append(whereid)
|
.append(whereid)
|
||||||
.append(andlang);
|
.append(getAD_Client_ID() == 0 ? andBaseLang : andClientLang);
|
||||||
no = DB.executeUpdate(sqlexec.toString(), m_trxName);
|
no = DB.executeUpdate(sqlexec.toString(), m_trxName);
|
||||||
if (log.isLoggable(Level.FINE)) log.fine("#" + no);
|
if (log.isLoggable(Level.FINE)) log.fine("#" + no);
|
||||||
if (no >= 0) {
|
if (no >= 0) {
|
||||||
|
@ -3852,7 +3852,7 @@ public abstract class PO
|
||||||
.append(sqlupdate)
|
.append(sqlupdate)
|
||||||
.append("IsTranslated='N'")
|
.append("IsTranslated='N'")
|
||||||
.append(whereid)
|
.append(whereid)
|
||||||
.append(andnotlang);
|
.append(getAD_Client_ID() == 0 ? andNotBaseLang : andNotClientLang);
|
||||||
no = DB.executeUpdate(sqlexec.toString(), m_trxName);
|
no = DB.executeUpdate(sqlexec.toString(), m_trxName);
|
||||||
if (log.isLoggable(Level.FINE)) log.fine("#" + no);
|
if (log.isLoggable(Level.FINE)) log.fine("#" + no);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue