From 3a086381fb91539e2d4cddd8feaf8c98ef52d326 Mon Sep 17 00:00:00 2001 From: Bhavesh Odedra Date: Fri, 27 Mar 2020 17:37:22 +0530 Subject: [PATCH] [ADD] migration script, change model name from reason.code to scrap.reason.code --- scrap_reason_code/__manifest__.py | 2 +- .../migrations/13.0.1.1.0/pre-migration.py | 14 ++++++++++++ scrap_reason_code/models/reason_code.py | 4 ++-- scrap_reason_code/models/stock_move.py | 2 +- scrap_reason_code/models/stock_scrap.py | 16 ++++++++------ scrap_reason_code/readme/CONFIGURE.rst | 3 +++ scrap_reason_code/readme/USAGE.rst | 8 +++---- .../security/ir.model.access.csv | 6 ++--- .../tests/test_scrap_reason_code.py | 2 +- scrap_reason_code/views/reason_code_view.xml | 22 +++++++++---------- 10 files changed, 49 insertions(+), 30 deletions(-) create mode 100644 scrap_reason_code/migrations/13.0.1.1.0/pre-migration.py diff --git a/scrap_reason_code/__manifest__.py b/scrap_reason_code/__manifest__.py index 70fc6c9c4..19d944d1a 100644 --- a/scrap_reason_code/__manifest__.py +++ b/scrap_reason_code/__manifest__.py @@ -2,7 +2,7 @@ { "name": "Scrap Reason Code", - "version": "13.0.1.0.0", + "version": "13.0.1.1.0", "license": "AGPL-3", "summary": "Reason code for scrapping", "author": "Open Source Integrators, Odoo Community Association (OCA)", diff --git a/scrap_reason_code/migrations/13.0.1.1.0/pre-migration.py b/scrap_reason_code/migrations/13.0.1.1.0/pre-migration.py new file mode 100644 index 000000000..fce39cd22 --- /dev/null +++ b/scrap_reason_code/migrations/13.0.1.1.0/pre-migration.py @@ -0,0 +1,14 @@ +# Copyright (C) 2019 IBM Corp. +# Copyright (C) 2019 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + +_model_renames = [ + ("reason.code", "scrap.reason.code"), +] + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.rename_models(env.cr, _model_renames) diff --git a/scrap_reason_code/models/reason_code.py b/scrap_reason_code/models/reason_code.py index 0ce5e797d..03439ddc9 100644 --- a/scrap_reason_code/models/reason_code.py +++ b/scrap_reason_code/models/reason_code.py @@ -5,8 +5,8 @@ from odoo import fields, models -class ReasonCode(models.Model): - _name = "reason.code" +class ScrapReasonCode(models.Model): + _name = "scrap.reason.code" _description = "Reason Code" name = fields.Char("Code", required=True) diff --git a/scrap_reason_code/models/stock_move.py b/scrap_reason_code/models/stock_move.py index d5ed6c8dc..1192e07a5 100644 --- a/scrap_reason_code/models/stock_move.py +++ b/scrap_reason_code/models/stock_move.py @@ -8,4 +8,4 @@ from odoo import fields, models class StockMove(models.Model): _inherit = "stock.move" - reason_code_id = fields.Many2one("reason.code", string="Reason code") + reason_code_id = fields.Many2one("scrap.reason.code", string="Reason code") diff --git a/scrap_reason_code/models/stock_scrap.py b/scrap_reason_code/models/stock_scrap.py index c1de7d6af..afa1dd2c8 100644 --- a/scrap_reason_code/models/stock_scrap.py +++ b/scrap_reason_code/models/stock_scrap.py @@ -9,11 +9,9 @@ class StockScrap(models.Model): _inherit = "stock.scrap" reason_code_id = fields.Many2one( - "reason.code", string="Reason Code", states={"done": [("readonly", True)]} - ) - scrap_location_id = fields.Many2one( - "stock.location", "Scrap Location", required=True, readonly=True + "scrap.reason.code", string="Reason Code", states={"done": [("readonly", True)]} ) + scrap_location_id = fields.Many2one(readonly=True) def _prepare_move_values(self): res = super(StockScrap, self)._prepare_move_values() @@ -27,8 +25,12 @@ class StockScrap(models.Model): def write(self, vals): if "reason_code_id" in vals: - self.scrap_location_id = ( - self.env["reason.code"].browse(vals.get("reason_code_id")).location_id + vals.update( + { + "scrap_location_id": self.env["scrap.reason.code"] + .browse(vals.get("reason_code_id")) + .location_id + } ) return super(StockScrap, self).write(vals) @@ -36,7 +38,7 @@ class StockScrap(models.Model): def create(self, vals): if "reason_code_id" in vals: vals["scrap_location_id"] = ( - self.env["reason.code"] + self.env["scrap.reason.code"] .browse(vals.get("reason_code_id")) .location_id.id ) diff --git a/scrap_reason_code/readme/CONFIGURE.rst b/scrap_reason_code/readme/CONFIGURE.rst index e69de29bb..7e06896eb 100644 --- a/scrap_reason_code/readme/CONFIGURE.rst +++ b/scrap_reason_code/readme/CONFIGURE.rst @@ -0,0 +1,3 @@ +Go to Inventory > Configuration > Scrap Reason Codes + +Create a required scrap reason code and provide scrap location. diff --git a/scrap_reason_code/readme/USAGE.rst b/scrap_reason_code/readme/USAGE.rst index d7beb75ef..b2ebead93 100644 --- a/scrap_reason_code/readme/USAGE.rst +++ b/scrap_reason_code/readme/USAGE.rst @@ -1,4 +1,4 @@ -In the Inventory module, open the Configuration menu and select Scrap Reason Codes. -Create the required scrap reason codes. Under Operations, select Scrap. Click the -create button to create a new scrap order. You will see a reason code field on the -scrap form which will allow you to select any of the scrap codes you created previously. +- Go to Inventory > Operations > Scrap +- Create a scarp order and select reason code. +- A scrap location will be readonly and auto fill based on selected reason + code. diff --git a/scrap_reason_code/security/ir.model.access.csv b/scrap_reason_code/security/ir.model.access.csv index 373f4aa55..bb3255b27 100644 --- a/scrap_reason_code/security/ir.model.access.csv +++ b/scrap_reason_code/security/ir.model.access.csv @@ -1,4 +1,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_reason_code_user,reason.code,model_reason_code,base.group_user,1,0,0,0 -access_reason_code_stock_user,reason.code,model_reason_code,stock.group_stock_user,1,1,0,0 -access_reason_code_stock_manager,reason.code,model_reason_code,stock.group_stock_manager,1,1,1,1 +access_scrap_reason_code_user,scrap.reason.code,model_scrap_reason_code,base.group_user,1,0,0,0 +access_scrap_reason_code_stock_user,scrap.reason.code,model_scrap_reason_code,stock.group_stock_user,1,1,0,0 +access_scrap_reason_code_stock_manager,scrap.reason.code,model_scrap_reason_code,stock.group_stock_manager,1,1,1,1 diff --git a/scrap_reason_code/tests/test_scrap_reason_code.py b/scrap_reason_code/tests/test_scrap_reason_code.py index a90507c30..80fcfd729 100644 --- a/scrap_reason_code/tests/test_scrap_reason_code.py +++ b/scrap_reason_code/tests/test_scrap_reason_code.py @@ -31,7 +31,7 @@ class StockScrap(TransactionCase): } ) - self.reason_code = self.env["reason.code"].create( + self.reason_code = self.env["scrap.reason.code"].create( { "name": "DM300", "description": "Product is damage", diff --git a/scrap_reason_code/views/reason_code_view.xml b/scrap_reason_code/views/reason_code_view.xml index 272dc09a9..14e35dea7 100644 --- a/scrap_reason_code/views/reason_code_view.xml +++ b/scrap_reason_code/views/reason_code_view.xml @@ -1,10 +1,10 @@ - - - reason.code.form - reason.code + + + scrap.reason.code.form + scrap.reason.code
@@ -19,9 +19,9 @@
- - reason.code.list - reason.code + + scrap.reason.code.list + scrap.reason.code @@ -30,14 +30,14 @@ - + Scrap Reason Codes - reason.code + scrap.reason.code tree,form