# HG changeset patch
# User Javier Armendáriz <javier.armendariz@openbravo.com>
# Date 1513774894 -3600
#      Wed Dec 20 14:01:34 2017 +0100
# Node ID b13edcfe463c1845d28b2416875725df5c70c04d
# Parent  bcebf5ea2f9600fbab552d62cd6e5215f79f535d
Fixed bug 34119: Sync terminology doesn't translate some PO window fields.

In Synchronize Terminology the PO field's name is taken from its element instead of the element's translation (when available) when the element's PO_NAME field is empty.
Now the element's translation takes precedence over the element values. It is ordered as follows:

ad_element_trl.PO_NAME > ad_element.po_name > ad_element_trl.name > ad_element.name

diff --git a/src-db/database/model/functions/AD_SYNCHRONIZE.xml b/src-db/database/model/functions/AD_SYNCHRONIZE.xml
--- a/src-db/database/model/functions/AD_SYNCHRONIZE.xml
+++ b/src-db/database/model/functions/AD_SYNCHRONIZE.xml
@@ -19,7 +19,7 @@
   * parts created by ComPiere are Copyright (C) ComPiere, Inc.;
   * All Rights Reserved.
   * Contributor(s): Openbravo SLU
-  * Contributions are Copyright (C) 2001-2011 Openbravo, S.L.U.
+  * Contributions are Copyright (C) 2001-2017 Openbravo, S.L.U.
   *
   * Specifically, this derivative work is based upon the following Compiere
   * file and version.
@@ -538,7 +538,7 @@
     DBMS_OUTPUT.PUT_LINE('Synchronize PO Field') ;
    UPDATE AD_FIELD
       SET NAME=
-        (SELECT COALESCE(T.PO_NAME, (CASE WHEN e.PO_NAME='' THEN e.name ELSE COALESCE(e.PO_NAME,e.name) END), t.name, e.name)
+        (SELECT COALESCE(T.PO_NAME, (CASE WHEN e.PO_NAME='' THEN COALESCE(t.name, e.name) ELSE COALESCE(e.PO_NAME, t.name, e.name) END), t.name, e.name)
         FROM AD_COLUMN c,
              AD_MODULE M,
              AD_ELEMENT e, AD_ELEMENT_TRL T
@@ -611,7 +611,7 @@
           AND AD_FIELD.AD_MODULE_ID = M.AD_MODULE_ID
           AND (M.ISINDEVELOPMENT='Y' OR v_TemplateInDev ='Y')
           AND T.AD_LANGUAGE = M.AD_LANGUAGE
-          AND (AD_FIELD.NAME != COALESCE(T.PO_NAME, (CASE WHEN e.PO_NAME='' THEN e.name ELSE COALESCE(e.PO_NAME,e.name) END), t.name, e.name)
+          AND (AD_FIELD.NAME != COALESCE(T.PO_NAME, (CASE WHEN e.PO_NAME='' THEN COALESCE(t.name, e.name) ELSE COALESCE(e.PO_NAME,t.name, e.name) END), t.name, e.name)
              OR COALESCE(TO_CHAR(AD_FIELD.Description), ' ')<>COALESCE(TO_CHAR(T.PO_Description), TO_CHAR(e.PO_Description), to_char(t.description), to_char(e.description), ' ')
              OR COALESCE(TO_CHAR(AD_FIELD.Help), ' ')<>COALESCE(TO_CHAR(T.PO_Help), TO_CHAR(e.PO_Help), to_char(t.help), to_char(e.help), ' '))
           union
