From 05b6f6c292ca04ac2cb23633bc395bc3d5f2f9d0 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Mon, 5 Jan 2015 05:18:56 +0100 Subject: [PATCH] [FIX] quality_control_mrp: Some problems [IMP] quality_control_mrp: Smartbutton to inspections --- quality_control_mrp/__openerp__.py | 1 + quality_control_mrp/i18n/es.po | 4 +++ .../i18n/quality_control_mrp.pot | 5 +++ quality_control_mrp/models/mrp_production.py | 16 ++-------- quality_control_mrp/models/qc_inspection.py | 21 ++---------- .../views/mrp_production_view.xml | 32 +++++++++++++++++++ 6 files changed, 46 insertions(+), 33 deletions(-) create mode 100644 quality_control_mrp/views/mrp_production_view.xml diff --git a/quality_control_mrp/__openerp__.py b/quality_control_mrp/__openerp__.py index 536336a38..3b6060d7f 100644 --- a/quality_control_mrp/__openerp__.py +++ b/quality_control_mrp/__openerp__.py @@ -37,6 +37,7 @@ "data": [ 'data/quality_control_mrp_data.xml', 'views/qc_inspection_view.xml', + 'views/mrp_production_view.xml', ], "installable": True, "auto_install": True, diff --git a/quality_control_mrp/i18n/es.po b/quality_control_mrp/i18n/es.po index 04e8522a7..890fdabda 100644 --- a/quality_control_mrp/i18n/es.po +++ b/quality_control_mrp/i18n/es.po @@ -37,3 +37,7 @@ msgstr "Producción realizada" msgid "Production order" msgstr "Orden de producción" +#. module: quality_control_mrp +#: view:mrp.production:quality_control_mrp.mrp_production_qc_view +msgid "inspections" +msgstr "inspecciones" diff --git a/quality_control_mrp/i18n/quality_control_mrp.pot b/quality_control_mrp/i18n/quality_control_mrp.pot index 65cb98ce8..d7bb4f7bd 100644 --- a/quality_control_mrp/i18n/quality_control_mrp.pot +++ b/quality_control_mrp/i18n/quality_control_mrp.pot @@ -37,3 +37,8 @@ msgstr "" msgid "Production order" msgstr "" +#. module: quality_control_mrp +#: view:mrp.production:quality_control_mrp.mrp_production_qc_view +msgid "inspections" +msgstr "" + diff --git a/quality_control_mrp/models/mrp_production.py b/quality_control_mrp/models/mrp_production.py index 58b1707b3..f0cee7251 100644 --- a/quality_control_mrp/models/mrp_production.py +++ b/quality_control_mrp/models/mrp_production.py @@ -9,27 +9,15 @@ class MrpProduction(models.Model): _inherit = 'mrp.production' @api.one - @api.depends('qc_inspections', 'qc_inspections.state') + @api.depends('qc_inspections') def _count_inspections(self): self.created_inspections = len(self.qc_inspections) - self.passed_inspections = len([x for x in self.qc_inspections if - x.state == 'success']) - self.failed_inspections = len([x for x in self.qc_inspections if - x.state == 'failed']) - self.done_inspections = (self.passed_inspections + - self.failed_inspections) qc_inspections = fields.One2many( - comodel_name='qc.inspection', inverse_name='picking', copy=False, + comodel_name='qc.inspection', inverse_name='production', copy=False, string='Inspections', help="Inspections related to this production.") created_inspections = fields.Integer( compute="_count_inspections", string="Created inspections") - done_inspections = fields.Integer( - compute="_count_inspections", string="Done inspections") - passed_inspections = fields.Integer( - compute="_count_inspections", string="Inspections OK") - failed_inspections = fields.Integer( - compute="_count_inspections", string="Inspections failed") @api.v7 def action_produce(self, cr, uid, production_id, production_qty, diff --git a/quality_control_mrp/models/qc_inspection.py b/quality_control_mrp/models/qc_inspection.py index cf7cc96bd..7dcf425c9 100644 --- a/quality_control_mrp/models/qc_inspection.py +++ b/quality_control_mrp/models/qc_inspection.py @@ -13,25 +13,8 @@ class QcInspection(models.Model): def get_production(self): self.production = False if self.object_id: - if self.object_id._name == 'mrp.production': - self.production = self.object_id - - @api.one - @api.depends('object_id') - def _get_product(self): - """Overriden for getting the product from a mrp.production.""" - super(QcInspection, self)._get_product() - if self.object_id: - if self.object_id._name == 'mrp.production': - self.product = self.object_id.product_id - - @api.one - @api.depends('object_id') - def _get_qty(self): - super(QcInspection, self)._get_qty() - if self.object_id: - if self.object_id._name == 'mrp.production': - self.qty = self.object_id.product_qty + if self.object_id._name == 'stock.move': + self.production = self.object_id.production_id production = fields.Many2one( comodel_name="mrp.production", compute="get_production", store=True) diff --git a/quality_control_mrp/views/mrp_production_view.xml b/quality_control_mrp/views/mrp_production_view.xml new file mode 100644 index 000000000..5f9020cc0 --- /dev/null +++ b/quality_control_mrp/views/mrp_production_view.xml @@ -0,0 +1,32 @@ + + + + + Quality inspections from production order + qc.inspection + tree,form + [('production', '=', active_id)] + + + + mrp.production.form.qc + mrp.production + + +
+
+ +
+
+
+
+ +
+
\ No newline at end of file