details:   /erp/devel/pi/rev/07a66cfe3b9b
changeset: 12754:07a66cfe3b9b
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Wed Jun 08 10:11:45 2011 +0200
summary:   [upgr] Send info about not applied modules when scanning for updates

details:   /erp/devel/pi/rev/bdcdde662f3c
changeset: 12755:bdcdde662f3c
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Wed Jun 08 10:14:25 2011 +0200
summary:   [upgr] Set admin context when checking for upgrade poups

diffstat:

 
modules/org.openbravo.client.application/src/org/openbravo/client/application/HeartBeatPopupActionHandler.java
 |  61 +++++----
 src/org/openbravo/erpCommon/modules/ImportModule.java                          
                                |  31 +++++
 2 files changed, 64 insertions(+), 28 deletions(-)

diffs (134 lines):

diff -r d2d96091167a -r bdcdde662f3c 
modules/org.openbravo.client.application/src/org/openbravo/client/application/HeartBeatPopupActionHandler.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/HeartBeatPopupActionHandler.java
    Tue Jun 07 22:36:07 2011 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/HeartBeatPopupActionHandler.java
    Wed Jun 08 10:14:25 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):  ______________________________________.
  ************************************************************************
@@ -71,37 +71,42 @@
       boolean usingAprm = true;
       boolean exportConfigScript = false;
       if (isUpgrading) {
-        sysAdmin = 
"S".equals(OBContext.getOBContext().getRole().getUserLevel());
-        if (sysAdmin) {
-          if (OBDal.getInstance().exists(Module.ENTITY_NAME, 
APRM_MIGRATION_TOOL_ID)) {
-            usingAprm = new AdvPaymentMngtDao().existsAPRMReadyPreference();
-          }
+        OBContext.setAdminMode();
+        try {
+          sysAdmin = 
"S".equals(OBContext.getOBContext().getRole().getUserLevel());
+          if (sysAdmin) {
+            if (OBDal.getInstance().exists(Module.ENTITY_NAME, 
APRM_MIGRATION_TOOL_ID)) {
+              usingAprm = new AdvPaymentMngtDao().existsAPRMReadyPreference();
+            }
 
-          // Check all applied configuration scripts are exported in 3.0
-          OBCriteria<Module> qMod = 
OBDal.getInstance().createCriteria(Module.class);
-          qMod.add(Restrictions.eq(Module.PROPERTY_TYPE, "T"));
-          qMod.add(Restrictions.eq(Module.PROPERTY_ENABLED, true));
-          qMod.add(Restrictions.eq(Module.PROPERTY_APPLYCONFIGURATIONSCRIPT, 
true));
-          String obDir = 
OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty(
-              "source.path");
-          String oldScripts = "";
-          for (Module mod : qMod.list()) {
-            File cfScript = new File(obDir + "/modules/" + mod.getJavaPackage()
-                + "/src-db/database", "configScript.xml");
-            if (cfScript.exists() && DBSMOBUtil.isOldConfigScript(cfScript)) {
-              if (!oldScripts.isEmpty()) {
-                oldScripts += ", ";
+            // Check all applied configuration scripts are exported in 3.0
+            OBCriteria<Module> qMod = 
OBDal.getInstance().createCriteria(Module.class);
+            qMod.add(Restrictions.eq(Module.PROPERTY_TYPE, "T"));
+            qMod.add(Restrictions.eq(Module.PROPERTY_ENABLED, true));
+            qMod.add(Restrictions.eq(Module.PROPERTY_APPLYCONFIGURATIONSCRIPT, 
true));
+            String obDir = 
OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty(
+                "source.path");
+            String oldScripts = "";
+            for (Module mod : qMod.list()) {
+              File cfScript = new File(obDir + "/modules/" + 
mod.getJavaPackage()
+                  + "/src-db/database", "configScript.xml");
+              if (cfScript.exists() && DBSMOBUtil.isOldConfigScript(cfScript)) 
{
+                if (!oldScripts.isEmpty()) {
+                  oldScripts += ", ";
+                }
+                oldScripts += mod.getName();
+                log.info(mod.getName() + " config script is not exported in 
3.0");
               }
-              oldScripts += mod.getName();
-              log.info(mod.getName() + " config script is not exported in 
3.0");
+            }
+
+            exportConfigScript = !oldScripts.isEmpty();
+
+            if (exportConfigScript) {
+              result.put("oldConfigScripts", oldScripts);
             }
           }
-
-          exportConfigScript = !oldScripts.isEmpty();
-
-          if (exportConfigScript) {
-            result.put("oldConfigScripts", oldScripts);
-          }
+        } finally {
+          OBContext.restorePreviousMode();
         }
       }
 
diff -r d2d96091167a -r bdcdde662f3c 
src/org/openbravo/erpCommon/modules/ImportModule.java
--- a/src/org/openbravo/erpCommon/modules/ImportModule.java     Tue Jun 07 
22:36:07 2011 +0200
+++ b/src/org/openbravo/erpCommon/modules/ImportModule.java     Wed Jun 08 
10:14:25 2011 +0200
@@ -74,6 +74,8 @@
 import org.openbravo.erpCommon.utility.OBError;
 import org.openbravo.erpCommon.utility.Utility;
 import org.openbravo.erpCommon.utility.Zip;
+import org.openbravo.model.ad.module.ModuleInstall;
+import org.openbravo.model.ad.system.SystemInformation;
 import org.openbravo.service.web.ResourceNotFoundException;
 import org.openbravo.services.webservice.Module;
 import org.openbravo.services.webservice.ModuleDependency;
@@ -1722,10 +1724,39 @@
     try {
       OBContext.setAdminMode();
 
+      String defaultMaturity = 
OBDal.getInstance().get(SystemInformation.class, "0")
+          .getMaturityUpdate();
+      List<String> installingMods = new ArrayList<String>();
+
+      // Taking into account modules in process of intallation. These modules 
have higher priority
+      // over actually installed ones
+      OBCriteria<ModuleInstall> qModInstall = 
OBDal.getInstance().createCriteria(
+          ModuleInstall.class);
+      for (ModuleInstall mod : qModInstall.list()) {
+        org.openbravo.model.ad.module.Module currentDBVersion = 
OBDal.getInstance().get(
+            org.openbravo.model.ad.module.Module.class, mod.getModule());
+
+        String[][] versionInfo = new String[1][0];
+        versionInfo[0] = new String[3];
+        versionInfo[0][0] = "M";
+        versionInfo[0][1] = mod.getVersion();
+        versionInfo[0][2] = currentDBVersion == null ? defaultMaturity : 
currentDBVersion
+            .getMaturityUpdate();
+
+        // Dependencies are not needed as it is a version installed from CR
+
+        rt.put(mod.getModule(), versionInfo);
+        installingMods.add(mod.getModule());
+      }
+
       OBCriteria<org.openbravo.model.ad.module.Module> obCriteria = 
OBDal.getInstance()
           .createCriteria(org.openbravo.model.ad.module.Module.class);
       obCriteria.add(Restrictions.not(Restrictions.eq(
           org.openbravo.model.ad.module.Module.PROPERTY_STATUS, "U")));
+      if (!installingMods.isEmpty()) {
+        obCriteria.add(Restrictions.not(Restrictions.in(
+            org.openbravo.model.ad.module.Module.PROPERTY_ID, 
installingMods)));
+      }
       List<org.openbravo.model.ad.module.Module> modules = obCriteria.list();
 
       for (org.openbravo.model.ad.module.Module mod : modules) {

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to