45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
from odoo import models, fields
|
|
|
|
class AddEmployeeWizard(models.TransientModel):
|
|
_name = 'add.employee.wizard'
|
|
_description = 'Add Employee Wizard'
|
|
|
|
# Thông tin từ res.partner
|
|
name = fields.Char(string='Name', required=True)
|
|
email = fields.Char(string='Email')
|
|
phone = fields.Char(string='Phone')
|
|
image_1920 = fields.Image(string="Avatar")
|
|
|
|
# Thông tin riêng của employee
|
|
employee_code = fields.Char(string='Employee Code', required=True)
|
|
department = fields.Char(string='Department')
|
|
position = fields.Char(string='Position')
|
|
|
|
def action_add_employee(self):
|
|
|
|
self.ensure_one()
|
|
|
|
# Tạo partner
|
|
partner = self.env['res.partner'].create({
|
|
'name': self.name,
|
|
'email': self.email,
|
|
'phone': self.phone,
|
|
'image_1920': self.image_1920,
|
|
})
|
|
|
|
# Tạo employee.profile gắn với partner_id
|
|
employee = self.env['employee.profile'].create({
|
|
'partner_id': partner.id,
|
|
'employee_code': self.employee_code,
|
|
'department': self.department,
|
|
'position': self.position,
|
|
})
|
|
|
|
return {
|
|
'type': 'ir.actions.act_window',
|
|
'res_model': 'employee.profile',
|
|
'res_id': employee.id,
|
|
'view_mode': 'form',
|
|
'target': 'current',
|
|
}
|