improvement
authorFabien Pinckaers <fp@tinyerp.com>
Tue, 9 Dec 2008 14:31:53 +0000 (15:31 +0100)
committerFabien Pinckaers <fp@tinyerp.com>
Tue, 9 Dec 2008 14:31:53 +0000 (15:31 +0100)
bzr revid: fp@tinyerp.com-20081209143153-7t18385iv9bbwasn

bin/addons/__init__.py
bin/addons/base/module/module.py

index 4eeed2e..2ac9d6e 100644 (file)
@@ -442,6 +442,18 @@ def load_module_graph(cr, graph, status=None, **kwargs):
     
     migrations = MigrationManager(cr, graph)
 
+    # only if update
+    register_class('base')
+    pool.instanciate('base', cr)
+    modobj = pool.get('ir.module.module')
+    modobj.update_list(cr, 1)
+
+    mids = modobj.search(cr, 1, [('state','=','installed')])
+    for m in modobj.browse(cr, 1, mids):
+        for dep in m.dependencies_id:
+            if dep.state=='uninstalled':
+                modobj.button_install(cr, 1, [m.id])
+
     for package in graph:
         status['progress'] = (float(statusi)+0.1)/len(graph)
         m = package.name
@@ -493,8 +505,10 @@ def load_module_graph(cr, graph, status=None, **kwargs):
             cr.execute("update ir_module_module set state='installed', latest_version=%s where id=%d", (ver, mid,))
             cr.commit()
 
-            # Update translations for all installed languages
+            # Set new modules and dependencies
             modobj = pool.get('ir.module.module')
+
+            # Update translations for all installed languages
             if modobj:
                 modobj.update_translations(cr, 1, [mid], None)
                 cr.commit()
index a6767cd..7fe32ab 100644 (file)
@@ -347,8 +347,8 @@ class module(osv.osv):
                 self._update_dependencies(cr, uid, id, terp.get('depends', []))
                 self._update_category(cr, uid, id, terp.get('category', 'Uncategorized'))
 
-        import socket
-        socket.setdefaulttimeout(10)
+        #import socket
+        #socket.setdefaulttimeout(10)
         for repository in robj.browse(cr, uid, robj.search(cr, uid, [])):
             try:
                 index_page = urllib.urlopen(repository.url).read()