From 9041d6e0ffbc8e77eab3533ae34e9b61ce5702d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20van=20der=20Essen?= Date: Fri, 10 Apr 2015 17:13:57 +0200 Subject: [PATCH] [FIX] point_of_sale: make sure user security PIN only contains digits --- addons/point_of_sale/res_users.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/addons/point_of_sale/res_users.py b/addons/point_of_sale/res_users.py index d2d4cef9a09..4aef0ad909e 100644 --- a/addons/point_of_sale/res_users.py +++ b/addons/point_of_sale/res_users.py @@ -12,3 +12,13 @@ class res_users(osv.osv): 'pos_security_pin': fields.char('Security PIN',size=32, help='A Security PIN used to protect sensible functionality in the Point of Sale'), 'pos_config' : fields.many2one('pos.config', 'Default Point of Sale', domain=[('state', '=', 'active')]), } + + def _check_pin(self, cr, uid, ids, context=None): + for user in self.browse(cr, uid, ids, context=context): + if user.pos_security_pin and not user.pos_security_pin.isdigit(): + return False + return True + + _constraints = [ + (_check_pin, "Security PIN can only contain digits",['pos_security_pin']), + ]