diff --git a/openerp/netsvc.py b/openerp/netsvc.py index a533fa97143..ef72ba179f2 100644 --- a/openerp/netsvc.py +++ b/openerp/netsvc.py @@ -247,12 +247,16 @@ def dispatch_rpc(service_name, method, params): log(rpc_request,logging.DEBUG, logline, replace_request_password(params), depth=1) return result + except openerp.osv.orm.except_orm: + raise except openerp.exceptions.AccessError: raise except openerp.exceptions.AccessDenied: raise except openerp.exceptions.Warning: raise + except openerp.exceptions.RedirectWarning: + raise except openerp.exceptions.DeferredException, e: _logger.exception(tools.exception_to_unicode(e)) post_mortem(e.traceback) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 47d267461f3..96f56ee6826 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -59,7 +59,6 @@ from lxml import etree import fields import openerp -import openerp.netsvc as netsvc import openerp.tools as tools from openerp.tools.config import config from openerp.tools.misc import CountingStream diff --git a/openerp/service/model.py b/openerp/service/model.py index ac37264ae2f..976af76bc93 100644 --- a/openerp/service/model.py +++ b/openerp/service/model.py @@ -98,8 +98,6 @@ def check(f): if openerp.pooler.get_pool(dbname)._init: raise openerp.exceptions.Warning('Currently, this database is not fully loaded and can not be used.') return f(dbname, *args, **kwargs) - except except_orm: - raise except IntegrityError, inst: osv_pool = openerp.pooler.get_pool(dbname) for key in osv_pool._sql_error.keys(): @@ -127,9 +125,6 @@ def check(f): raise openerp.osv.orm.except_orm(_('Integrity Error'), msg) else: raise openerp.osv.orm.except_orm(_('Integrity Error'), inst[0]) - except Exception: - _logger.exception("Uncaught exception") - raise return wrapper