[ADD] migration script, change model name from reason.code to scrap.reason.code

This commit is contained in:
Bhavesh Odedra
2020-03-27 17:37:22 +05:30
committed by Chandresh Thakkar
parent f946aabd1f
commit 3a086381fb
10 changed files with 49 additions and 30 deletions

View File

@@ -2,7 +2,7 @@
{ {
"name": "Scrap Reason Code", "name": "Scrap Reason Code",
"version": "13.0.1.0.0", "version": "13.0.1.1.0",
"license": "AGPL-3", "license": "AGPL-3",
"summary": "Reason code for scrapping", "summary": "Reason code for scrapping",
"author": "Open Source Integrators, Odoo Community Association (OCA)", "author": "Open Source Integrators, Odoo Community Association (OCA)",

View File

@@ -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)

View File

@@ -5,8 +5,8 @@
from odoo import fields, models from odoo import fields, models
class ReasonCode(models.Model): class ScrapReasonCode(models.Model):
_name = "reason.code" _name = "scrap.reason.code"
_description = "Reason Code" _description = "Reason Code"
name = fields.Char("Code", required=True) name = fields.Char("Code", required=True)

View File

@@ -8,4 +8,4 @@ from odoo import fields, models
class StockMove(models.Model): class StockMove(models.Model):
_inherit = "stock.move" _inherit = "stock.move"
reason_code_id = fields.Many2one("reason.code", string="Reason code") reason_code_id = fields.Many2one("scrap.reason.code", string="Reason code")

View File

@@ -9,11 +9,9 @@ class StockScrap(models.Model):
_inherit = "stock.scrap" _inherit = "stock.scrap"
reason_code_id = fields.Many2one( reason_code_id = fields.Many2one(
"reason.code", string="Reason Code", states={"done": [("readonly", True)]} "scrap.reason.code", string="Reason Code", states={"done": [("readonly", True)]}
)
scrap_location_id = fields.Many2one(
"stock.location", "Scrap Location", required=True, readonly=True
) )
scrap_location_id = fields.Many2one(readonly=True)
def _prepare_move_values(self): def _prepare_move_values(self):
res = super(StockScrap, self)._prepare_move_values() res = super(StockScrap, self)._prepare_move_values()
@@ -27,8 +25,12 @@ class StockScrap(models.Model):
def write(self, vals): def write(self, vals):
if "reason_code_id" in vals: if "reason_code_id" in vals:
self.scrap_location_id = ( vals.update(
self.env["reason.code"].browse(vals.get("reason_code_id")).location_id {
"scrap_location_id": self.env["scrap.reason.code"]
.browse(vals.get("reason_code_id"))
.location_id
}
) )
return super(StockScrap, self).write(vals) return super(StockScrap, self).write(vals)
@@ -36,7 +38,7 @@ class StockScrap(models.Model):
def create(self, vals): def create(self, vals):
if "reason_code_id" in vals: if "reason_code_id" in vals:
vals["scrap_location_id"] = ( vals["scrap_location_id"] = (
self.env["reason.code"] self.env["scrap.reason.code"]
.browse(vals.get("reason_code_id")) .browse(vals.get("reason_code_id"))
.location_id.id .location_id.id
) )

View File

@@ -0,0 +1,3 @@
Go to Inventory > Configuration > Scrap Reason Codes
Create a required scrap reason code and provide scrap location.

View File

@@ -1,4 +1,4 @@
In the Inventory module, open the Configuration menu and select Scrap Reason Codes. - Go to Inventory > Operations > Scrap
Create the required scrap reason codes. Under Operations, select Scrap. Click the - Create a scarp order and select reason code.
create button to create a new scrap order. You will see a reason code field on the - A scrap location will be readonly and auto fill based on selected reason
scrap form which will allow you to select any of the scrap codes you created previously. code.

View File

@@ -1,4 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 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_scrap_reason_code_user,scrap.reason.code,model_scrap_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_scrap_reason_code_stock_user,scrap.reason.code,model_scrap_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_stock_manager,scrap.reason.code,model_scrap_reason_code,stock.group_stock_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_reason_code_user access_scrap_reason_code_user reason.code scrap.reason.code model_reason_code model_scrap_reason_code base.group_user 1 0 0 0
3 access_reason_code_stock_user access_scrap_reason_code_stock_user reason.code scrap.reason.code model_reason_code model_scrap_reason_code stock.group_stock_user 1 1 0 0
4 access_reason_code_stock_manager access_scrap_reason_code_stock_manager reason.code scrap.reason.code model_reason_code model_scrap_reason_code stock.group_stock_manager 1 1 1 1

View File

@@ -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", "name": "DM300",
"description": "Product is damage", "description": "Product is damage",

View File

@@ -1,10 +1,10 @@
<!-- Copyright 2019 Open Source Integrators <!-- Copyright 2019 Open Source Integrators
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo> <odoo>
<!-- Reason Code Type --> <!-- Scrap Reason Code Type -->
<record id="view_reason_code_form" model="ir.ui.view"> <record id="view_scrap_reason_code_form" model="ir.ui.view">
<field name="name">reason.code.form</field> <field name="name">scrap.reason.code.form</field>
<field name="model">reason.code</field> <field name="model">scrap.reason.code</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Reason Code"> <form string="Reason Code">
<group> <group>
@@ -19,9 +19,9 @@
</form> </form>
</field> </field>
</record> </record>
<record id="view_reason_code_list" model="ir.ui.view"> <record id="view_scrap_reason_code_list" model="ir.ui.view">
<field name="name">reason.code.list</field> <field name="name">scrap.reason.code.list</field>
<field name="model">reason.code</field> <field name="model">scrap.reason.code</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Reason Codes"> <tree string="Reason Codes">
<field name="name" /> <field name="name" />
@@ -30,14 +30,14 @@
</tree> </tree>
</field> </field>
</record> </record>
<record id="open_view_reason_code_form" model="ir.actions.act_window"> <record id="open_view_scrap_reason_code_form" model="ir.actions.act_window">
<field name="name">Scrap Reason Codes</field> <field name="name">Scrap Reason Codes</field>
<field name="res_model">reason.code</field> <field name="res_model">scrap.reason.code</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
</record> </record>
<menuitem <menuitem
action="open_view_reason_code_form" action="open_view_scrap_reason_code_form"
id="menu_view_reason_code_form" id="menu_view_scrap_reason_code_form"
parent="stock.menu_stock_config_settings" parent="stock.menu_stock_config_settings"
sequence="55" sequence="55"
groups="stock.group_stock_manager" groups="stock.group_stock_manager"