from odoo import models, fields, api from .models_constants import TuyenSinh class CenhomesPhongTuyenSinh(models.Model): _name = "cenhomes.phong_tuyen_sinh" _description = "Phòng tuyển snh" name = fields.Char(string="Tên", required=True) nhan_vien_ids = fields.One2many( comodel_name="cenhomes.nhan_vien_tuyen_sinh", inverse_name="phong_tuyen_sinh", string="Nhân viên", ) truong_phong = fields.Char(string="Trưởng Phòng") trang_thai = fields.Selection( selection=TuyenSinh.trang_thai, string="Trạng Thái", default="dang_tuyen_sinh", required=True, ) def name_get(self): return [(record.id, record.name) for record in self] class CenhomesNhanVienTuyenSinh(models.Model): _name = "cenhomes.nhan_vien_tuyen_sinh" _description = "Nhân viên tuyển sinh" name = fields.Char(string="Tên", required=True) phong_tuyen_sinh = fields.Many2one( comodel_name="cenhomes.phong_tuyen_sinh", string="Phòng", ondelete="cascade", ) thoi_gian_bat_dau = fields.Date(string="Thời Gian Bắt Đầu Công Tác") trang_thai = fields.Selection( selection=TuyenSinh.trang_thai, string="Trạng Thái", default="dang_tuyen_sinh", required=True, ) doanh_so = fields.Float(string="Doanh Số") def name_get(self): return [(record.id, record.name) for record in self] class CenhomesQuanHeTuyenSinhHocVien(models.Model): _name = "cenhomes.quan_he_tuyen_sinh_hoc_vien" _description = "Quan Hệ Tuyển Sinh - Học Viên" hoc_vien_id = fields.Many2one( comodel_name="cenhomes.hoc_vien", string="Học viên", ondelete="cascade", required=True, ) mshv = fields.Char( string="Mã Số Học Viên", related="hoc_vien_id.mshv", store=True, readonly=True, ) nhan_vien_tuyen_sinh_id = fields.Many2one( comodel_name="cenhomes.nhan_vien_tuyen_sinh", string="Nhân Viên Tuyển Sinh Phụ Trách", required=True, ondelete="cascade", ) ngay_bat_dau = fields.Date(string="Ngày Bắt Đầu Phụ Trách") trang_thai = fields.Selection( selection=TuyenSinh.trang_thai_phu_trach, string="Trạng Thái", default="dang_ho_tro", ) ban_giao = fields.Boolean(string="Bàn Giao", default=False) @api.model def create(self, vals): if vals.get("ban_giao"): vals["trang_thai"] = "da_ban_giao" return super(CenhomesQuanHeTuyenSinhHocVien, self).create(vals) def write(self, vals): if "ban_giao" in vals and vals["ban_giao"]: vals["trang_thai"] = "da_ban_giao" return super(CenhomesQuanHeTuyenSinhHocVien, self).write(vals) def action_ban_giao(self): """ Hành động thực hiện bàn giao qua giao diện. """ self.write({"ban_giao": True, "trang_thai": "da_ban_giao"})