From d3ba3dfbff0709b2e9a660c8a58406bb59867075 Mon Sep 17 00:00:00 2001 From: bima Date: Thu, 1 Jun 2017 13:31:42 +0700 Subject: [PATCH 1/6] [10.0] Migrate mrp_sale_info - Change workcenter.line to mrp.workorder - move_prod_id not exist. search sale information from move_finished_ids and changed related field to compute field - add unit test --- mrp_sale_info/README.rst | 1 + mrp_sale_info/__manifest__.py | 7 ++- mrp_sale_info/models/__init__.py | 2 +- mrp_sale_info/models/mrp_production.py | 29 ++++++++--- ...on_workcenter_line.py => mrp_workorder.py} | 6 +-- mrp_sale_info/tests/__init__.py | 6 +++ mrp_sale_info/tests/test_sale_manufacture.py | 37 +++++++++++++ mrp_sale_info/views/mrp_production.xml | 52 +++++++++---------- .../views/mrp_production_workcenter_line.xml | 36 ------------- mrp_sale_info/views/mrp_workorder.xml | 36 +++++++++++++ 10 files changed, 134 insertions(+), 78 deletions(-) rename mrp_sale_info/models/{mrp_production_workcenter_line.py => mrp_workorder.py} (82%) create mode 100644 mrp_sale_info/tests/__init__.py create mode 100644 mrp_sale_info/tests/test_sale_manufacture.py delete mode 100644 mrp_sale_info/views/mrp_production_workcenter_line.xml create mode 100644 mrp_sale_info/views/mrp_workorder.xml diff --git a/mrp_sale_info/README.rst b/mrp_sale_info/README.rst index 20a237040..43809bb93 100644 --- a/mrp_sale_info/README.rst +++ b/mrp_sale_info/README.rst @@ -51,6 +51,7 @@ Contributors * Pedro M. Baeza ", * Ana Juaristi " * Victor M. Martin +* Bima Jati Wijaya Maintainer ---------- diff --git a/mrp_sale_info/__manifest__.py b/mrp_sale_info/__manifest__.py index 20539473b..156b5fdad 100644 --- a/mrp_sale_info/__manifest__.py +++ b/mrp_sale_info/__manifest__.py @@ -4,7 +4,7 @@ { "name": "MRP Sale Info", "summary": "Adds sale information to Manufacturing models", - "version": "9.0.1.0.0", + "version": "10.0.1.0.0", "category": "Manufacturing", "website": "http://www.antiun.com", "author": "Antiun Ingeniería S.L., " @@ -14,15 +14,14 @@ "Odoo Community Association (OCA)", "license": "AGPL-3", "application": False, - 'installable': False, + 'installable': True, "depends": [ - "mrp_operations", "sale_mrp", "sale_order_dates", "stock" ], "data": [ "views/mrp_production.xml", - "views/mrp_production_workcenter_line.xml" + "views/mrp_workorder.xml" ] } diff --git a/mrp_sale_info/models/__init__.py b/mrp_sale_info/models/__init__.py index cb18640f5..2a095e3da 100644 --- a/mrp_sale_info/models/__init__.py +++ b/mrp_sale_info/models/__init__.py @@ -3,4 +3,4 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import mrp_production -from . import mrp_production_workcenter_line +from . import mrp_workorder diff --git a/mrp_sale_info/models/mrp_production.py b/mrp_sale_info/models/mrp_production.py index 24ddb0aa2..d840d54c7 100644 --- a/mrp_sale_info/models/mrp_production.py +++ b/mrp_sale_info/models/mrp_production.py @@ -2,16 +2,29 @@ # © 2016 Antiun Ingenieria S.L. - Javier Iniesta # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp import models, fields +from odoo import api, fields, models class MrpProduction(models.Model): _inherit = "mrp.production" - sale_id = fields.Many2one( - 'sale.order', string='Sale order', readonly=True, store=True, - related='move_prod_id.procurement_id.sale_line_id.order_id') - partner_id = fields.Many2one(related='sale_id.partner_id', - string='Customer', store=True) - commitment_date = fields.Datetime(related='sale_id.commitment_date', - string='Commitment Date', store=True) + sale_id = fields.Many2one('sale.order', compute='_compute_sale_info', string='Sale order', + readonly=True) + partner_id = fields.Many2one('res.partner', compute='_compute_sale_info', + string='Customer') + commitment_date = fields.Datetime(compute='_compute_sale_info', + string='Commitment Date') + + @api.multi + def _compute_sale_info(self): + def get_parent_move(move): + if move.move_dest_id: + return get_parent_move(move.move_dest_id) + return move + + for production in self: + move = get_parent_move(production.move_finished_ids) + production.sale_id = move.procurement_id and move.procurement_id.sale_line_id and \ + move.procurement_id.sale_line_id.order_id.id or False + production.partner_id = production.sale_id and production.sale_id.partner_id and production.sale_id.partner_id.id or False + production.commitment_date = production.sale_id and production.sale_id.commitment_date or '' diff --git a/mrp_sale_info/models/mrp_production_workcenter_line.py b/mrp_sale_info/models/mrp_workorder.py similarity index 82% rename from mrp_sale_info/models/mrp_production_workcenter_line.py rename to mrp_sale_info/models/mrp_workorder.py index 9991efe81..b9894c0fc 100644 --- a/mrp_sale_info/models/mrp_production_workcenter_line.py +++ b/mrp_sale_info/models/mrp_workorder.py @@ -2,11 +2,11 @@ # © 2016 Antiun Ingenieria S.L. - Javier Iniesta # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp import models, fields +from odoo import models, fields -class MrpProductionWorkcenterLine(models.Model): - _inherit = "mrp.production.workcenter.line" +class MrpWorkorder(models.Model): + _inherit = "mrp.workorder" sale_id = fields.Many2one(related='production_id.sale_id', string='Sale order', readonly=True, store=True) diff --git a/mrp_sale_info/tests/__init__.py b/mrp_sale_info/tests/__init__.py new file mode 100644 index 000000000..bd6af4bbe --- /dev/null +++ b/mrp_sale_info/tests/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# © 2017 Bima Jati Wijaya +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from . import test_sale_manufacture diff --git a/mrp_sale_info/tests/test_sale_manufacture.py b/mrp_sale_info/tests/test_sale_manufacture.py new file mode 100644 index 000000000..c150e29b3 --- /dev/null +++ b/mrp_sale_info/tests/test_sale_manufacture.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# © 2017 Bima Jati Wijaya +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.tests import TransactionCase + + +class TestManufactureSale(TransactionCase): + + def setUp(self): + super(TestManufactureSale, self).setUp() + self.partner = self.env.ref('base.res_partner_1') + self.mrp_production = self.env['mrp.production'] + + def test_manufacture(self): + product = self.browse_ref('product.product_product_27') + route1 = self.browse_ref('mrp.route_warehouse0_manufacture') + route2 = self.browse_ref('stock.route_warehouse0_mto') + # add make to order and manufacture routes + product.write({'route_ids': [(6, 0, [route1.id, route2.id])]}) + self.assertTrue(product.route_ids) + + so = self.env['sale.order'].create({ + 'partner_id': self.partner.id, + 'partner_invoice_id': self.partner.id, + 'partner_shipping_id': self.partner.id, + 'order_line': [(0, 0, {'name': product.name, 'product_id': product.id, 'product_uom_qty': 1, 'product_uom': product.uom_id.id, + 'price_unit': product.list_price}) + ], + 'pricelist_id': self.env.ref('product.list0').id, + }) + so.action_confirm() + mrp = self.mrp_production.search([('origin', 'like', so.name+'%')], limit=1) + # checking sale info filled correctly on manufacture + self.assertEqual(so.id, mrp.sale_id.id) + self.assertEqual(self.partner.id, mrp.partner_id.id) + self.assertEqual(so.commitment_date, mrp.commitment_date) diff --git a/mrp_sale_info/views/mrp_production.xml b/mrp_sale_info/views/mrp_production.xml index 4fee03f44..7528b2694 100644 --- a/mrp_sale_info/views/mrp_production.xml +++ b/mrp_sale_info/views/mrp_production.xml @@ -1,32 +1,32 @@ - - + + - - MRP Production Form with Sale Order - mrp.production - - - - - - + + MRP Production Form with Sale Order + mrp.production + + + + + + + - - + - - MRP Production Tree with Sale Order - mrp.production - - - - - - + + MRP Production Tree with Sale Order + mrp.production + + + + + + + - - + - - + + diff --git a/mrp_sale_info/views/mrp_production_workcenter_line.xml b/mrp_sale_info/views/mrp_production_workcenter_line.xml deleted file mode 100644 index 1af6ac649..000000000 --- a/mrp_sale_info/views/mrp_production_workcenter_line.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - MRP Production Work Order Tree with Sale Order - mrp.production.workcenter.line - - - - - - - - - - - - MRP Production Work Order Form with Sale Order - mrp.production.workcenter.line - - - - - - - - - - - - - - - - diff --git a/mrp_sale_info/views/mrp_workorder.xml b/mrp_sale_info/views/mrp_workorder.xml new file mode 100644 index 000000000..c63a93a28 --- /dev/null +++ b/mrp_sale_info/views/mrp_workorder.xml @@ -0,0 +1,36 @@ + + + + + + MRP Production Work Order Tree with Sale Order + mrp.workorder + + + + + + + + + + + + MRP Production Work Order Form with Sale Order + mrp.workorder + + + + + + + + + + + + + + + + From 8ac4baed4cf8ba059d49805b4df12f721662e7c5 Mon Sep 17 00:00:00 2001 From: bima Date: Fri, 2 Jun 2017 16:31:22 +0700 Subject: [PATCH 2/6] adjust PEP8 syntax --- mrp_sale_info/models/mrp_production.py | 15 ++++++++++----- mrp_sale_info/tests/test_sale_manufacture.py | 8 ++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/mrp_sale_info/models/mrp_production.py b/mrp_sale_info/models/mrp_production.py index d840d54c7..9b16a654a 100644 --- a/mrp_sale_info/models/mrp_production.py +++ b/mrp_sale_info/models/mrp_production.py @@ -8,7 +8,8 @@ from odoo import api, fields, models class MrpProduction(models.Model): _inherit = "mrp.production" - sale_id = fields.Many2one('sale.order', compute='_compute_sale_info', string='Sale order', + sale_id = fields.Many2one('sale.order', compute='_compute_sale_info', + string='Sale order', readonly=True) partner_id = fields.Many2one('res.partner', compute='_compute_sale_info', string='Customer') @@ -24,7 +25,11 @@ class MrpProduction(models.Model): for production in self: move = get_parent_move(production.move_finished_ids) - production.sale_id = move.procurement_id and move.procurement_id.sale_line_id and \ - move.procurement_id.sale_line_id.order_id.id or False - production.partner_id = production.sale_id and production.sale_id.partner_id and production.sale_id.partner_id.id or False - production.commitment_date = production.sale_id and production.sale_id.commitment_date or '' + proc = move.procurement_id + production.sale_id = proc and proc.sale_line_id and \ + proc.sale_line_id.order_id.id or False + production.partner_id = production.sale_id and \ + production.sale_id.partner_id and \ + production.sale_id.partner_id.id or False + production.commitment_date = production.sale_id and \ + production.sale_id.commitment_date or '' diff --git a/mrp_sale_info/tests/test_sale_manufacture.py b/mrp_sale_info/tests/test_sale_manufacture.py index c150e29b3..6275e7efc 100644 --- a/mrp_sale_info/tests/test_sale_manufacture.py +++ b/mrp_sale_info/tests/test_sale_manufacture.py @@ -24,13 +24,17 @@ class TestManufactureSale(TransactionCase): 'partner_id': self.partner.id, 'partner_invoice_id': self.partner.id, 'partner_shipping_id': self.partner.id, - 'order_line': [(0, 0, {'name': product.name, 'product_id': product.id, 'product_uom_qty': 1, 'product_uom': product.uom_id.id, + 'order_line': [(0, 0, {'name': product.name, + 'product_id': product.id, + 'product_uom_qty': 1, + 'product_uom': product.uom_id.id, 'price_unit': product.list_price}) ], 'pricelist_id': self.env.ref('product.list0').id, }) so.action_confirm() - mrp = self.mrp_production.search([('origin', 'like', so.name+'%')], limit=1) + mrp = self.mrp_production.search([('origin', 'like', so.name+'%')], + limit=1) # checking sale info filled correctly on manufacture self.assertEqual(so.id, mrp.sale_id.id) self.assertEqual(self.partner.id, mrp.partner_id.id) From d24c2b43e174169ece6c53fa9b65ea926cfe44d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20M=C3=A1rquez?= Date: Thu, 15 Jun 2017 14:42:11 -0400 Subject: [PATCH 3/6] [IMP] Add new features of filters and Gruoup By to search form of Manufacture Orders and Work orders. --- mrp_sale_info/README.rst | 8 +++ mrp_sale_info/__manifest__.py | 2 + mrp_sale_info/i18n/es_MX.po | 68 ++++++++++++++++++++++++++ mrp_sale_info/models/mrp_production.py | 16 ++++-- mrp_sale_info/views/mrp_production.xml | 18 +++++++ mrp_sale_info/views/mrp_workorder.xml | 18 +++++++ 6 files changed, 125 insertions(+), 5 deletions(-) create mode 100644 mrp_sale_info/i18n/es_MX.po diff --git a/mrp_sale_info/README.rst b/mrp_sale_info/README.rst index 43809bb93..ae72523bb 100644 --- a/mrp_sale_info/README.rst +++ b/mrp_sale_info/README.rst @@ -9,9 +9,16 @@ MRP Sale Info This module extends the functionality of sale_mrp and adds related fields to Manufacturing Orders and Work Orders: * Sale order + * Sale line * Customer * Commitment Date + +Also add in search view "Group by" to Manufacturing Orders and Work Orders: + + * Customer + * Sale order + Usage ===== @@ -52,6 +59,7 @@ Contributors * Ana Juaristi " * Victor M. Martin * Bima Jati Wijaya +* Manuel A. Márquez Maintainer ---------- diff --git a/mrp_sale_info/__manifest__.py b/mrp_sale_info/__manifest__.py index 156b5fdad..381a17b71 100644 --- a/mrp_sale_info/__manifest__.py +++ b/mrp_sale_info/__manifest__.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- # © 2016 Antiun Ingenieria S.L. - Javier Iniesta +# © 2016 Humanytek (http://humanytek.com/) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "MRP Sale Info", @@ -11,6 +12,7 @@ "OdooMRP team, " "AvanzOSC, " "Serv. Tecnol. Avanzados - Pedro M. Baeza, " + "Humanytek, " "Odoo Community Association (OCA)", "license": "AGPL-3", "application": False, diff --git a/mrp_sale_info/i18n/es_MX.po b/mrp_sale_info/i18n/es_MX.po new file mode 100644 index 000000000..ca52f2c91 --- /dev/null +++ b/mrp_sale_info/i18n/es_MX.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_sale_info +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-15 17:49+0000\n" +"PO-Revision-Date: 2017-06-15 13:50-0400\n" +"Last-Translator: Manuel Marquez \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"Language: es_MX\n" +"X-Generator: Poedit 1.6.10\n" + +#. module: mrp_sale_info +#: model:ir.model.fields,field_description:mrp_sale_info.field_mrp_production_commitment_date +#: model:ir.model.fields,field_description:mrp_sale_info.field_mrp_workorder_commitment_date +msgid "Commitment Date" +msgstr "Fecha compromiso" + +#. module: mrp_sale_info +#: model:ir.model.fields,field_description:mrp_sale_info.field_mrp_production_partner_id +#: model:ir.model.fields,field_description:mrp_sale_info.field_mrp_workorder_partner_id +#: model:ir.ui.view,arch_db:mrp_sale_info.mrp_production_sale_info_search_view +#: model:ir.ui.view,arch_db:mrp_sale_info.view_mrp_workorder_form_view_filter +msgid "Customer" +msgstr "Cliente" + +#. module: mrp_sale_info +#: model:ir.model.fields,help:mrp_sale_info.field_mrp_workorder_commitment_date +msgid "" +"Date by which the products are sure to be delivered. This is a date that you " +"can promise to the customer, based on the Product Lead Times." +msgstr "" +"Fecha en la que se asegura que los productos estarán enviados. Esta es la " +"fecha de compromiso con el cliente, basada en el tiempo de entrega." + +#. module: mrp_sale_info +#: model:ir.model,name:mrp_sale_info.model_mrp_production +msgid "Manufacturing Order" +msgstr "Orden de Producción" + +#. module: mrp_sale_info +#: model:ir.ui.view,arch_db:mrp_sale_info.mrp_workorder_sale_form_view_inherit +msgid "Sale Information" +msgstr "Información de Venta" + +#. module: mrp_sale_info +#: model:ir.ui.view,arch_db:mrp_sale_info.mrp_production_sale_info_search_view +#: model:ir.ui.view,arch_db:mrp_sale_info.view_mrp_workorder_form_view_filter +msgid "Sale Order" +msgstr "Pedido de Venta" + +#. module: mrp_sale_info +#: model:ir.model.fields,field_description:mrp_sale_info.field_mrp_production_sale_id +#: model:ir.model.fields,field_description:mrp_sale_info.field_mrp_workorder_sale_id +msgid "Sale order" +msgstr "Pedido de venta" + +#. module: mrp_sale_info +#: model:ir.model,name:mrp_sale_info.model_mrp_workorder +msgid "Work Order" +msgstr "Orden de trabajo" diff --git a/mrp_sale_info/models/mrp_production.py b/mrp_sale_info/models/mrp_production.py index 9b16a654a..c482a0aa7 100644 --- a/mrp_sale_info/models/mrp_production.py +++ b/mrp_sale_info/models/mrp_production.py @@ -8,11 +8,17 @@ from odoo import api, fields, models class MrpProduction(models.Model): _inherit = "mrp.production" - sale_id = fields.Many2one('sale.order', compute='_compute_sale_info', - string='Sale order', - readonly=True) - partner_id = fields.Many2one('res.partner', compute='_compute_sale_info', - string='Customer') + sale_id = fields.Many2one( + 'sale.order', + compute='_compute_sale_info', + string='Sale order', + readonly=True, + store=True) + partner_id = fields.Many2one( + 'res.partner', + compute='_compute_sale_info', + string='Customer', + store=True) commitment_date = fields.Datetime(compute='_compute_sale_info', string='Commitment Date') diff --git a/mrp_sale_info/views/mrp_production.xml b/mrp_sale_info/views/mrp_production.xml index 7528b2694..122f0c629 100644 --- a/mrp_sale_info/views/mrp_production.xml +++ b/mrp_sale_info/views/mrp_production.xml @@ -28,5 +28,23 @@ + + MRP Production search with Customer and Sale Order + mrp.production + + + + + + + + + + + + + diff --git a/mrp_sale_info/views/mrp_workorder.xml b/mrp_sale_info/views/mrp_workorder.xml index c63a93a28..7a65d03bd 100644 --- a/mrp_sale_info/views/mrp_workorder.xml +++ b/mrp_sale_info/views/mrp_workorder.xml @@ -32,5 +32,23 @@ + + MRP Production Workorder search with Customer and Sale Order + mrp.workorder + + + + + + + + + + + + + From b1413010cb8c02ceca16ae2bcd147250cc27d178 Mon Sep 17 00:00:00 2001 From: bima Date: Sat, 17 Jun 2017 10:20:18 +0700 Subject: [PATCH 4/6] user store field sale info not fulfill correctly MO always empty. Save sale info from create MO from procurement --- mrp_sale_info/models/__init__.py | 1 + mrp_sale_info/models/mrp_production.py | 30 ++++--------------------- mrp_sale_info/models/procurement.py | 31 ++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 26 deletions(-) create mode 100644 mrp_sale_info/models/procurement.py diff --git a/mrp_sale_info/models/__init__.py b/mrp_sale_info/models/__init__.py index 2a095e3da..26f28b9bb 100644 --- a/mrp_sale_info/models/__init__.py +++ b/mrp_sale_info/models/__init__.py @@ -4,3 +4,4 @@ from . import mrp_production from . import mrp_workorder +from . import procurement diff --git a/mrp_sale_info/models/mrp_production.py b/mrp_sale_info/models/mrp_production.py index c482a0aa7..6e0492dec 100644 --- a/mrp_sale_info/models/mrp_production.py +++ b/mrp_sale_info/models/mrp_production.py @@ -10,32 +10,10 @@ class MrpProduction(models.Model): sale_id = fields.Many2one( 'sale.order', - compute='_compute_sale_info', string='Sale order', - readonly=True, - store=True) + readonly=True) partner_id = fields.Many2one( 'res.partner', - compute='_compute_sale_info', - string='Customer', - store=True) - commitment_date = fields.Datetime(compute='_compute_sale_info', - string='Commitment Date') - - @api.multi - def _compute_sale_info(self): - def get_parent_move(move): - if move.move_dest_id: - return get_parent_move(move.move_dest_id) - return move - - for production in self: - move = get_parent_move(production.move_finished_ids) - proc = move.procurement_id - production.sale_id = proc and proc.sale_line_id and \ - proc.sale_line_id.order_id.id or False - production.partner_id = production.sale_id and \ - production.sale_id.partner_id and \ - production.sale_id.partner_id.id or False - production.commitment_date = production.sale_id and \ - production.sale_id.commitment_date or '' + readonly=True, + string='Customer') + commitment_date = fields.Datetime(string='Commitment Date') diff --git a/mrp_sale_info/models/procurement.py b/mrp_sale_info/models/procurement.py new file mode 100644 index 000000000..8bca95a0f --- /dev/null +++ b/mrp_sale_info/models/procurement.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models, _ + + +class ProcurementOrder(models.Model): + _inherit = 'procurement.order' + + @api.multi + def make_mo(self): + def get_parent_move(move): + if move.move_dest_id: + return get_parent_move(move.move_dest_id) + return move + + res = super(ProcurementOrder, self).make_mo() + for prod_id in res: + production = self.env['mrp.production'].browse([res[prod_id]]) + move = get_parent_move(production.move_finished_ids) + proc = move.procurement_id + + production.sale_id = \ + proc and proc.sale_line_id and \ + proc.sale_line_id.order_id.id or False + production.partner_id = \ + production.sale_id and production.sale_id.partner_id and \ + production.sale_id.partner_id.id or False + production.commitment_date = \ + production.sale_id and production.sale_id.commitment_date or '' + return res From dad13c3af70db10f22f314f126ec6b736654152b Mon Sep 17 00:00:00 2001 From: bima Date: Sat, 17 Jun 2017 10:38:30 +0700 Subject: [PATCH 5/6] removed unused import --- mrp_sale_info/models/mrp_production.py | 2 +- mrp_sale_info/models/procurement.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mrp_sale_info/models/mrp_production.py b/mrp_sale_info/models/mrp_production.py index 6e0492dec..cc3584f54 100644 --- a/mrp_sale_info/models/mrp_production.py +++ b/mrp_sale_info/models/mrp_production.py @@ -2,7 +2,7 @@ # © 2016 Antiun Ingenieria S.L. - Javier Iniesta # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import api, fields, models +from odoo import fields, models class MrpProduction(models.Model): diff --git a/mrp_sale_info/models/procurement.py b/mrp_sale_info/models/procurement.py index 8bca95a0f..47f038bcd 100644 --- a/mrp_sale_info/models/procurement.py +++ b/mrp_sale_info/models/procurement.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, fields, models, _ +from odoo import api, models class ProcurementOrder(models.Model): From 2cfc04a218a532d95735f1d0fd238f6470cc9d0b Mon Sep 17 00:00:00 2001 From: bima Date: Sat, 17 Jun 2017 11:07:39 +0700 Subject: [PATCH 6/6] removed key author it already wrote on README.rst and Character too long >128 --- mrp_sale_info/__manifest__.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/mrp_sale_info/__manifest__.py b/mrp_sale_info/__manifest__.py index 381a17b71..fa653b1bb 100644 --- a/mrp_sale_info/__manifest__.py +++ b/mrp_sale_info/__manifest__.py @@ -8,12 +8,6 @@ "version": "10.0.1.0.0", "category": "Manufacturing", "website": "http://www.antiun.com", - "author": "Antiun Ingeniería S.L., " - "OdooMRP team, " - "AvanzOSC, " - "Serv. Tecnol. Avanzados - Pedro M. Baeza, " - "Humanytek, " - "Odoo Community Association (OCA)", "license": "AGPL-3", "application": False, 'installable': True,