96 lines
3.0 KiB
Python
96 lines
3.0 KiB
Python
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"})
|