pos_usability: add payment methods in tree view of pos.order (via a computed char field)

This commit is contained in:
Alexis de Lattre
2024-04-12 15:08:01 +00:00
parent 46fcf5c0ef
commit 4ee69f3bff
3 changed files with 35 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
from . import product
from . import pos_category
from . import pos_payment_method
from . import pos_order
from . import pos_session

View File

@@ -0,0 +1,23 @@
# Copyright 2024 Akretion France (http://www.akretion.com/)
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
# 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)

View File

@@ -18,4 +18,15 @@
</field>
</record>
<record id="view_pos_order_tree" model="ir.ui.view">
<field name="model">pos.order</field>
<field name="inherit_id" ref="point_of_sale.view_pos_order_tree"/>
<field name="arch" type="xml">
<field name="amount_total" position="after">
<field name="payments_char" optional="show"/>
</field>
</field>
</record>
</odoo>