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