X-Git-Url: https://git.cyclocoop.org/?p=burette%2Fcoup_de_pouce_velo.git;a=blobdiff_plain;f=point_of_sale.py;h=9c9a0168ac392c1b7b7fe48325e67dc5ce13f5c5;hp=7d1ebffb1ab0b36138ddf30c2a9b92ab9fbf6007;hb=HEAD;hpb=f6c340a1189bcabf54b97aeab05618d86c15823f diff --git a/point_of_sale.py b/point_of_sale.py index 7d1ebff..9c9a016 100644 --- a/point_of_sale.py +++ b/point_of_sale.py @@ -11,43 +11,33 @@ from openerp.tools.translate import _ class pos_order(orm.Model): _inherit = 'pos.order' - def check_partner_mobile(self, cr, uid, partner_id, context=None): + def check_partner_mobile(self, cr, uid, order_id, context=None): """Check if a partner mobile number is defined and display warning message if not.""" - partner_obj = self.pool.get('res.partner') - partner = partner_obj.browse(cr, uid, partner_id, context=context) - is_mobile = partner.mobile + order = self.browse(cr, uid, order_id, context=context) + is_mobile = order.partner_id.mobile + partner = order.partner_id if not is_mobile: - warn_message = """ - Mobile is required to print a «Coup de Pouce» receipt. - Add mobile number to this partner: %s. - """.decode('utf-8') % partner.name + warn_message = _( + """Mobile is required to print a «Coup de Pouce» receipt.\ + Add mobile number to this partner: %s.""" + ) % partner.name raise osv.except_osv( - _('Warning'), - _(warn_message)) + _('Warning!'), + warn_message) return True - _columns = { - 'is_cpv': fields.boolean('"Coup de Pouce Velo"?', change_default=True), - } - - - def create(self, cr, uid, vals, context=None): - if 'partner_id' in vals: - partner_id = vals['partner_id'] - if 'is_cpv' in vals: - if vals['is_cpv']: - self.check_partner_mobile(cr, uid, partner_id, context) - return super(pos_order, self).create( - cr, uid, vals, context=context - ) - def write(self, cr, uid, ids, vals, context=None): order = self.browse(cr, uid, ids[0], context=context) + order_id = order.id partner_id = order.partner_id.id - if 'is_cpv' in vals: - if vals['is_cpv']: - self.check_partner_mobile(cr, uid, partner_id, context) + statements = order.statement_ids + is_cpv = 0 + for statement in statements: + if statement.journal_id.is_cpv: + is_cpv +=1 + if is_cpv: + self.check_partner_mobile(cr, uid, order_id, context) return super(pos_order, self).write( cr, uid, ids, vals, context=context )