[MODULE] ~description
[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, order_id, context=None):
15 """Check if a partner mobile number is defined and display warning
16 message if not."""
17 order = self.browse(cr, uid, order_id, context=context)
18 is_mobile = order.partner_id.mobile
19 partner = order.partner_id
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 def write(self, cr, uid, ids, vals, context=None):
31 order = self.browse(cr, uid, ids[0], context=context)
32 order_id = order.id
33 partner_id = order.partner_id.id
34 statements = order.statement_ids
35 is_cpv = 0
36 for statement in statements:
37 if statement.journal_id.is_cpv:
38 is_cpv +=1
39 if is_cpv:
40 self.check_partner_mobile(cr, uid, order_id, context)
41 return super(pos_order, self).write(
42 cr, uid, ids, vals, context=context
43 )