from odoo import models class ResUsers(models.Model): _inherit = "res.users" def _dance_is_teacher(self): """A teacher is an employee who instructs at least one dance batch.""" self.ensure_one() employee = self.employee_id if not employee: return False return bool( self.env["dance.batch"] .sudo() .search_count([("instructor_id", "=", employee.id)]) ) def _dance_is_parent(self): """A parent is a partner linked as guardian to at least one student.""" self.ensure_one() partner = self.partner_id if not partner: return False return bool( self.env["res.partner"] .sudo() .search_count( [ ("is_student", "=", True), "|", ("guardian_id", "=", partner.id), ("guardian_ids", "in", [partner.id]), ] ) ) def _dance_landing_url(self): """Where this user should land after login (False = default).""" self.ensure_one() if self._dance_is_teacher(): return "/teacher" if self._dance_is_parent(): return "/my/home" return False