From 02bd058800c2f113d4747a67416e0bd9b6a2d366 Mon Sep 17 00:00:00 2001 From: svs-odoo Date: Fri, 20 Nov 2020 21:53:23 +0000 Subject: [PATCH] [IMP] mrp: workcenters views MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some changes on the MRP workcenter model (`mrp.workcenter`): - Adds a stat button in the form view to display operations used by the workcenter; - Enables the multi-edit on the list view; - Adds multiple fields in the list view, often as optional; task-2382256 closes odoo/odoo#62126 Related: odoo/enterprise#17250 Signed-off-by: Rémy Voet --- addons/mrp/models/mrp_workcenter.py | 13 +++++++++++-- addons/mrp/views/mrp_workcenter_views.xml | 18 ++++++++++++++++-- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/addons/mrp/models/mrp_workcenter.py b/addons/mrp/models/mrp_workcenter.py index dde3b0fe155..d5a9c84f488 100644 --- a/addons/mrp/models/mrp_workcenter.py +++ b/addons/mrp/models/mrp_workcenter.py @@ -36,8 +36,8 @@ class MrpWorkcenter(models.Model): help="Gives the sequence order when displaying a list of work centers.") color = fields.Integer('Color') costs_hour = fields.Float(string='Cost per hour', help='Specify cost of work center per hour.', default=0.0) - time_start = fields.Float('Time before prod.', help="Time in minutes for the setup.") - time_stop = fields.Float('Time after prod.', help="Time in minutes for the cleaning.") + time_start = fields.Float('Setup Time', help="Time in minutes for the setup.") + time_stop = fields.Float('Cleanup Time', help="Time in minutes for the cleaning.") routing_line_ids = fields.One2many('mrp.routing.workcenter', 'workcenter_id', "Routing Lines") order_ids = fields.One2many('mrp.workorder', 'workcenter_id', "Orders") workorder_count = fields.Integer('# Work Orders', compute='_compute_workorder_count') @@ -192,6 +192,15 @@ class MrpWorkcenter(models.Model): self.resource_id.company_id = vals['company_id'] return super(MrpWorkcenter, self).write(vals) + def action_show_operations(self): + self.ensure_one() + action = self.env['ir.actions.actions']._for_xml_id('mrp.mrp_routing_action') + action['domain'] = [('workcenter_id', '=', self.id)] + action['context'] = { + 'default_workcenter_id': self.id, + } + return action + def action_work_order(self): action = self.env["ir.actions.actions"]._for_xml_id("mrp.action_work_orders") return action diff --git a/addons/mrp/views/mrp_workcenter_views.xml b/addons/mrp/views/mrp_workcenter_views.xml index d4379a88269..6c59bdbae95 100644 --- a/addons/mrp/views/mrp_workcenter_views.xml +++ b/addons/mrp/views/mrp_workcenter_views.xml @@ -32,10 +32,18 @@ mrp.workcenter.tree mrp.workcenter - + - + + + + + + + + + @@ -289,6 +297,12 @@
+ +