mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
Scrap reason code module
This commit is contained in:
7
scrap_reason_code/models/__init__.py
Normal file
7
scrap_reason_code/models/__init__.py
Normal 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
|
||||
16
scrap_reason_code/models/reason_code.py
Normal file
16
scrap_reason_code/models/reason_code.py
Normal 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)]")
|
||||
11
scrap_reason_code/models/stock_move.py
Normal file
11
scrap_reason_code/models/stock_move.py
Normal 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')
|
||||
40
scrap_reason_code/models/stock_scrap.py
Normal file
40
scrap_reason_code/models/stock_scrap.py
Normal 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)
|
||||
Reference in New Issue
Block a user