From 2925bb5c9ab66144a97ab9e9df727c419e50aa8a Mon Sep 17 00:00:00 2001 From: Anthony Muschang Date: Wed, 1 Apr 2015 02:34:30 +0200 Subject: [PATCH] [FIX] models: Always use MissingError when a document is missing As done in write and already in next version (see 0fd773a), accessing a deleted record (through read or check access rights) should always return a MissingError instead of the generic except_orm. This will allow code ignoring deleted record (e.g. 'recompute' method) to safely process the other records. Fixes #6105 --- openerp/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/models.py b/openerp/models.py index 3be038d3dc7..fda46834332 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -3470,8 +3470,8 @@ class BaseModel(object): # errors for non-transactional search/read sequences coming from clients return _logger.warning('Failed operation on deleted record(s): %s, uid: %s, model: %s', operation, uid, self._name) - raise except_orm(_('Missing document(s)'), - _('One of the documents you are trying to access has been deleted, please try again after refreshing.')) + raise MissingError( + _('One of the documents you are trying to access has been deleted, please try again after refreshing.')) def check_access_rights(self, cr, uid, operation, raise_exception=True): # no context on purpose.