You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

29 lines
1.4 KiB

# -*- coding: utf-8 -*-
from odoo import api, fields, models, _
class PosTopSelling(models.TransientModel):
_name = 'pos.sale.top.selling'
_description = 'Point of Sale Top Selling Product/Category/Customer Report'
start_date = fields.Datetime()
end_date = fields.Datetime()
top_selling = fields.Selection([('products', 'Products'), ('category', 'Categories'), ('customers', 'Customers')],
string='Top Selling', default='products')
no_of_products = fields.Integer()
no_of_categories = fields.Integer()
no_of_customers = fields.Integer()
def generate_report(self):
data = {'start_date': self.start_date, 'end_date': self.end_date, 'top_selling': self.top_selling}
if self.top_selling == 'products':
data['no_of_products'] = self.no_of_products
return self.env.ref('advanced_pos_reports.pos_top_selling_products_report').report_action([], data=data)
elif self.top_selling == 'category':
data['no_of_categories'] = self.no_of_categories
return self.env.ref('advanced_pos_reports.pos_top_selling_category_report').report_action([], data=data)
elif self.top_selling == 'customers':
data['no_of_customers'] = self.no_of_customers
return self.env.ref('advanced_pos_reports.pos_top_selling_customer_report').report_action([], data=data)