details: /erp/devel/pi/rev/4287acab4a0f
changeset: 11824:4287acab4a0f
user: Asier Lostalé <asier.lostale <at> openbravo.com>
date: Mon May 02 13:40:02 2011 +0200
summary: related to issue 16956: Don't check whether current version is 3.0
details: /erp/devel/pi/rev/6cc7e07e3511
changeset: 11825:6cc7e07e3511
user: Asier Lostalé <asier.lostale <at> openbravo.com>
date: Mon May 02 14:01:58 2011 +0200
summary: fixed issue 16956: Increased license manager granularity to tabs
details: /erp/devel/pi/rev/8f862dbf5c01
changeset: 11826:8f862dbf5c01
user: Asier Lostalé <asier.lostale <at> openbravo.com>
date: Mon May 02 15:12:47 2011 +0200
summary: fixed issue 16956: Don't show 2.50 non allowed tabs
details: /erp/devel/pi/rev/000970cba425
changeset: 11827:000970cba425
user: Asier Lostalé <asier.lostale <at> openbravo.com>
date: Mon May 02 15:24:47 2011 +0200
summary: related to issue 16956: Use ActivationKey singleton in
UserInfoWidgetActionHandler
diffstat:
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
| 4 +-
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
| 6 +-
src/org/openbravo/erpCommon/businessUtility/WindowTabs.java
| 42 +++++----
src/org/openbravo/erpCommon/obps/ActivationKey.java
| 35 +++++--
4 files changed, 52 insertions(+), 35 deletions(-)
diffs (235 lines):
diff -r 87b919ca8474 -r 000970cba425
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
---
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
Mon May 02 14:01:03 2011 +0200
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java
Mon May 02 15:24:47 2011 +0200
@@ -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) 2009 Openbravo SLU
+ * All portions are Copyright (C) 2009-2011 Openbravo SLU
* All Rights Reserved.
* Contributor(s): ______________________________________.
************************************************************************
@@ -264,7 +264,7 @@
}
protected List<Role> getRoles(Map<String, Object> parameters) {
- ActivationKey ak = new ActivationKey();
+ ActivationKey ak = ActivationKey.getInstance();
SystemInformation sysInfo =
OBDal.getInstance().get(SystemInformation.class, "0");
boolean correctSystemStatus = sysInfo.getSystemStatus() == null
|| KernelServlet.getGlobalParameters().getOBProperty("safe.mode",
"false")
diff -r 87b919ca8474 -r 000970cba425
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
---
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
Mon May 02 14:01:03 2011 +0200
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
Mon May 02 15:24:47 2011 +0200
@@ -26,6 +26,8 @@
import org.openbravo.client.kernel.KernelConstants;
import org.openbravo.client.kernel.Template;
import org.openbravo.dal.service.OBDal;
+import org.openbravo.erpCommon.obps.ActivationKey;
+import org.openbravo.erpCommon.obps.ActivationKey.FeatureRestriction;
import org.openbravo.model.ad.ui.Field;
import org.openbravo.model.ad.ui.Tab;
import org.openbravo.model.ad.ui.Window;
@@ -126,7 +128,9 @@
final List<OBViewTab> tempTabs = new ArrayList<OBViewTab>();
for (Tab tab : getWindow().getADTabList()) {
// NOTE: grid sequence and field sequence tabs do not have any fields
defined!
- if (!tab.isActive() || tab.getADFieldList().isEmpty()) {
+ if (!tab.isActive()
+ || tab.getADFieldList().isEmpty()
+ || ActivationKey.getInstance().hasLicencesTabAccess(tab.getId()) !=
FeatureRestriction.NO_RESTRICTION) {
continue;
}
final OBViewTab tabComponent = createComponent(OBViewTab.class);
diff -r 87b919ca8474 -r 000970cba425
src/org/openbravo/erpCommon/businessUtility/WindowTabs.java
--- a/src/org/openbravo/erpCommon/businessUtility/WindowTabs.java Mon May
02 14:01:03 2011 +0200
+++ b/src/org/openbravo/erpCommon/businessUtility/WindowTabs.java Mon May
02 15:24:47 2011 +0200
@@ -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) 2001-2010 Openbravo SLU
+ * All portions are Copyright (C) 2001-2011 Openbravo SLU
* All Rights Reserved.
* Contributor(s): ______________________________________.
************************************************************************
@@ -24,6 +24,8 @@
import org.apache.log4j.Logger;
import org.openbravo.base.secureApp.VariablesSecureApp;
import org.openbravo.database.ConnectionProvider;
+import org.openbravo.erpCommon.obps.ActivationKey;
+import org.openbravo.erpCommon.obps.ActivationKey.FeatureRestriction;
import org.openbravo.erpCommon.utility.Utility;
/**
@@ -318,11 +320,9 @@
text.append(" <span class=\"tabTitle_elements_text\"
id=\"tabTitle_text\">").append(
this.Title).append("</span>\n");
if (isFirst)
- text
- .append(" <span class=\"tabTitle_elements_separator\"><div
class=\"tabTitle_elements_separator_icon\"></div></span>\n");
+ text.append(" <span class=\"tabTitle_elements_separator\"><div
class=\"tabTitle_elements_separator_icon\"></div></span>\n");
if (isFirst)
- text
- .append(" <span class=\"tabTitle_elements_image\"><div
class=\"tabTitle_elements_image_normal_icon\"
id=\"TabStatusIcon\"></div></span>\n");
+ text.append(" <span class=\"tabTitle_elements_image\"><div
class=\"tabTitle_elements_image_normal_icon\"
id=\"TabStatusIcon\"></div></span>\n");
if (isFirst)
text.append(" </span>\n");
if (isFirst)
@@ -353,14 +353,15 @@
else if (!data.adTabId.equals(this.TabID) && strShowTrl.equals("N")
&& data.istranslationtab.equals("Y"))
continue;
- else if (data.isactive.equals("N") || data.enabled.equals("N"))
+ else if (data.isactive.equals("N")
+ || data.enabled.equals("N")
+ ||
ActivationKey.getInstance().hasLicencesTabAccess(data.adTabId) !=
FeatureRestriction.NO_RESTRICTION)
continue;
if (!isFirstTab)
text.append("<span class=\"tabSeparator\"> </span>\n");
- text
- .append(
- (isFirstTab && !((data.adTabId.equals(this.TabID) ||
data.isbreadcrumb
- .equals("Y")))) ? "<div class=\"marginLeft1\">" :
"<div>")
+ text.append(
+ (isFirstTab && !((data.adTabId.equals(this.TabID) ||
data.isbreadcrumb.equals("Y")))) ? "<div class=\"marginLeft1\">"
+ : "<div>")
.append("<span class=\"dojoTab")
.append(
((data.adTabId.equals(this.TabID) ||
data.isbreadcrumb.equals("Y")) ? (isFirst ? "NULL dojoTabparentfirst"
@@ -425,11 +426,9 @@
text.append(" <span class=\"tabTitle_elements_text\"
id=\"tabTitle_text\">").append(
this.Title).append("</span>\n");
if (!hasParent)
- text
- .append(" <span class=\"tabTitle_elements_separator\"><div
class=\"tabTitle_elements_separator_icon\"></div></span>\n");
+ text.append(" <span class=\"tabTitle_elements_separator\"><div
class=\"tabTitle_elements_separator_icon\"></div></span>\n");
if (!hasParent)
- text
- .append(" <span class=\"tabTitle_elements_image\"><div
class=\"tabTitle_elements_image_normal_icon\"
id=\"TabStatusIcon\"></div></span>\n");
+ text.append(" <span class=\"tabTitle_elements_image\"><div
class=\"tabTitle_elements_image_normal_icon\"
id=\"TabStatusIcon\"></div></span>\n");
if (!hasParent)
text.append(" </span>\n");
if (!hasParent)
@@ -458,14 +457,15 @@
else if (!data.adTabId.equals(this.TabID) && strShowTrl.equals("N")
&& data.istranslationtab.equals("Y"))
continue;
- else if (data.isactive.equals("N") || data.enabled.equals("N"))
+ else if (data.isactive.equals("N")
+ || data.enabled.equals("N")
+ || ActivationKey.getInstance().hasLicencesTabAccess(data.adTabId)
!= FeatureRestriction.NO_RESTRICTION)
continue;
if (!isFirstTab)
text.append("<span class=\"tabSeparator\"> </span>\n");
- text
- .append(
- (isFirstTab && !((data.adTabId.equals(this.TabID) ||
data.isbreadcrumb.equals("Y")))) ? "<div class=\"marginLeft1\">"
- : "<div>")
+ text.append(
+ (isFirstTab && !((data.adTabId.equals(this.TabID) ||
data.isbreadcrumb.equals("Y")))) ? "<div class=\"marginLeft1\">"
+ : "<div>")
.append("<span class=\"")
.append(
((data.adTabId.equals(this.TabID) ||
data.isbreadcrumb.equals("Y")) ? (!hasParent ? "dojoTabcurrentfirst"
@@ -525,7 +525,9 @@
else if (!data.adTabId.equals(this.TabID) && strShowTrl.equals("N")
&& data.istranslationtab.equals("Y"))
continue;
- else if (data.isactive.equals("N") || data.enabled.equals("N"))
+ else if (data.isactive.equals("N")
+ || data.enabled.equals("N")
+ || ActivationKey.getInstance().hasLicencesTabAccess(data.adTabId) !=
FeatureRestriction.NO_RESTRICTION)
continue;
if (!isFirst)
text.append("<span class=\"tabSeparator\"> </span>\n");
diff -r 87b919ca8474 -r 000970cba425
src/org/openbravo/erpCommon/obps/ActivationKey.java
--- a/src/org/openbravo/erpCommon/obps/ActivationKey.java Mon May 02
14:01:03 2011 +0200
+++ b/src/org/openbravo/erpCommon/obps/ActivationKey.java Mon May 02
15:24:47 2011 +0200
@@ -58,10 +58,8 @@
import org.openbravo.dal.service.OBCriteria;
import org.openbravo.dal.service.OBDal;
import org.openbravo.database.ConnectionProvider;
-import org.openbravo.erpCommon.modules.VersionUtility.VersionComparator;
import org.openbravo.erpCommon.obps.DisabledModules.Artifacts;
import org.openbravo.erpCommon.utility.OBError;
-import org.openbravo.erpCommon.utility.OBVersion;
import org.openbravo.erpCommon.utility.Utility;
import org.openbravo.model.ad.access.Session;
import org.openbravo.model.ad.module.Module;
@@ -197,6 +195,8 @@
* Singleton, so the {@link ActivationKey#getInstance()} method should be
used instead.
* <p/>
* This constructor is public to maintain backwards compatibility.
+ *
+ * @deprecated
*/
public ActivationKey() {
org.openbravo.model.ad.system.System sys = OBDal.getInstance().get(
@@ -413,12 +413,9 @@
ois.close();
if (!isActive()) {
- VersionComparator vc = new VersionComparator();
- if (vc.compare("3.0.0", OBVersion.getInstance().getVersionNumber()) <=
0) {
- // community 3.0 instance, restrict both tiers
- tier1Artifacts.addAll(m1.get(TIER_1_PREMIUM_FEATURE));
- tier2Artifacts.addAll(m1.get(TIER_2_PREMIUM_FEATURE));
- }
+ // community instance, restrict both tiers
+ tier1Artifacts.addAll(m1.get(TIER_1_PREMIUM_FEATURE));
+ tier2Artifacts.addAll(m1.get(TIER_2_PREMIUM_FEATURE));
} else if (licenseClass == LicenseClass.BASIC) {
// basic, restrict tier 2
tier2Artifacts.addAll(m1.get(TIER_2_PREMIUM_FEATURE));
@@ -434,7 +431,7 @@
return licenseClass == null ? LicenseClass.COMMUNITY : licenseClass;
}
- @SuppressWarnings( { "static-access", "unchecked" })
+ @SuppressWarnings({ "static-access", "unchecked" })
private void setLogger() {
if (isActive() && !opsLog) {
// add instance id to logger
@@ -943,7 +940,6 @@
*/
public FeatureRestriction hasLicenseAccess(String type, String id) {
String actualType = type;
- VersionComparator vc = new VersionComparator();
if (actualType == null || actualType.isEmpty() || id == null ||
id.isEmpty()) {
return FeatureRestriction.NO_RESTRICTION;
@@ -1000,8 +996,7 @@
}
// Check core premium features restrictions
- if ((!isActive() && vc.compare("3.0.0",
OBVersion.getInstance().getVersionNumber()) > 0)
- || licenseClass == LicenseClass.STD) {
+ if (licenseClass == LicenseClass.STD) {
return FeatureRestriction.NO_RESTRICTION;
}
@@ -1011,6 +1006,22 @@
if (tier2Artifacts.contains(actualType + artifactId)) {
return FeatureRestriction.TIER2_RESTRICTION;
}
+
+ if ("W".equals(actualType)) {
+ // For windows, check also tab restrictions
+ return hasLicencesTabAccess(id);
+ }
+
+ return FeatureRestriction.NO_RESTRICTION;
+ }
+
+ public FeatureRestriction hasLicencesTabAccess(String tabId) {
+ if (tier1Artifacts.contains("T" + tabId)) {
+ return FeatureRestriction.TIER1_RESTRICTION;
+ }
+ if (tier2Artifacts.contains("T" + tabId)) {
+ return FeatureRestriction.TIER2_RESTRICTION;
+ }
return FeatureRestriction.NO_RESTRICTION;
}
------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network
management toolset available today. Delivers lowest initial
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits