SAPOS main goal is to ease the management of information related to graduate programs such as enrollments, courses, advisement, scholarships, requirements, among others.
Atualmente, coisas relacionadas a orientações existem apenas para usuários com cargo Professor e apenas professor pode estar associado à entidade Professor
Mas admins e coordenadores também podem ser professores e ter orientandos.
Uma possibilidade é ter contas diferentes a mesma pessoa com tipos de usuários diferentes, mas o ideal seria que uma mesma conta funcionasse das duas formas.
Para tratar essa issue da maneira certa, além de permitir a associação, é necessário buscar todo lugar que verifica se o usuário é professor e usar o cancan para verificar no lugar. Exemplos de verificações:
Atualmente, coisas relacionadas a orientações existem apenas para usuários com cargo Professor e apenas professor pode estar associado à entidade Professor
Mas admins e coordenadores também podem ser professores e ter orientandos.
Uma possibilidade é ter contas diferentes a mesma pessoa com tipos de usuários diferentes, mas o ideal seria que uma mesma conta funcionasse das duas formas.
Para tratar essa issue da maneira certa, além de permitir a associação, é necessário buscar todo lugar que verifica se o usuário é professor e usar o cancan para verificar no lugar. Exemplos de verificações:
role_id == Role::ROLE_PROFESSOR
user.professor.blank?
user.professor.nil?
user.professor.present?