46 lines
1.3 KiB
Python

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