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\">&nbsp;</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\">&nbsp;</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\">&nbsp;</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

Reply via email to