diff --git a/pos_usability/models/__init__.py b/pos_usability/models/__init__.py index 75951d0..47c8027 100644 --- a/pos_usability/models/__init__.py +++ b/pos_usability/models/__init__.py @@ -1,4 +1,5 @@ from . import product from . import pos_category from . import pos_payment_method +from . import pos_order from . import pos_session diff --git a/pos_usability/models/pos_order.py b/pos_usability/models/pos_order.py new file mode 100644 index 0000000..5191b36 --- /dev/null +++ b/pos_usability/models/pos_order.py @@ -0,0 +1,23 @@ +# Copyright 2024 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class PosOrder(models.Model): + _inherit = 'pos.order' + + # field displayed in pos.order list view + payments_char = fields.Char( + string="Payment Methods", compute="_compute_payments_char", store=True) + + @api.depends('payment_ids') + def _compute_payments_char(self): + for order in self: + payments = set() + for pay in order.payment_ids: + if pay.payment_method_id.name: + # unfortunately, 'name' of pos.payment.method is translate=True + payments.add(pay.payment_method_id.name) + order.payments_char = ', '.join(payments) diff --git a/pos_usability/views/pos_order.xml b/pos_usability/views/pos_order.xml index 441fdb8..4155cc2 100644 --- a/pos_usability/views/pos_order.xml +++ b/pos_usability/views/pos_order.xml @@ -18,4 +18,15 @@ + + + pos.order + + + + + + + +