details: https://code.openbravo.com/erp/devel/pi/rev/668cc694e1b5
changeset: 32733:668cc694e1b5
user: Carlos Aristu <carlos.aristu <at> openbravo.com>
date: Wed Sep 20 18:29:04 2017 +0200
summary: related to bug 36863: take the access level from the table of
selector's tab
diffstat:
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java
| 20 +++++++++-
1 files changed, 18 insertions(+), 2 deletions(-)
diffs (37 lines):
diff -r bf62b6f1ff39 -r 668cc694e1b5
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java
---
a/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java
Wed Sep 20 17:59:44 2017 +0200
+++
b/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java
Wed Sep 20 18:29:04 2017 +0200
@@ -208,8 +208,7 @@
if (isOrgSelector) {
// Just retrieve the list of direct accessible organizations in the
current context
orgs =
RequestContext.get().getVariablesSecureApp().getSessionValue("#User_Org");
- int accessLevel =
Integer.parseInt(sel.getTable().getDataAccessLevel());
- if (AccessLevel.ORGANIZATION.getDbValue() != accessLevel &&
!orgs.contains("'0'")) {
+ if (includeOrgZero(parameters, orgs)) {
orgs += "".equals(orgs) ? "'0'" : ",'0'";
}
} else {
@@ -292,6 +291,23 @@
return HQL;
}
+ private boolean includeOrgZero(Map<String, String> parameters, String
userOrgs) {
+ if (userOrgs.contains("'0'")) {
+ return false;
+ }
+ String tabId = parameters.get("tabId");
+ if (StringUtils.isEmpty(tabId)) {
+ return false;
+ }
+ Tab tab = OBDal.getInstance().get(Tab.class, tabId);
+ Table table = tab.getTable();
+ if (table == null) {
+ return false;
+ }
+ int accessLevel = Integer.parseInt(table.getDataAccessLevel());
+ return AccessLevel.ORGANIZATION.getDbValue() != accessLevel;
+ }
+
/**
* Returns the where clause of a selector's field based on the given value.
*
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits