Alteração no source para permitir a um self-service adicionar observadores

1. Alteração no source para permitir a um self-service adicionar observadores

Júlio Carvalho
jcarv

(usa Linux Mint)

Enviado em 23/01/2020 - 14:46h

Pessoal boa tarde.

Gostaria de ajuda de alguém que já tenha alguma experiência na alteração do source-code do glpi. Abaixo vou descrever o cenário que quero contemplar e que não foi possível fazer pelo controle de acesso.

Cenário:
Colaborador com perfil self-service abre um chamado, e ainda quando o chamado está disponível para edição, o mesmo não consegue adicionar um observador.

Tentativa de resolução via configuração:
Testado conceder o acesso para o perfil poder atualizar o chamado (ticket), contudo ao se fazer isso foi verificado que o colaborador também iria conseguir alterar não só o observador, mas também outras informações que não desejo liberar, como atribuição de requisitantes e responsáveis pelo atendimento. Outro problema observado é que uma vez o colaborador tivesse esse privilégio, então poderia também alterar chamados onde ele era apenas o observador, e não o requisitante do chamado.

Objetivo com edição de código:
Permitir que um colaborador possa adicionar observadores nos chamados em que ele é o requisitante. (../ticket.form.php?id=999)

Dificuldade que estou tendo:
Já consegui fazer alterações para que no campo "Observador" fique aparecendo a opção de adicionar (+), e também o botão salvar. Contudo após informar um observador e clicar em salvar, o glpi recarrega o chamado mas não traz o observador que foi informado, em outras palavras: não salva. Verifiquei que o navegador que as informações estão indo via POST, mas não estou encontrando no código onde é o local que faz a tratativa dos campos que serão salvos. Minha suspeita é que algum método de segurança esteja removendo os campos que o usuário não tem acesso a alterar antes de repassar pra fazer o updade. Detalhes do post pego no F12 do navegador:

POST
-----------------------------21148882612560914631202737303
Content-Disposition: form-data; name="_itil_observer[_type]"
user
-----------------------------21148882612560914631202737303
Content-Disposition: form-data; name="_itil_observer[users_id]"
77
-----------------------------21148882612560914631202737303
Content-Disposition: form-data; name="_itil_observer[use_notification][]"
1
-----------------------------21148882612560914631202737303
Content-Disposition: form-data; name="_itil_observer[alternative_email][]"
informatica@empresa.com.br

Alguém sabe qual é o arquivo/método que faz a tratativa dos campos enviados via POST?

Desde já agradeço a atenção.


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts