details:   https://code.openbravo.com/erp/devel/pi/rev/cd5e1a38c069
changeset: 21425:cd5e1a38c069
user:      David Baz Fayos <david.baz <at> openbravo.com>
date:      Thu Nov 07 13:23:04 2013 +0100
summary:   Fixed issue 24687: Removed double DataSource request in grid
when there is using a default saved view

diffstat:

 
modules/org.openbravo.client.application/src/org/openbravo/client/application/personalization/PersonalizationActionHandler.java
 |  25 +++++++++-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
                           |   5 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
                       |   6 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js
                     |   9 +++
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views.js
             |   5 ++
 5 files changed, 45 insertions(+), 5 deletions(-)

diffs (135 lines):

diff -r c91c09a9f155 -r cd5e1a38c069 
modules/org.openbravo.client.application/src/org/openbravo/client/application/personalization/PersonalizationActionHandler.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/personalization/PersonalizationActionHandler.java
   Thu Nov 07 12:05:31 2013 +0100
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/personalization/PersonalizationActionHandler.java
   Thu Nov 07 13:23:04 2013 +0100
@@ -11,13 +11,15 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2011 Openbravo SLU 
+ * All portions are Copyright (C) 2011-2013 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
  */
 package org.openbravo.client.application.personalization;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 import javax.enterprise.context.RequestScoped;
@@ -31,6 +33,8 @@
 import org.openbravo.client.kernel.BaseActionHandler;
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
+import org.openbravo.dal.service.OBQuery;
+import org.openbravo.model.ad.domain.Preference;
 import org.openbravo.model.ad.ui.Tab;
 
 /**
@@ -90,6 +94,25 @@
           // is null if already removed
           OBDal.getInstance().remove(uiPersonalization);
         }
+
+        // Delete also all the preferences that has this uiPersonalization as 
the 'Default View'
+        List<Object> params = new ArrayList<Object>();
+        StringBuilder hql = new StringBuilder();
+        hql.append(" as p where ");
+        hql.append(" p.searchKey = ? ");
+        params.add(uiPersonalization);
+        hql.append(" and p.property = ?");
+        params.add("OBUIAPP_DefaultSavedView");
+
+        OBQuery<Preference> qPref = 
OBDal.getInstance().createQuery(Preference.class,
+            hql.toString());
+        qPref.setParameters(params);
+        List<Preference> preferences = qPref.list();
+
+        for (Preference preference : preferences) {
+          OBDal.getInstance().remove(preference);
+        }
+
         return new JSONObject().put("result", "success");
       } else if (action.equals(ACTION_STORE)) {
 
diff -r c91c09a9f155 -r cd5e1a38c069 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
     Thu Nov 07 12:05:31 2013 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
     Thu Nov 07 13:23:04 2013 +0100
@@ -1445,7 +1445,7 @@
   },
 
   refreshContents: function (callback) {
-    var selectedValues, context;
+    var selectedValues, context, additionalCriteriaTabId;
 
     this.resetEmptyMessage();
     this.view.updateTabTitle();
@@ -1454,7 +1454,8 @@
      * In case the url contains advanced criteria, the initial criteria 
contains the criteria to be applied. So it should not be deleted.
      * Refer issue https://issues.openbravo.com/view.php?id=23333
      */
-    if (this.view.standardWindow.additionalCriteriaTabId !== this.view.tabId) {
+    additionalCriteriaTabId = this.view.standardWindow.additionalCriteriaTabId;
+    if (additionalCriteriaTabId && additionalCriteriaTabId !== 
this.view.tabId) {
       delete this.initialCriteria;
     }
 
diff -r c91c09a9f155 -r cd5e1a38c069 
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 Nov 07 12:05:31 2013 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
 Thu Nov 07 13:23:04 2013 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2010-2012 Openbravo SLU
+ * All portions are Copyright (C) 2010-2013 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -307,7 +307,9 @@
     // a specific tab with a record, the direct link logic will already take 
care
     // of fetching data
     if (this.isRootView && !this.standardWindow.directTabInfo) {
-      this.viewGrid.fetchData(this.viewGrid.getCriteria());
+      if (!this.standardWindow.checkIfDefaultSavedView()) {
+        this.viewGrid.fetchData(this.viewGrid.getCriteria());
+      }
       this.refreshContents = false;
     }
 
diff -r c91c09a9f155 -r cd5e1a38c069 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js
       Thu Nov 07 12:05:31 2013 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js
       Thu Nov 07 13:23:04 2013 +0100
@@ -475,6 +475,15 @@
     }
   },
 
+  checkIfDefaultSavedView: function () {
+    var persDefaultValue = OB.PropertyStore.get('OBUIAPP_DefaultSavedView', 
this.windowId);
+    if (persDefaultValue && persDefaultValue !== 'dummyId' && 
OB.Utilities.checkProfessionalLicense(null, true)) {
+      return true;
+    } else {
+      return false;
+    }
+  },
+
   setPersonalization: function (personalization) {
     var i, defaultView, persDefaultValue, views, length, me = this;
 
diff -r c91c09a9f155 -r cd5e1a38c069 
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
       Thu Nov 07 12:05:31 2013 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-manage-views.js
       Thu Nov 07 13:23:04 2013 +0100
@@ -342,6 +342,11 @@
           break;
         }
       }
+      if (OB.PropertyStore.get('OBUIAPP_DefaultSavedView', 
standardWindow.windowId) === personalizationId) {
+        // If the 'Default View' has been deleted, the local property pointing 
to it is still
+        // in the browser until the following logout/login, so it should be 
deleted
+        delete OB.Properties['OBUIAPP_DefaultSavedView' + '_' + 
standardWindow.windowId];
+      }
     }
   });
 };
\ No newline at end of file

------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to