ajay javiya (OpenERP) has proposed merging 
lp:~openerp-dev/openobject-server/trunk-bug-1065988-aja into 
lp:openobject-server.

Requested reviews:
  OpenERP Core Team (openerp)
Related bugs:
  Bug #1065988 in OpenERP Server: "[6.1][Trunk]Weird behaviour of module list 
update."
  https://bugs.launchpad.net/openobject-server/+bug/1065988

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-bug-1065988-aja/+merge/129886

Hello,
Remove module from module list, after deleting the module from the addons 
folder and updating the module list.
Thank You
-- 
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-bug-1065988-aja/+merge/129886
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-server/trunk-bug-1065988-aja.
=== modified file 'openerp/addons/base/module/module.py'
--- openerp/addons/base/module/module.py	2012-10-03 16:18:07 +0000
+++ openerp/addons/base/module/module.py	2012-10-16 13:25:04 +0000
@@ -516,17 +516,19 @@
 
     # update the list of available packages
     def update_list(self, cr, uid, context=None):
-        res = [0, 0] # [update, add]
-
+        res = [0, 0, 0] # [update, add, delete]
         known_mods = self.browse(cr, uid, self.search(cr, uid, []))
         known_mods_names = dict([(m.name, m) for m in known_mods])
-
+        
+        module_deleted = list(set(known_mods_names.keys()) - set(modules.get_modules()))
+        module_ids=self.search(cr,uid,[('name','in',module_deleted),('state','=','uninstalled')])
+        self.unlink(cr,uid,module_ids)
+        res[2] = len(module_deleted)
         # iterate through detected modules and update/create them in db
         for mod_name in modules.get_modules():
             mod = known_mods_names.get(mod_name)
             terp = self.get_module_info(mod_name)
             values = self.get_values_from_terp(terp)
-
             if mod:
                 updated_values = {}
                 for key in values:

=== modified file 'openerp/addons/base/module/wizard/base_module_update.py'
--- openerp/addons/base/module/wizard/base_module_update.py	2012-09-28 12:22:06 +0000
+++ openerp/addons/base/module/wizard/base_module_update.py	2012-10-16 13:25:04 +0000
@@ -29,6 +29,7 @@
     _columns = {
         'update': fields.integer('Number of modules updated', readonly=True),
         'add': fields.integer('Number of modules added', readonly=True),
+        'delete':fields.integer('Number of modules deleted', readonly=True),
         'state':fields.selection([('init','init'),('done','done')], 'state', readonly=True),
     }
 
@@ -38,8 +39,8 @@
 
     def update_module(self, cr, uid, ids, context=None):
         module_obj = self.pool.get('ir.module.module')
-        update, add = module_obj.update_list(cr, uid,)
-        self.write(cr, uid, ids, {'update': update, 'add': add, 'state': 'done'}, context=context)
+        update, add, delete = module_obj.update_list(cr, uid,)
+        self.write(cr, uid, ids, {'update': update, 'add': add,'delete': delete, 'state': 'done'}, context=context)
         return False
 
     def action_module_open(self, cr, uid, ids, context):

=== modified file 'openerp/addons/base/module/wizard/base_module_update_view.xml'
--- openerp/addons/base/module/wizard/base_module_update_view.xml	2012-08-17 07:25:55 +0000
+++ openerp/addons/base/module/wizard/base_module_update_view.xml	2012-10-16 13:25:04 +0000
@@ -15,6 +15,7 @@
                     <group states="done" >
                         <field name="update"/>
                         <field name="add" />
+                        <field name="delete" />
                     </group>
                     <footer>
                         <div states="init">

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to