Browse Source

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

AttributeError is raised and catch it
pull/144/head
Damien Crier 10 years ago
parent
commit
44aae79bac
  1. 13
      web_warning_on_save/controller.py

13
web_warning_on_save/controller.py

@ -19,9 +19,12 @@
# #
############################################################################## ##############################################################################
import xmlrpclib
import openerp import openerp
class WarningOnSaveController(openerp.addons.web.http.Controller): class WarningOnSaveController(openerp.addons.web.http.Controller):
_cp_path = "/web_warning_on_save" _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 if method does not exist in the model, do nothing
""" """
m = req.session.model(model) m = req.session.model(model)
if hasattr(m, 'check_warning_on_save'):
try:
return getattr(m, 'check_warning_on_save')(id, req.context) 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)
Loading…
Cancel
Save