Closed thiagogomesverissimo closed 7 months ago
Precisamos ter dois campos que identifiquem as categorias de campus/cidade e faculdade/instituto na tabela mdl_block_extensao_turma para identificar que um curso está em uma categoria antes de criá-lo.
Por outro lado, para identificar que um usuário é gerente de uma categoria no Moodle a categoria precisa existir. No caso de nenhum curso ter sido criado ainda, isso é um problema.
Estarei considerando por enquanto apenas os casos em que a categoria já existe.
Para capturar as categorias em que um usuário é gerente estou fazendo o seguinte processo:
mdl_role_assignments
com userid
correspondente e com roleid = 1
(role de MANAGER);mdl_context
verificar se o $role->contextid$
tem contextlevel = 40
(COURSECAT);mdl_course_categories
e captura informações básicas da categoria.O próximo passo é fazer as modificações na tabela "mdl_block_extensao_turma" e em seguida fazer a busca.
Listagem de cursos quando o usuário logado é gerente de alguma categoria.
A busca é feita pelo idnumber
da categoria, precisamos ver isso.
A criação do ambiente possivelmente não está funcionando, pois o usuário gerente não é incluído. Resta fazer isso e o acima então.
No commit 1a014081245204e1b2a99679c54120fcd05e8ce9, adicionei o idnumber
na criação das categorias. Agora em sua criação o idnumber
é definido em correspondência ao "codcam" (no caso dos campi) ou ao "codund" no caso das unidades.
No Moodle Extensão isso provavelmente já está definido assim. Se não estiver, então temos um problema.
O que falta então, a princípio, é inserir o usuároi gerente na hora de criar o curso, talvez com o cargo de gerência mesmo.
No commit f9ce059 fiz as adições que faltavam para permitir que um gerente de categoria crie cursos de sua categoria e subcategorias, que era basicamente o que faltava. Agora o gerente é inscrito na turma como "editingteacher", como os outros.
Surgiu, porém, outra dúvida: todos os usuários que são gerentes das categorias que contemplam o curso deveriam ser automaticamente inscritos também? Ou um usuário que é gerente de categoria já pode editar qualquer curso?
Na visualização do bloco do plugin extensão: Antes da verificação se o usuário logado é ministrante, verificar se ele é gerente de alguma categoria; Caso sim: capturar os cursos da categoria, listar no select da página inicial; Caso não: manter como está;