45 lines
1.8 KiB
Python
45 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Copyright 2020-Today TechKhedut.
|
|
# Part of TechKhedut. See LICENSE file for full copyright and licensing details.
|
|
from odoo import api, fields, models
|
|
|
|
|
|
class ProjectWarehouse(models.TransientModel):
|
|
_name = 'project.warehouse'
|
|
_description = "Project Warehouse"
|
|
_rec_name = 'warehouse'
|
|
|
|
warehouse = fields.Selection([('create', 'Create new warehouse'), ('link', 'Use existing warehouse')],
|
|
string=" ")
|
|
warehouse_name = fields.Char(string="Warehouse Name")
|
|
warehouse_code = fields.Char(string="Warehouse Code", size=5)
|
|
warehouse_id = fields.Many2one('stock.warehouse', string="Warehouse")
|
|
|
|
def action_submit_warehouse(self):
|
|
active_id = self._context.get('active_id')
|
|
project_id = self.env['tk.construction.project'].browse(active_id)
|
|
if self.warehouse == 'create':
|
|
parent_location_id = self.env['stock.location'].create({
|
|
'name': self.warehouse_code,
|
|
'usage': 'view'
|
|
})
|
|
location_id = self.env['stock.location'].create({
|
|
'location_id': parent_location_id.id,
|
|
'name': 'Stock',
|
|
'usage': 'internal'
|
|
})
|
|
data = {
|
|
'code': self.warehouse_code,
|
|
'name': self.warehouse_name,
|
|
'project_id': project_id.id,
|
|
'lot_stock_id': location_id.id,
|
|
'view_location_id': parent_location_id.id,
|
|
'delivery_steps': 'ship_only',
|
|
'reception_steps': 'one_step',
|
|
'company_id': self.env.company.id,
|
|
}
|
|
warehouse_id = self.env['stock.warehouse'].create(data)
|
|
project_id.warehouse_id = warehouse_id.id
|
|
else:
|
|
project_id.warehouse_id = self.warehouse_id.id
|