3
0
Fork 0

[FIX] hasattr in controllers returns always 'True' so check error if

AttributeError is raised and catch it
7.0
Damien Crier 2015-06-08 17:02:38 +02:00
parent 230ed748d4
commit 44aae79bac
1 changed files with 10 additions and 3 deletions

View File

@ -19,9 +19,12 @@
#
##############################################################################
import xmlrpclib
import openerp
class WarningOnSaveController(openerp.addons.web.http.Controller):
_cp_path = "/web_warning_on_save"
@ -32,8 +35,12 @@ class WarningOnSaveController(openerp.addons.web.http.Controller):
if method does not exist in the model, do nothing
"""
m = req.session.model(model)
if hasattr(m, 'check_warning_on_save'):
try:
return getattr(m, 'check_warning_on_save')(id, req.context)
else:
return False
except xmlrpclib.Fault as e:
if 'AttributeError' in e.faultString:
return False
else:
raise openerp.osv.osv.except_osv('Error', e.faultCode)