details:   https://code.openbravo.com/erp/devel/main/rev/c8724afca806
changeset: 19162:c8724afca806
user:      Augusto Mauch <augusto.mauch <at> openbravo.com>
date:      Fri Jan 04 15:01:25 2013 +0100
summary:   Fixes issue 5202: Preference can be used in the display logic of the 
tabs

Now the display logic of the tabs can use preference values (i.e. 
@#ShowAcct@='Y'), and the visibility of the tabs is going to be determined 
before the tabs are shown to the user (before this change the tabs visibility 
was only updated after a record was selected).

Summary of the changes:
-DynamicExpresssionParser: The name of the preferences will not be converted to 
the inp column format

-ob-view-tab.js.ftl: Adds to the definition of the tab the session attributes. 
These attributes will be the preference attributes used in the tab display logic

-FormInitializationComponent: Includes in the sessionAttributes of the form the 
attributes used in the tabs display logic

-OBViewTab.java: Returns a JSON object containing the values of the preferences 
used in the display logic of the tab

-ob-standard-view.js: If the tab comes with session attributes, they are copied 
to the session attributes of its form. Modifies the places where 
updateSubtabVisibility is called to ensure that it is called before the tabs 
are shown to the client, and after the session attributes of the form have been 
set after selecting a new record. Also changed the attributes of the call to 
getContextInfo to ensure that it contains the values of the form session 
attributes.

details:   https://code.openbravo.com/erp/devel/main/rev/6e90709a7477
changeset: 19163:6e90709a7477
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Fri Jan 04 21:40:06 2013 +0100
summary:   CI: merge back from main

details:   https://code.openbravo.com/erp/devel/main/rev/8b729f8ed59a
changeset: 19164:8b729f8ed59a
user:      Augusto Mauch <augusto.mauch <at> openbravo.com>
date:      Mon Jan 07 16:57:28 2013 +0100
summary:   Related to issue 5202: Fixed javascript code formatting

details:   https://code.openbravo.com/erp/devel/main/rev/a78537bcadbf
changeset: 19165:a78537bcadbf
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Tue Jan 08 05:50:32 2013 +0100
summary:   CI: update AD_MODULE to version 19164

diffstat:

 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml  
                                       |   2 +-
 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                              |   4 +-
 modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml       
                                       |   2 +-
 
modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                   |   2 +-
 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml
                                     |   2 +-
 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                          |   8 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/DynamicExpressionParser.java
            |   3 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-tab.js.ftl
            |   4 +
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
 |  13 +++
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewTab.java
                   |  35 ++++++++++
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
                 |   3 +
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
             |  20 ++++-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js
           |  35 +++++----
 
modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml
                                      |   2 +-
 
modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                           |   2 +-
 modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml   
                                       |   2 +-
 
modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                               |   6 +-
 modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE.xml     
                                       |   2 +-
 
modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                 |   4 +-
 
modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE.xml 
                                      |   2 +-
 
modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                            |   2 +-
 modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE.xml  
                                       |   2 +-
 
modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                              |   2 +-
 
modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE.xml
                                |   2 +-
 
modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                     |   2 +-
 
modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE.xml
                         |   2 +-
 
modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
              |   2 +-
 
modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE.xml
                                     |   2 +-
 
modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                          |  10 +-
 
modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE.xml
                             |   2 +-
 
modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                  |   4 +-
 
modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE.xml
                             |   2 +-
 
modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                  |   2 +-
 modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE.xml    
                                       |   2 +-
 
modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                |   2 +-
 
modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE.xml
                                 |   2 +-
 
modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                      |  12 +-
 
modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE.xml
                        |   2 +-
 
modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
             |   2 +-
 
modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE.xml
                              |   2 +-
 
modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                   |   6 +-
 modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE.xml     
                                       |   2 +-
 
modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                 |   6 +-
 modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE.xml    
                                       |   2 +-
 
modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                |  24 +++---
 modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE.xml              
                                       |   2 +-
 modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml   
                                       |  18 ++--
 src-db/database/sourcedata/AD_MODULE.xml                                       
                                       |   4 +-
 48 files changed, 174 insertions(+), 103 deletions(-)

diffs (truncated from 1116 to 300 lines):

diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml 
    Thu Jan 03 17:25:37 2013 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml 
    Tue Jan 08 05:50:32 2013 +0100
@@ -6,7 +6,7 @@
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <NAME><![CDATA[Advanced Payables and 
Receivables Mngmt]]></NAME>
-<!--A918E3331C404B889D69AA9BFAFB23AC-->  
<VERSION><![CDATA[3.0.19156]]></VERSION>
+<!--A918E3331C404B889D69AA9BFAFB23AC-->  
<VERSION><![CDATA[3.0.19164]]></VERSION>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <DESCRIPTION><![CDATA[Managing your 
finances with an ERP does not have to be difficult. Enjoy a radically improved 
user experience that combines the power of an enterprise grade financial 
application with the simplicity and ease of a web 2.0 personal accounting 
service.]]></DESCRIPTION>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <HELP><![CDATA[Advanced Payables and 
Receivables Management simplifies and automates the business processes around 
the management of financial accounts, from the receipt and issue of payment, to 
the reconciliation of those events with bank statements.
 If you would like to help shape this module you are welcome to take part in 
the forum discussions or register feature requests or issues in the 
corresponding (Forum and Bug Tracking) sections in the Advanced Payables and 
Receivable project in the OB Forge.]]></HELP>
diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
  Thu Jan 03 17:25:37 2013 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
  Tue Jan 08 05:50:32 2013 +0100
@@ -7,7 +7,7 @@
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_DEPENDENT_MODULE_ID>
-<!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<STARTVERSION><![CDATA[2.1.19156]]></STARTVERSION>
+<!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<STARTVERSION><![CDATA[2.1.19164]]></STARTVERSION>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <DEPENDANT_MODULE_NAME><![CDATA[User 
Interface Selector]]></DEPENDANT_MODULE_NAME>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--B97FC854C6DD41E692161585645A900F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--B97FC854C6DD41E692161585645A900F-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--B97FC854C6DD41E692161585645A900F-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--B97FC854C6DD41E692161585645A900F-->  
<STARTVERSION><![CDATA[3.0.19156]]></STARTVERSION>
+<!--B97FC854C6DD41E692161585645A900F-->  
<STARTVERSION><![CDATA[3.0.19164]]></STARTVERSION>
 <!--B97FC854C6DD41E692161585645A900F-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--B97FC854C6DD41E692161585645A900F-->  
<DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--B97FC854C6DD41E692161585645A900F-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml
--- a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml  
Thu Jan 03 17:25:37 2013 +0100
+++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml  
Tue Jan 08 05:50:32 2013 +0100
@@ -6,7 +6,7 @@
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <NAME><![CDATA[JBoss Weld]]></NAME>
-<!--C70732EA90A14EC0916078B85CC33D2D-->  
<VERSION><![CDATA[1.1.19156]]></VERSION>
+<!--C70732EA90A14EC0916078B85CC33D2D-->  
<VERSION><![CDATA[1.1.19164]]></VERSION>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <DESCRIPTION><![CDATA[JBoss 
Weld]]></DESCRIPTION>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  <HELP><![CDATA[Provides the JBoss 
Weld framework: Java Contexts and Dependency Injection for the Java EE platform 
(CDI). For more information see http://seamframework.org/Weld]]></HELP>
 <!--C70732EA90A14EC0916078B85CC33D2D-->  
<URL><![CDATA[http://forge.openbravo.com/projects/weld]]></URL>
diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
--- 
a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
       Thu Jan 03 17:25:37 2013 +0100
+++ 
b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
       Tue Jan 08 05:50:32 2013 +0100
@@ -7,7 +7,7 @@
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<AD_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_MODULE_ID>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<STARTVERSION><![CDATA[3.0.19156]]></STARTVERSION>
+<!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<STARTVERSION><![CDATA[3.0.19164]]></STARTVERSION>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME>
 <!--8BDE81545C1A43EAAC4BA3C5ED754DC8-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml
--- 
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml
 Thu Jan 03 17:25:37 2013 +0100
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml
 Tue Jan 08 05:50:32 2013 +0100
@@ -6,7 +6,7 @@
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <NAME><![CDATA[User Interface 
Application]]></NAME>
-<!--9BA0836A3CD74EE4AB48753A47211BCC-->  
<VERSION><![CDATA[2.1.19156]]></VERSION>
+<!--9BA0836A3CD74EE4AB48753A47211BCC-->  
<VERSION><![CDATA[2.1.19164]]></VERSION>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <DESCRIPTION><![CDATA[Provides the 
main application components for the openbravo user interface]]></DESCRIPTION>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  <HELP><![CDATA[Provides the main 
application components for the openbravo user interface. The main layout 
incorporates a navigation bar and a main view area.]]></HELP>
 <!--9BA0836A3CD74EE4AB48753A47211BCC-->  
<URL><![CDATA[http://forge.openbravo.com/projects/clientapplication]]></URL>
diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
--- 
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
      Thu Jan 03 17:25:37 2013 +0100
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
      Tue Jan 08 05:50:32 2013 +0100
@@ -7,7 +7,7 @@
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_DEPENDENT_MODULE_ID>
-<!--15D7CE8D95D043189162DBABA54A1F61-->  
<STARTVERSION><![CDATA[2.1.19156]]></STARTVERSION>
+<!--15D7CE8D95D043189162DBABA54A1F61-->  
<STARTVERSION><![CDATA[2.1.19164]]></STARTVERSION>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  <DEPENDANT_MODULE_NAME><![CDATA[JSON 
Datasource]]></DEPENDANT_MODULE_NAME>
 <!--15D7CE8D95D043189162DBABA54A1F61-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--60A170212F36499D83B8AD38D01F46B3-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--60A170212F36499D83B8AD38D01F46B3-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--60A170212F36499D83B8AD38D01F46B3-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID>
-<!--60A170212F36499D83B8AD38D01F46B3-->  
<STARTVERSION><![CDATA[2.1.19156]]></STARTVERSION>
+<!--60A170212F36499D83B8AD38D01F46B3-->  
<STARTVERSION><![CDATA[2.1.19164]]></STARTVERSION>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--60A170212F36499D83B8AD38D01F46B3-->  <DEPENDANT_MODULE_NAME><![CDATA[User 
Interface Client Kernel]]></DEPENDANT_MODULE_NAME>
 <!--60A170212F36499D83B8AD38D01F46B3-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -35,7 +35,7 @@
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--824D60CB352E4099B1D8C903CA139DAE-->  
<STARTVERSION><![CDATA[3.0.19156]]></STARTVERSION>
+<!--824D60CB352E4099B1D8C903CA139DAE-->  
<STARTVERSION><![CDATA[3.0.19164]]></STARTVERSION>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  
<DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--824D60CB352E4099B1D8C903CA139DAE-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -49,7 +49,7 @@
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_DEPENDENT_MODULE_ID>
-<!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<STARTVERSION><![CDATA[8.1.19156]]></STARTVERSION>
+<!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<STARTVERSION><![CDATA[8.1.19164]]></STARTVERSION>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME>
 <!--E8FD820AFE3D4FE08C02FC47769026AD-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.client.application/src/org/openbravo/client/application/DynamicExpressionParser.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/DynamicExpressionParser.java
        Thu Jan 03 17:25:37 2013 +0100
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/DynamicExpressionParser.java
        Tue Jan 08 05:50:32 2013 +0100
@@ -312,7 +312,8 @@
     // Sometimes (i.e. for the tab display logic, see issue
     // https://issues.openbravo.com/view.php?id=5202),
     // the token needs to be converted to its inp column name
-    if (inpColumnNames) {
+    // Do not convert the name of the preference (preference names starts with 
'#')
+    if (inpColumnNames && !convertedToken.startsWith("#")) {
       convertedToken = "inp" + Sqlc.TransformaNombreColumna(token);
     }
     sessionAttributesInExpression.add(convertedToken);
diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-tab.js.ftl
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-tab.js.ftl
        Thu Jan 03 17:25:37 2013 +0100
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-tab.js.ftl
        Tue Jan 08 05:50:32 2013 +0100
@@ -40,6 +40,10 @@
                 },
     </#if>
 
+     <#if tabComponent.preferenceAttributes != "" >
+        sessionAttributes: ${tabComponent.preferenceAttributes},
+    </#if>
+
     <#if tabComponent.defaultEditMode>
     defaultEditMode: ${tabComponent.defaultEditMode?string},
     </#if> 
diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
     Thu Jan 03 17:25:37 2013 +0100
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
     Tue Jan 08 05:50:32 2013 +0100
@@ -406,6 +406,19 @@
         // and we add the columns which have a callout
 
         final Map<String, String> sessionAttributesMap = new HashMap<String, 
String>();
+
+        // Adds to the session attributes the attributes used in
+        // the display logic of the tabs
+        Window w = tab.getWindow();
+        for (Tab aTab : w.getADTabList()) {
+          if (aTab.getDisplayLogic() != null && aTab.isActive()) {
+            final DynamicExpressionParser parser = new DynamicExpressionParser(
+                aTab.getDisplayLogic(), aTab);
+            setSessionAttributesFromParserResult(parser, sessionAttributesMap, 
tab.getWindow()
+                .getId());
+          }
+        }
+
         for (Field field : getADFieldList(tab.getId())) {
           if (field.getColumn() == null) {
             continue;
diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewTab.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewTab.java
       Thu Jan 03 17:25:37 2013 +0100
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewTab.java
       Tue Jan 08 05:50:32 2013 +0100
@@ -29,6 +29,8 @@
 import javax.inject.Inject;
 
 import org.apache.log4j.Logger;
+import org.codehaus.jettison.json.JSONException;
+import org.codehaus.jettison.json.JSONObject;
 import org.openbravo.base.model.Entity;
 import org.openbravo.base.model.ModelProvider;
 import org.openbravo.base.model.Property;
@@ -39,6 +41,7 @@
 import org.openbravo.client.kernel.Component;
 import org.openbravo.client.kernel.ComponentProvider;
 import org.openbravo.client.kernel.KernelUtils;
+import org.openbravo.client.kernel.RequestContext;
 import org.openbravo.client.kernel.Template;
 import org.openbravo.client.kernel.reference.UIDefinitionController;
 import org.openbravo.dal.core.DalUtil;
@@ -88,6 +91,8 @@
   private boolean isRootTab;
   private String uniqueString = "" + System.currentTimeMillis();
 
+  private Map<String, String> preferenceAttributesMap = new HashMap<String, 
String>();
+
   @Inject
   private OBViewFieldHandler fieldHandler;
 
@@ -522,6 +527,9 @@
       final DynamicExpressionParser parser = new 
DynamicExpressionParser(tab.getDisplayLogic(),
           tab, inpColumnNames);
       jsExpression = parser.getJSExpression();
+
+      // Retrieves the preference attributes used in the display logic of the 
tab
+      setPreferenceAttributesFromParserResult(parser, this.getWindowId());
     }
     if (jsExpression != null) {
       return jsExpression;
@@ -530,6 +538,33 @@
     }
   }
 
+  private void setPreferenceAttributesFromParserResult(DynamicExpressionParser 
parser,
+      String windowId) {
+    for (String attrName : parser.getSessionAttributes()) {
+      if (!preferenceAttributesMap.containsKey(attrName) && 
attrName.startsWith("#")) {
+        final String attrValue = Utility.getContext(new 
DalConnectionProvider(false),
+            RequestContext.get().getVariablesSecureApp(), attrName, windowId);
+        preferenceAttributesMap.put(attrName.replace("#", "_"), attrValue);
+      }
+    }
+  }
+
+  // Returns the preference attributes map in JSON format
+  public String getPreferenceAttributes() {
+    String preferenceAttributes = "";
+    if (!preferenceAttributesMap.isEmpty()) {
+      try {
+        JSONObject preferenceAttributesJSON = new JSONObject();
+        for (String attr : preferenceAttributesMap.keySet()) {
+          preferenceAttributesJSON.put(attr, 
preferenceAttributesMap.get(attr));
+        }
+        preferenceAttributes = preferenceAttributesJSON.toString();
+      } catch (JSONException e) {
+      }
+    }
+    return preferenceAttributes;
+  }
+
   public class ButtonField {
     private static final String AD_DEF_ERROR = "AD definition error: process 
parameter (%s) is using %s reference without %s";
     private String id;
diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
     Thu Jan 03 17:25:37 2013 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
     Tue Jan 08 05:50:32 2013 +0100
@@ -817,6 +817,9 @@
 
     length = this.getFields().length;
 
+    //Updates the visibility of the tabs before they are shown to the client
+    this.view.updateSubtabVisibility();
+
     if (this.validateAfterFicReturn) {
       delete this.validateAfterFicReturn;
       // only validate the fields which have errors or which have changed
diff -r 33b29e22a7fb -r a78537bcadbf 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
 Thu Jan 03 17:25:37 2013 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
 Tue Jan 08 05:50:32 2013 +0100
@@ -229,6 +229,13 @@
       };
     }
 
+    // If the tab comes with session attributes (preference attributes used in 
the display
+    // logic of the tab, see issue 
https://issues.openbravo.com/view.php?id=5202), assign them
+    // to the form, so they will be retrieved when getContextInfo() is called 
for the form
+    if (this.sessionAttributes) {
+      this.viewForm.sessionAttributes = this.sessionAttributes;
+    }
+
     if (this.actionToolbarButtons) {
       length = this.actionToolbarButtons.length;
       for (i = 0; i < length; i++) {
@@ -257,6 +264,9 @@
     this.Super('initWidget', arguments);
 
     this.toolBar.updateButtonState(true, false, true);
+
+    // Update the subtab visibility before the tabs are shown to the client
+    this.updateSubtabVisibility();
   },
 
   show: function () {
@@ -1253,6 +1263,10 @@
       return;
     }
 
+    // Update the tab visibility after a record has been selected and its 
session
+    // attributes have been updated
+    this.updateSubtabVisibility();
+
     // If the record has been automatically selected because was the only 
record in the header tab,
     // only select the record if the window has not been opened by clicking on 
the recent views icon to
     // create a new record
@@ -1288,8 +1302,6 @@
     var tabViewPane = null,
         i;
 
-    this.updateSubtabVisibility();
-
     // refresh the tabs
     if (this.childTabSet && (differentRecordId || 
!this.isOpenDirectModeParent)) {
       length = this.childTabSet.tabs.length;
@@ -1313,7 +1325,9 @@
       length = this.childTabSet.tabs.length;
       for (i = 0; i < length; i++) {
         tabViewPane = this.childTabSet.tabs[i].pane;
-        if (tabViewPane.showTabIf && 
!(tabViewPane.showTabIf(tabViewPane.getContextInfo()))) {
+        // Calling getContextInfo with (false, true, true) in order to obtain 
also the value of the
+        // session attributes of the form
+        if (tabViewPane.showTabIf && 
!(tabViewPane.showTabIf(tabViewPane.getContextInfo(false, true, true)))) {
           this.childTabSet.tabBar.members[i].hide();

------------------------------------------------------------------------------
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to