Scrap reason code module

This commit is contained in:
Bhavesh Odedra
2019-11-26 22:07:15 +05:30
committed by Khalid
parent 6171b7bcb0
commit 0f85fa2572
21 changed files with 847 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
# Copyright (C) 2019 IBM Corp.
# Copyright (C) 2019 Open Source Integrators
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import reason_code
from . import stock_move
from . import stock_scrap

View File

@@ -0,0 +1,16 @@
# Copyright (C) 2019 IBM Corp.
# Copyright (C) 2019 Open Source Integrators
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models
class ReasonCode(models.Model):
_name = 'reason.code'
_description = 'Reason Code'
name = fields.Char("Code", required=True)
description = fields.Text("Description")
location_id = fields.Many2one(
'stock.location', string="Scrap Location",
domain="[('scrap_location', '=', True)]")

View File

@@ -0,0 +1,11 @@
# Copyright (C) 2019 IBM Corp.
# Copyright (C) 2019 Open Source Integrators
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models
class StockMove(models.Model):
_inherit = 'stock.move'
reason_code_id = fields.Many2one('reason.code', string='Reason code')

View File

@@ -0,0 +1,40 @@
# Copyright (C) 2019 IBM Corp.
# Copyright (C) 2019 Open Source Integrators
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
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)
def _prepare_move_values(self):
res = super(StockScrap, self)._prepare_move_values()
res['reason_code_id'] = self.reason_code_id.id
return res
@api.onchange('reason_code_id')
def _onchange_reason_code_id(self):
if self.reason_code_id.location_id:
self.scrap_location_id = self.reason_code_id.location_id
@api.multi
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
return super(StockScrap, self).write(vals)
@api.model
def create(self, vals):
if 'reason_code_id' in vals:
vals['scrap_location_id'] = self.env['reason.code'].browse(
vals.get('reason_code_id')).location_id.id
return super(StockScrap, self).create(vals)