refactor: restrict POS paid order history to the current day instead of including yesterday

This commit is contained in:
Suherdy Yacob 2026-06-04 14:55:14 +07:00
parent f8c59c560f
commit 69b6a8f3ea

View File

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from odoo import fields, models, api from odoo import fields, models, api
from odoo.osv import expression from odoo.osv import expression
from datetime import timedelta, datetime from datetime import datetime
import pytz import pytz
@ -10,7 +10,7 @@ class PosOrder(models.Model):
@api.model @api.model
def search_paid_order_ids(self, config_id, domain, limit, offset): def search_paid_order_ids(self, config_id, domain, limit, offset):
"""Limit paid orders list loaded on POS frontend to today and the day before.""" """Limit paid orders list loaded on POS frontend to the current day."""
user_tz_name = self.env.context.get('tz') or self.env.user.tz or 'UTC' user_tz_name = self.env.context.get('tz') or self.env.user.tz or 'UTC'
try: try:
user_tz = pytz.timezone(user_tz_name) user_tz = pytz.timezone(user_tz_name)
@ -18,13 +18,12 @@ class PosOrder(models.Model):
user_tz = pytz.UTC user_tz = pytz.UTC
today_local = fields.Date.to_date(fields.Date.context_today(self)) today_local = fields.Date.to_date(fields.Date.context_today(self))
yesterday_local = today_local - timedelta(days=1) today_start_local = datetime.combine(today_local, datetime.min.time())
yesterday_start_local = datetime.combine(yesterday_local, datetime.min.time()) today_start_tz = user_tz.localize(today_start_local)
yesterday_start_tz = user_tz.localize(yesterday_start_local) today_start_utc = today_start_tz.astimezone(pytz.UTC).replace(tzinfo=None)
yesterday_start_utc = yesterday_start_tz.astimezone(pytz.UTC).replace(tzinfo=None)
# Restrict domain so only orders from today and yesterday (local timezone start) are returned # Restrict domain so only orders from the current day (local timezone start) are returned
domain = expression.AND([domain, [('date_order', '>=', yesterday_start_utc)]]) domain = expression.AND([domain, [('date_order', '>=', today_start_utc)]])
return super(PosOrder, self).search_paid_order_ids(config_id, domain, limit, offset) return super(PosOrder, self).search_paid_order_ids(config_id, domain, limit, offset)