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