mirror of
https://github.com/OCA/web.git
synced 2025-02-22 13:21:25 +02:00
[FIX] hasattr in controllers returns always 'True' so check error if
AttributeError is raised and catch it
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user