odoo18/custom_addons/fixed_asset_management/models/asset_move.py

31 lines
1.1 KiB
Python

from odoo import fields, models, api
from datetime import datetime
class AssetMove(models.Model):
_name = "asset.move"
_description = "Asset Move"
name = fields.Char(string="Name")
location_id = fields.Many2one(comodel_name="asset.location", string="Source Location")
location_dest_id = fields.Many2one(comodel_name="asset.location", string="Destination Location")
asset_id = fields.Many2one(comodel_name="asset.detail", string="Asset")
state = fields.Selection([('draft', 'Draft'),('done', 'Done'),('cancel', 'Cancel')], string='State', default="draft")
@api.model
def create(self, vals):
vals["name"] = self.env["ir.sequence"].next_by_code("asset.move", sequence_date=datetime.now().year) or "New"
return super(AssetMove, self).create(vals)
@api.onchange("asset_id")
def onchange_asset(self):
self.location_id = self.asset_id.location_id.id
def move_asset(self):
for asset_id in self:
asset_id.asset_id.location_id = asset_id.location_dest_id.id
asset_id.state = "done"
def cancel_move(self):
for asset_id in self:
asset_id.state = "cancel"