details:   https://code.openbravo.com/erp/devel/pi/rev/cb6171e6cd94
changeset: 22893:cb6171e6cd94
user:      David Baz Fayos <david.baz <at> openbravo.com>
date:      Mon Apr 21 15:19:02 2014 +0200
summary:   Fixed issue 26316: Status bar fields are shown again in saved views
Related to issue 24705: 'getPersonalizationDataFromForm' now takes into account 
existing form fields

diffstat:

 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views.js
    |  12 ++++++++-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization.js
 |   7 ++++-
 2 files changed, 15 insertions(+), 4 deletions(-)

diffs (55 lines):

diff -r 966055fd9cbf -r cb6171e6cd94 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views.js
       Mon Apr 21 09:42:05 2014 +0530
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views.js
       Mon Apr 21 15:19:02 2014 +0200
@@ -190,7 +190,7 @@
 // view state is stored in the standardWindow.getClass().personalization 
object.
 OB.Personalization.getViewDefinition = function (standardWindow, name, 
isDefault) {
   var view, persDataByTab, personalizationData = {},
-      i, formData, length = standardWindow.views.length;
+      i, formFields, formData, length = standardWindow.views.length;
 
   // retrieve the viewstate from the server
   for (i = 0; i < length; i++) {
@@ -198,7 +198,15 @@
     view = standardWindow.views[i];
 
     // get the form personalization information
-    formData = 
OB.Personalization.getPersonalizationDataFromForm(view.viewForm);
+    if (!view.viewForm.getDataSource()) {
+      // If the datasource is not yet set, view.viewForm.fields it is not set 
yet.
+      // Get them directly form the view definition.
+      formFields = view.formFields;
+    } else {
+      formFields = null;
+    }
+
+    formData = 
OB.Personalization.getPersonalizationDataFromForm(view.viewForm, formFields);
     persDataByTab.form = formData.form;
 
     if (view.isShowingTree) {
diff -r 966055fd9cbf -r cb6171e6cd94 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization.js
    Mon Apr 21 09:42:05 2014 +0530
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization.js
    Mon Apr 21 15:19:02 2014 +0200
@@ -39,9 +39,12 @@
 // If an existing personalization data is passed in then that one is
 // used as the basis. This can be used to make sure that the 
 // personalizationData used is up-to-date with the current form fields.
-OB.Personalization.getPersonalizationDataFromForm = function (form) {
+OB.Personalization.getPersonalizationDataFromForm = function (form, 
formFields) {
   var i, dataFields = [],
       statusBarFields, length, record, origPersonalizationData = form && 
form.view ? form.view.getFormPersonalization(true) : null;
+  if (typeof formFields === 'undefined' || formFields === null) {
+    formFields = form.getFields();
+  }
 
   // just use the personalization data which was used on the 
   // form, we can not reconstruct it completely from the form fields
@@ -65,7 +68,7 @@
   // update with the form data, new fields may have been added, titles
   // may have changed etc.
   // the content of dataFields will be updated
-  this.updatePersonalizationDataFromFields(dataFields, form.getFields(), 
statusBarFields || form.statusBarFields);
+  this.updatePersonalizationDataFromFields(dataFields, formFields, 
statusBarFields || form.statusBarFields);
 
   // set the first focus field
   if (form.firstFocusedField) {

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to