29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
# pyrefly: ignore [missing-import]
|
|
from odoo import api, fields, models
|
|
|
|
class EducationTransportRoute(models.Model):
|
|
_name = 'education.transport.route'
|
|
_description = 'Transport Route'
|
|
_inherit = ['mail.thread', 'mail.activity.mixin']
|
|
|
|
name = fields.Char(string='Route Name', required=True, tracking=True)
|
|
code = fields.Char(string='Code', required=True, tracking=True)
|
|
campus_id = fields.Many2one('education.campus', string='Campus', required=True)
|
|
direction = fields.Selection([
|
|
('pickup', 'Pickup'),
|
|
('drop', 'Drop'),
|
|
('both', 'Both')
|
|
], string='Direction', required=True, default='both', tracking=True)
|
|
|
|
distance = fields.Float(string='Distance (km)', tracking=True)
|
|
estimated_duration = fields.Integer(string='Estimated Duration (min)', tracking=True)
|
|
|
|
stop_ids = fields.One2many('education.transport.route.stop', 'route_id', string='Stops')
|
|
|
|
active = fields.Boolean(default=True)
|
|
company_id = fields.Many2one('res.company', string='Company', required=True, default=lambda self: self.env.company)
|
|
|
|
_sql_constraints = [
|
|
('unique_code', 'unique(code, company_id)', 'Route code must be unique per company!')
|
|
]
|