Skip to content

Auto‐preenchimento das Atividades a partir da Instituição

Mateus Machado Luna edited this page Aug 9, 2024 · 1 revision

Quando um Gestor de Eventos clica para criar ou editar uma atividade a partir da Página da Instituição no Admin, o formulário aprende que esta atividade está implicitamente relacionada àquela instituição, graças ao ID da instituição que é passado na URL. Esta lógica de preenchimento foi criada para se reduzir o trabalho de passar por todos os campos do formulário.

Arquivos envolvidos

Funções relevantes

cne_preset_atividade_instituicao()

Usando a action tainacan-insert, esta função verifica se o item sendo inserido no momento não é o da instituição (portante é uma atividade) e se um ID de instituição válido foi passado no parâmetro from-instituicao. Se sim, procura-se pelo metadado de relacionamento que define qual a instituição do evento e auto-preenche ele. Em seguida, inicia o preenchimento dos dados com a cne_preset_atividade_data_from_instituicao()

cne_preset_atividade_data_from_instituicao()

Aqui é montado um mapeamento entre os IDs de metadado da coleção instituição e os IDs de metadados nível repositório que são utilizados pelas coleções de evento. Este mapeamento é critico e deve ser atualizado se algum ajuste na modelagem for feita. Os metadados devem ter uma configuração equivalente também (se é multiplo em um lugar, por exemplo, deve ser múltiplo no outro. Atenção especial deve ser dada às Taxonomias, visto que os termos delas também devem ser textualmente equivalentes, mesmo que na prática venham de taxonomias diferentes. A função não gera erros, mas tenta continuar o auto preenchimento ao máximo caso alguma operação falhe, visto que se não for importado o dado ainda pode ser preenchido pelo usuário. Note que os valores também só são preenchidos se o campo estiver vazio, caso contrário permanece o valor existente.