From f64b3d95717c156ba077d109246ec503770688d9 Mon Sep 17 00:00:00 2001 From: Suherdy Yacob Date: Tue, 5 May 2026 15:23:51 +0700 Subject: [PATCH] feat: add state field and reporting filters to KDS analysis views --- models/pos_kds_report.py | 16 ++++++++++++++++ views/pos_kds_report_views.xml | 15 +++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/models/pos_kds_report.py b/models/pos_kds_report.py index 580ac04..6670d4b 100644 --- a/models/pos_kds_report.py +++ b/models/pos_kds_report.py @@ -13,6 +13,13 @@ class PosKdsReportLine(models.Model): pos_config_id = fields.Many2one('pos.config', string='POS Shop', compute='_compute_pos_config', store=True) prep_display_id = fields.Many2one('pos.prep.display', string='Preparation Display', required=True) + state = fields.Selection([ + ('in_prep', 'In Preparation'), + ('ready', 'Ready'), + ('done', 'Completed'), + ('cancelled', 'Cancelled') + ], string='Status', default='done') + preparation_time = fields.Integer('Preparation Time (s)', help="Seconds taken to prepare") service_time = fields.Integer('Service Time (s)', help="Seconds taken to serve") completion_time = fields.Integer('Completion Time (s)', help="Total seconds taken to complete (prep + service)") @@ -45,6 +52,15 @@ class PosKdsReportOrder(models.Model): pos_config_id = fields.Many2one('pos.config', string='POS Shop', compute='_compute_pos_config', store=True) prep_display_id = fields.Many2one('pos.prep.display', string='Preparation Display', required=True) + state = fields.Selection([ + ('in_prep', 'In Preparation'), + ('ready', 'Ready'), + ('done', 'Completed'), + ('cancelled', 'Cancelled') + ], string='Status', default='done') + + preparation_time = fields.Integer('Preparation Time (s)', help="Max preparation time across lines") + service_time = fields.Integer('Service Time (s)', help="Max service time across lines") completion_time = fields.Integer('Completion Time (s)', help="Max completion time across all lines of the order on this display") completion_datetime = fields.Datetime('Completion Date', default=fields.Datetime.now) diff --git a/views/pos_kds_report_views.xml b/views/pos_kds_report_views.xml index 4554aa3..ca1f53e 100644 --- a/views/pos_kds_report_views.xml +++ b/views/pos_kds_report_views.xml @@ -10,6 +10,7 @@ + @@ -39,10 +40,15 @@ + + + + + @@ -71,7 +77,10 @@ + + + @@ -95,8 +104,14 @@ + + + + + +