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