Odoo18-Base/addons/point_of_sale/tools/pos_order_data.py

17 lines
603 B
Python
Raw Permalink Normal View History

2025-03-10 11:12:23 +07:00
class PoSOrderData:
"""
Convenience class which allow to easily compare 2 "orders datas" received from PoS ui
"""
def __init__(self, order_data: dict):
self.order_payment_value_sorted = tuple(sorted([(p[2]['amount'], p[2]['payment_method_id']) for p in order_data['statement_ids']]))
self.order_received_lines_sorted = tuple(sorted([(l[2]['product_id'], l[2]['qty'], l[2]['price_unit']) for l in order_data['lines']]))
def __hash__(self):
return hash((
self.order_received_lines_sorted,
self.order_payment_value_sorted,
))