[IMP] gunicorn: signaling used for more than just execute().
authorVo Minh Thu <vmt@openerp.com>
Wed, 8 Feb 2012 16:13:12 +0000 (17:13 +0100)
committerVo Minh Thu <vmt@openerp.com>
Wed, 8 Feb 2012 16:13:12 +0000 (17:13 +0100)
bzr revid: vmt@openerp.com-20120208161312-pv9dl8rezsvs00o7

openerp/osv/osv.py
openerp/service/web_services.py

index 7ae672b..877e804 100644 (file)
@@ -168,8 +168,6 @@ class object_proxy(object):
 
     @check
     def execute(self, db, uid, obj, method, *args, **kw):
-        openerp.modules.registry.RegistryManager.check_registry_signaling(db)
-
         cr = pooler.get_db(db).cursor()
         try:
             try:
@@ -184,8 +182,6 @@ class object_proxy(object):
                 raise
         finally:
             cr.close()
-
-        openerp.modules.registry.RegistryManager.signal_caches_change(db)
         return res
 
     def exec_workflow_cr(self, cr, uid, obj, method, *args):
index 3a9ba89..c885abf 100644 (file)
@@ -568,8 +568,10 @@ class objects_proxy(netsvc.ExportService):
             raise NameError("Method not available %s" % method)
         security.check(db,uid,passwd)
         assert openerp.osv.osv.service, "The object_proxy class must be started with start_object_proxy."
+        openerp.modules.registry.RegistryManager.check_registry_signaling(db)
         fn = getattr(openerp.osv.osv.service, method)
         res = fn(db, uid, *params)
+        openerp.modules.registry.RegistryManager.signal_caches_change(db)
         return res
 
 
@@ -649,8 +651,10 @@ class report_spool(netsvc.ExportService):
         if method not in ['report', 'report_get', 'render_report']:
             raise KeyError("Method not supported %s" % method)
         security.check(db,uid,passwd)
+        openerp.modules.registry.RegistryManager.check_registry_signaling(db)
         fn = getattr(self, 'exp_' + method)
         res = fn(db, uid, *params)
+        openerp.modules.registry.RegistryManager.signal_caches_change(db)
         return res
 
     def exp_render_report(self, db, uid, object, ids, datas=None, context=None):