# Copyright 2020 L'Heureux Cyclage
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+import account
import point_of_sale
import report
import wizard
'init_xml': [
],
'update_xml': [
- 'view/point_of_sale.xml',
+ 'view/account_statement.xml',
],
'installable': True,
'auto_install': False,
--- /dev/null
+# -*- coding: utf-8 -*-
+# Copyright 2020 L'Heureux Cyclage
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from openerp.osv import osv
+from openerp.osv import orm
+from openerp.osv import fields
+
+
+class account_journal(orm.Model):
+ _inherit = 'account.journal'
+
+ _columns = {
+ 'is_cpv': fields.boolean(
+ '«Coup de Pouce Vélo» payment method',
+ help='Check this box if this is a «Coup de Pouce Vélo» payment method'
+ ),
+ }
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-27 11:00+0000\n"
-"PO-Revision-Date: 2020-05-27 11:00+0000\n"
+"POT-Creation-Date: 2020-05-28 19:52+0000\n"
+"PO-Revision-Date: 2020-05-28 19:52+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Plural-Forms: \n"
#. module: coup_de_pouce_velo
-#: field:pos.order,is_cpv:0
-msgid "\"Coup de Pouce Velo\"?"
+#: field:account.journal,is_cpv:0
+msgid "«Coup de Pouce Vélo» payment method"
msgstr ""
#. module: coup_de_pouce_velo
-#: model:ir.model,name:coup_de_pouce_velo.model_pos_order
-msgid "Point of Sale"
+#: model:ir.model,name:coup_de_pouce_velo.model_pos_make_payment
+msgid "Point of Sale Payment"
+msgstr ""
+
+#. module: coup_de_pouce_velo
+#: model:ir.model,name:coup_de_pouce_velo.model_account_journal
+msgid "Journal"
+msgstr ""
+
+#. module: coup_de_pouce_velo
+#: help:account.journal,is_cpv:0
+msgid "Check this box if this is a «Coup de Pouce Vélo» payment method"
msgstr ""
#. module: coup_de_pouce_velo
msgid "Warning!"
msgstr ""
+#. module: coup_de_pouce_velo
+#: model:ir.model,name:coup_de_pouce_velo.model_pos_order
+msgid "Point of Sale"
+msgstr ""
+
#. module: coup_de_pouce_velo
#: code:addons/coup_de_pouce_velo/point_of_sale.py:21
#, python-format
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-27 11:00+0000\n"
-"PO-Revision-Date: 2020-05-27 13:07+0200\n"
-"Last-Translator: Ludovic CHEVALIER <ludovic.chevalier@heureux-cyclage."
-"org>\n"
+"POT-Creation-Date: 2020-05-28 19:52+0000\n"
+"PO-Revision-Date: 2020-05-28 21:54+0200\n"
+"Last-Translator: Ludovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>\n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"X-Generator: Poedit 2.3.1\n"
#. module: coup_de_pouce_velo
-#: field:pos.order,is_cpv:0
-msgid "\"Coup de Pouce Velo\"?"
-msgstr "\"Coup de Pouce Vélo\"?"
+#: field:account.journal,is_cpv:0
+msgid "«Coup de Pouce Vélo» payment method"
+msgstr "Moyen de paiement type «Coup de Pouce Vélo»"
#. module: coup_de_pouce_velo
-#: model:ir.model,name:coup_de_pouce_velo.model_pos_order
-msgid "Point of Sale"
-msgstr "Atelier"
+#: model:ir.model,name:coup_de_pouce_velo.model_pos_make_payment
+msgid "Point of Sale Payment"
+msgstr "Paiement en point de vente"
+
+#. module: coup_de_pouce_velo
+#: model:ir.model,name:coup_de_pouce_velo.model_account_journal
+msgid "Journal"
+msgstr "Journal"
+
+#. module: coup_de_pouce_velo
+#: help:account.journal,is_cpv:0
+msgid "Check this box if this is a «Coup de Pouce Vélo» payment method"
+msgstr ""
+"Cocher cette case s'il s'agit d'un moyen de paiement de type «Coup de Pouce "
+"Vélo»"
#. module: coup_de_pouce_velo
#: code:addons/coup_de_pouce_velo/point_of_sale.py:26
msgid "Warning!"
msgstr "Avertissement!"
+#. module: coup_de_pouce_velo
+#: model:ir.model,name:coup_de_pouce_velo.model_pos_order
+msgid "Point of Sale"
+msgstr "Atelier"
+
#. module: coup_de_pouce_velo
#: code:addons/coup_de_pouce_velo/point_of_sale.py:21
#, python-format
"Mobile is required to print a «Coup de Pouce» receipt. Add "
"mobile number to this partner: %s."
msgstr ""
-"Le portable est nécessaire pour imprimer un reçu «Coup de Pouce». Ajouter "
-"un numéro de portable à ce contact: %s."
+"Le portable est nécessaire pour imprimer un reçu «Coup de Pouce». Ajouter un "
+"numéro de portable à ce contact: %s."
#. module: coup_de_pouce_velo
#: model:ir.model,name:coup_de_pouce_velo.model_pos_receipt
msgid "Point of sale receipt"
msgstr "Reçu de l'atelier"
+
+#~ msgid "\"Coup de Pouce Velo\"?"
+#~ msgstr "\"Coup de Pouce Vélo\"?"
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.\
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
)
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<openerp>
+ <data>
+ <record id="view_account_journal_pos_user_form" model="ir.ui.view">
+ <field name="name">account.journal.form</field>
+ <field name="model">account.journal</field>
+ <field name="inherit_id" ref="point_of_sale.view_account_journal_pos_user_form"/>
+ <field name="priority" eval="8"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='journal_user']" position="after">
+ <field name="is_cpv"/>
+ </xpath>
+ </field>
+ </record>
+ </data>
+</openerp>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<openerp>
- <data>
- <record id="view_pos_pos_form" model="ir.ui.view">
- <field name="name">pos.order.form</field>
- <field name="model">pos.order</field>
- <field name="inherit_id" ref="pos_membership.view_pos_pos_form"/>
- <field name="priority" eval="8"/>
- <field name="arch" type="xml">
- <xpath expr="//field[@name='membership_stop']" position="after">
- <field name="is_cpv"/>
- </xpath>
- </field>
- </record>
- </data>
-</openerp>
# Copyright 2020 L'Heureux Cyclage
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+import pos_payment
import pos_receipt
--- /dev/null
+# -*- coding: utf-8 -*-
+# Copyright 2020 L'Heureux Cyclage
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from openerp.osv import osv
+from openerp.osv import orm
+from openerp.osv import fields
+
+
+class pos_make_payment(orm.Model):
+ _inherit = 'pos.make.payment'
+
+ def check(self, cr, uid, ids, context=None):
+ """Add a check of partner mobile number to the check method."""
+ pmps = self.browse(cr, uid, ids, context=context)
+ for pmp in pmps:
+ journal = pmp.journal_id
+ if journal.is_cpv:
+ order_obj = self.pool.get('pos.order')
+ order_id = context['active_id']
+ order_obj.check_partner_mobile(cr, uid, order_id, context=None)
+ return super(pos_make_payment, self).check(
+ cr, uid, ids, context=context
+ )
_inherit = 'pos.receipt'
def print_report(self, cr, uid, ids, context=None):
- """Check if partner mobile number is defined before printing receipt."""
+ """Check if partner mobile number is defined before printing
+ receipt."""
order_id = context['active_id']
order_obj = self.pool.get('pos.order')
order = order_obj.browse(cr, uid, order_id, context=context)
- partner_id = order.partner_id.id
+ statements = order.statement_ids
if context is None:
context = {}
datas = {'ids': context.get('active_ids', [])}
report_name = 'bikecoop_l10n_fr.receipt'
- if order.is_cpv:
- order_obj.check_partner_mobile(cr, uid, partner_id, context=None)
+ is_cpv = 0
+ for statement in statements:
+ if statement.journal_id.is_cpv:
+ is_cpv += 1
+ if is_cpv:
+ order_obj.check_partner_mobile(cr, uid, order_id, context=None)
report_name = 'coup_de_pouce_velo.receipt'
return {
'type': 'ir.actions.report.xml',