diff --git a/addons/pos_sale/report/sale_report.py b/addons/pos_sale/report/sale_report.py index 97ccd467f69..13f16a69c03 100644 --- a/addons/pos_sale/report/sale_report.py +++ b/addons/pos_sale/report/sale_report.py @@ -8,6 +8,12 @@ from odoo import api, fields, models class SaleReport(models.Model): _inherit = "sale.report" + @api.model + def _get_done_states(self): + done_states = super(SaleReport, self)._get_done_states() + done_states.extend(['pos_done', 'invoiced']) + return done_states + state = fields.Selection(selection_add=[('pos_draft', 'New'), ('paid', 'Paid'), ('pos_done', 'Posted'), diff --git a/addons/sale/models/product_product.py b/addons/sale/models/product_product.py index 635e89820e6..d5045aa6464 100644 --- a/addons/sale/models/product_product.py +++ b/addons/sale/models/product_product.py @@ -17,12 +17,13 @@ class ProductProduct(models.Model): return r date_from = fields.Datetime.to_string(fields.datetime.combine(fields.datetime.now() - timedelta(days=365), time.min)) - date_to = fields.Datetime.to_string(fields.datetime.combine(fields.datetime.today(), time.min)) + + done_states = self.env['sale.report']._get_done_states() + domain = [ - ('state', 'in', ['sale', 'done', 'paid']), + ('state', 'in', done_states), ('product_id', 'in', self.ids), ('date', '>=', date_from), - ('date', '<', date_to) ] for group in self.env['sale.report'].read_group(domain, ['product_id', 'product_uom_qty'], ['product_id']): r[group['product_id'][0]] = group['product_uom_qty'] diff --git a/addons/sale/report/sale_report.py b/addons/sale/report/sale_report.py index fab00d06a39..4936a9401ed 100644 --- a/addons/sale/report/sale_report.py +++ b/addons/sale/report/sale_report.py @@ -12,6 +12,10 @@ class SaleReport(models.Model): _rec_name = 'date' _order = 'date desc' + @api.model + def _get_done_states(self): + return ['sale', 'done', 'paid'] + name = fields.Char('Order Reference', readonly=True) date = fields.Datetime('Order Date', readonly=True) confirmation_date = fields.Datetime('Confirmation Date', readonly=True)