32 lines
1.4 KiB
Python
32 lines
1.4 KiB
Python
# pyrefly: ignore [missing-import]
|
|
from odoo import api, fields, models
|
|
# pyrefly: ignore [missing-import]
|
|
from odoo.exceptions import ValidationError
|
|
|
|
class EducationTransportDriver(models.Model):
|
|
_name = 'education.transport.driver'
|
|
_description = 'Transport Driver'
|
|
_inherit = ['mail.thread', 'mail.activity.mixin']
|
|
|
|
name = fields.Char(string='Name', required=True, tracking=True)
|
|
user_id = fields.Many2one('res.users', string='Related User')
|
|
license_number = fields.Char(string='License Number', required=True, tracking=True, copy=False)
|
|
license_expiry = fields.Date(string='License Expiry', required=True, tracking=True)
|
|
|
|
phone = fields.Char(string='Phone', required=True, tracking=True)
|
|
emergency_contact = fields.Char(string='Emergency Contact', tracking=True)
|
|
address = fields.Text(string='Address')
|
|
|
|
active = fields.Boolean(default=True)
|
|
status = fields.Selection([
|
|
('active', 'Active'),
|
|
('inactive', 'Inactive'),
|
|
('suspended', 'Suspended')
|
|
], string='Status', default='active', required=True, tracking=True)
|
|
|
|
company_id = fields.Many2one('res.company', string='Company', required=True, default=lambda self: self.env.company)
|
|
|
|
_sql_constraints = [
|
|
('unique_license_number', 'unique(license_number, company_id)', 'Driver license number must be unique per company!')
|
|
]
|