diff --git a/bemade_fsm/__manifest__.py b/bemade_fsm/__manifest__.py index 76c491a..c976f1c 100644 --- a/bemade_fsm/__manifest__.py +++ b/bemade_fsm/__manifest__.py @@ -44,7 +44,7 @@ ], 'data': [ # BV: FOR MIGRATION - # 'data/fsm_data.xml', + 'data/fsm_data.xml', 'views/task_template_views.xml', 'views/equipment.xml', 'security/ir.model.access.csv', diff --git a/bemade_fsm/data/fsm_data.xml b/bemade_fsm/data/fsm_data.xml index ba35236..34612a5 100644 --- a/bemade_fsm/data/fsm_data.xml +++ b/bemade_fsm/data/fsm_data.xml @@ -6,7 +6,7 @@ Waiting on Parts Blocked - + @@ -14,7 +14,7 @@ Work Executed Blocked - + @@ -22,7 +22,7 @@ Exception Blocked - + diff --git a/bemade_fsm/models/task.py b/bemade_fsm/models/task.py index 6f26f6f..fd4fab0 100644 --- a/bemade_fsm/models/task.py +++ b/bemade_fsm/models/task.py @@ -38,7 +38,7 @@ class Task(models.Model): ) planned_date_begin = fields.Datetime( - string="Start Date", + string="Planned Start Date", tracking=True, task_dependency_tracking=True, compute="_compute_planned_dates", @@ -47,7 +47,7 @@ class Task(models.Model): ) planned_date_end = fields.Datetime( - string="End Date", + string="Planned End Date", tracking=True, task_dependency_tracking=True, compute="_compute_planned_dates", diff --git a/bemade_fsm/views/equipment.xml b/bemade_fsm/views/equipment.xml index da1042d..3cf6a14 100644 --- a/bemade_fsm/views/equipment.xml +++ b/bemade_fsm/views/equipment.xml @@ -16,7 +16,7 @@ diff --git a/bemade_margin_vendor_pricelist/models/sale_order.py b/bemade_margin_vendor_pricelist/models/sale_order.py index aacabb8..2b5252a 100644 --- a/bemade_margin_vendor_pricelist/models/sale_order.py +++ b/bemade_margin_vendor_pricelist/models/sale_order.py @@ -5,48 +5,74 @@ from odoo.tools.float_utils import float_is_zero, float_compare class SaleOrder(models.Model): _inherit = 'sale.order' - margin_actual = fields.Monetary("Margin", compute='_compute_margin_actual', - store=False) - margin_percent_actual = fields.Float('Margin (%)', compute='_compute_margin_actual', - store=False, - group_operator='avg') + margin_actual = fields.Monetary("Our Margin", compute='_compute_margin_actual', store=False) + + margin_percent_actual = fields.Float( + string='Our Margin (%)', + compute='_compute_margin_actual', + store=False, + group_operator='avg' + ) @api.depends('order_line.margin_actual', 'amount_untaxed') def _compute_margin_actual(self): for order in self: order.margin_actual = sum(order.order_line.mapped('margin_actual')) - order.margin_percent_actual = order.amount_untaxed \ - and order.margin_actual / order.amount_untaxed + order.margin_percent_actual = order.amount_untaxed and order.margin_actual / order.amount_untaxed class SaleOrderLine(models.Model): _inherit = 'sale.order.line' - purchase_price_vendor = fields.Float(compute='_compute_purchase_price_vendor', - string="Vendor Price", groups="base.group_user", - digits='Product Price') - margin_percent_vendor = fields.Float(string='Margin (%) on Vendor Price', - groups='base.group_user', group_operator='avg', - compute='_compute_margin_vendor') - margin_vendor = fields.Float(string='Margin on Vendor Price', - groups='base.group_user', digits='Product Price', - compute='_compute_margin_vendor') + purchase_price_vendor = fields.Float( + compute='_compute_purchase_price_vendor', + string="Vendor Price", + groups="base.group_user", + digits='Product Price' + ) - purchase_price_actual = fields.Float(compute="_compute_actual_margins", - digits='Product Price', - groups="base.group_user", - string="Purchase Price") - margin_actual = fields.Float(compute="_compute_actual_margins", - digits='Product Price', - groups="base.group_user", - string="Margin") - margin_percent_actual = fields.Float(compute="_compute_actual_margins", - groups="base.group_user", - string="Margin (%)") + margin_percent_vendor = fields.Float( + string='Margin (%) on Vendor Price', + groups='base.group_user', + group_operator='avg', + compute='_compute_margin_vendor' + ) - @api.depends('purchase_price', 'purchase_price_vendor', 'move_ids.product_id', - 'move_ids.product_id.qty_available', 'move_ids.state', - 'qty_to_deliver') + margin_vendor = fields.Float( + string='Margin on Vendor Price', + groups='base.group_user', + digits='Product Price', + compute='_compute_margin_vendor' + ) + + purchase_price_actual = fields.Float( + compute="_compute_actual_margins", + digits='Product Price', + groups="base.group_user", + string="Purchase Price" + ) + + margin_actual = fields.Float( + compute="_compute_actual_margins", + digits='Product Price', + groups="base.group_user", + string="Our Margin" + ) + + margin_percent_actual = fields.Float( + compute="_compute_actual_margins", + groups="base.group_user", + string="Our Margin (%)" + ) + + @api.depends( + 'purchase_price', + 'purchase_price_vendor', + 'move_ids.product_id', + 'move_ids.product_id.qty_available', + 'move_ids.state', + 'qty_to_deliver' + ) def _compute_actual_margins(self): """ We want to use the margin based on average inventory valuation when the sale order line will be completely fulfilled (or has been fulfilled) from stock. @@ -62,8 +88,7 @@ class SaleOrderLine(models.Model): non_product_lines.margin_percent_actual = 0.0 for line in self - non_product_lines: stock_missing = line._determine_missing_stock() - if float_is_zero(stock_missing, - precision_rounding=line.product_uom.rounding): + if float_is_zero(stock_missing, precision_rounding=line.product_uom.rounding): # everything is coming from stock, use inventory valuation line.purchase_price_actual = line.purchase_price elif float_compare(line.product_uom_qty, stock_missing, @@ -79,8 +104,7 @@ class SaleOrderLine(models.Model): / line.product_uom_qty line.margin_actual = line.price_subtotal - ( line.purchase_price_actual * line.product_uom_qty) - line.margin_percent_actual = line.price_subtotal \ - and line.margin_actual / line.price_subtotal + line.margin_percent_actual = line.price_subtotal and line.margin_actual / line.price_subtotal def _determine_missing_stock(self) -> float: """ Compute how much stock is missing to meet an order line's demand. In the