diff --git a/pos_usability/__manifest__.py b/pos_usability/__manifest__.py index df609da..03f7a6f 100644 --- a/pos_usability/__manifest__.py +++ b/pos_usability/__manifest__.py @@ -4,7 +4,7 @@ { "name": "POS Usability", - "version": "14.0.1.0.0", + "version": "16.0.1.0.0", "category": "Point of sale", "license": "AGPL-3", "summary": "Misc usability improvement for point of sale", @@ -33,5 +33,5 @@ Akretion: "views/pos_session.xml", "views/product.xml", ], - "installable": False, + "installable": True, } diff --git a/pos_usability/models/pos_category.py b/pos_usability/models/pos_category.py index 09747c8..518c671 100644 --- a/pos_usability/models/pos_category.py +++ b/pos_usability/models/pos_category.py @@ -11,15 +11,18 @@ class PosCategory(models.Model): product_count = fields.Integer( '# Products', compute='_compute_product_count', help="The number of products under this point of sale category " - "(does not consider the children categories)") + "(children categories included)") - # inspired by the code of odoo/addons/product/models/product.py + # inspired by the code of odoo/addons/product/models/product_category.py def _compute_product_count(self): read_group_res = self.env['product.template'].read_group( - [('pos_categ_id', 'in', self.ids)], + [('pos_categ_id', 'child_of', self.ids)], ['pos_categ_id'], ['pos_categ_id']) group_data = dict( (data['pos_categ_id'][0], data['pos_categ_id_count']) for data in read_group_res) for pos_categ in self: - pos_categ.product_count = group_data.get(pos_categ.id, 0) + product_count = 0 + for sub_categ_id in pos_categ.search([('id', 'child_of', pos_categ.ids)]).ids: + product_count += group_data.get(sub_categ_id, 0) + pos_categ.product_count = product_count diff --git a/pos_usability/models/pos_payment_method.py b/pos_usability/models/pos_payment_method.py index 4707db3..4f2f19c 100644 --- a/pos_usability/models/pos_payment_method.py +++ b/pos_usability/models/pos_payment_method.py @@ -9,4 +9,6 @@ class PosPaymentMethod(models.Model): _inherit = 'pos.payment.method' _check_company_auto = True - cash_journal_id = fields.Many2one(check_company=True) + outstanding_account_id = fields.Many2one(check_company=True) + receivable_account_id = fields.Many2one(check_company=True) + journal_id = fields.Many2one(check_company=True) diff --git a/pos_usability/models/product.py b/pos_usability/models/product.py index 4e8f2dc..b56211d 100644 --- a/pos_usability/models/product.py +++ b/pos_usability/models/product.py @@ -8,5 +8,6 @@ from odoo import fields, models class ProductTemplate(models.Model): _inherit = 'product.template' - available_in_pos = fields.Boolean(tracking=True) + available_in_pos = fields.Boolean(tracking=True, default=True) + to_weight = fields.Boolean(tracking=True) pos_categ_id = fields.Many2one(tracking=True) diff --git a/pos_usability/report/pos.xml b/pos_usability/report/pos.xml index 4792084..9729b38 100644 --- a/pos_usability/report/pos.xml +++ b/pos_usability/report/pos.xml @@ -4,6 +4,7 @@