[PYTHON][TRANS] ~warn message
[burette/coup_de_pouce_velo.git] / point_of_sale.py
1 # -*- coding: utf-8 -*-
2 # Copyright 2020 L'Heureux Cyclage
3 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
4
5 from openerp.osv import osv
6 from openerp.osv import orm
7 from openerp.osv import fields
8 from openerp.tools.translate import _
9
10
11 class pos_order(orm.Model):
12 _inherit = 'pos.order'
13
14 def check_partner_mobile(self, cr, uid, partner_id, context=None):
15 """Check if a partner mobile number is defined and display warning
16 message if not."""
17 partner_obj = self.pool.get('res.partner')
18 partner = partner_obj.browse(cr, uid, partner_id, context=context)
19 is_mobile = partner.mobile
20 if not is_mobile:
21 warn_message = _(
22 """Mobile is required to print a «Coup de Pouce» receipt.\
23 Add mobile number to this partner: %s."""
24 ) % partner.name
25 raise osv.except_osv(
26 _('Warning!'),
27 warn_message)
28 return True
29
30 _columns = {
31 'is_cpv': fields.boolean('"Coup de Pouce Velo"?', change_default=True),
32 }
33
34 def create(self, cr, uid, vals, context=None):
35 if 'partner_id' in vals:
36 partner_id = vals['partner_id']
37 if 'is_cpv' in vals:
38 if vals['is_cpv']:
39 self.check_partner_mobile(cr, uid, partner_id, context)
40 return super(pos_order, self).create(
41 cr, uid, vals, context=context
42 )
43
44 def write(self, cr, uid, ids, vals, context=None):
45 order = self.browse(cr, uid, ids[0], context=context)
46 partner_id = order.partner_id.id
47 if 'is_cpv' in vals:
48 if vals['is_cpv']:
49 self.check_partner_mobile(cr, uid, partner_id, context)
50 return super(pos_order, self).write(
51 cr, uid, ids, vals, context=context
52 )