| | [RESOLVIDO] Campo customizado - Abertura de chamados | |
| | Autor | Mensagem |
---|
orbfx
Mensagens : 8 Data de inscrição : 16/04/2014
| Assunto: [RESOLVIDO] Campo customizado - Abertura de chamados Qua Abr 16, 2014 7:00 pm | |
| Boa noite, Fiz uma função básica em PHP pra obter o endereço do usuário na rede e mesmo com proxy habilitado na rede pra exibir o IP correto do usuário na intranet (ex: 10.0.10.125). Consegui adicionar o campo na tela de cadastro de ocorrências e está pegando o IP corretamente do usuário e jogando em uma input. Porém ainda estou meio perdido nos arquivos de banco. Criei o campo oco_ip_usuario na tabela ocorrencias e alterei os INSERTS (incluir.php e incluir_2.php), adicionando o novo campo. Porém na hora de registrar a ocorrência da um erro (Não foi possível recuperar as informações de registro!!). Não cheguei a adicionar a função pra ser habilitada na tela de Perfis, na verdade eu joguei dentro da condição do campo "usuario", então se o campo usuário estiver habilitado na tela de Perfis o campo de IP também aparecerá na hora de criar o chamado. Por enquanto ainda é uma gambiarra mas depois pretendo adicionar na tela de perfis e transformar em uma variavel de ambiente pra enviar o IP do usuário diretamente via e-mail pro helpdesk assim que abrir o chamado.. Na verdade acho que essa parte é mais fácil, por enquanto ainda estou preso no banco de dados... Minha função ficou assim no arquivo incluir.php e como mencionei ela aparecerá juntamente com o campo usuario (operador). Pretendo dividir posteriormente e colocar pra ativar isso através dos perfis de usuário, mas antes disso tenho que conseguir registrar no banco... - Código:
-
function retornaIpReal(){ if (!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else{ $ip=$_SERVER['REMOTE_ADDR']; } return $ip; } $ipReal = retornaIpReal();
if ((!empty($rowconf) && $rowconf['conf_scr_operator']) || empty($rowconf)) { print "<TD width='20%' align='left' bgcolor=".TD_COLOR.">".TRANS('OCO_FIELD_OPERATOR','Operador').":</TD>"; print "<TD width='30%' align='left' bgcolor=".BODY_COLOR."><input class='disable' value='".$_SESSION['s_usuario']."' readonly></TD>"; print "</TR>"; print "<TR>"; print "<TD width='30%' align='left' bgcolor=".TD_COLOR.">IP na Rede: </TD>"; print "<TD width='30%' align='left' bgcolor=".BODY_COLOR."><input type='text' class='disable' name='ipusuario' value=".$ipReal." readonly=''></TD></TD>";
Última edição por orbfx em Ter Abr 22, 2014 2:45 pm, editado 6 vez(es) | |
| | | orbfx
Mensagens : 8 Data de inscrição : 16/04/2014
| Assunto: Re: [RESOLVIDO] Campo customizado - Abertura de chamados Qua Abr 16, 2014 7:17 pm | |
| No mesmo arquivo incluir.php alterei os INSERTS. Porém ao tentar cadastrar aparece a mensagem que não foi possível realizar a consulta. O campo criado na tabela ocorrencias foi "oco_ip_usuario" e o nome da input como consta acima é "ipusuario", daí na hora de inserir chamo a variável POST e o nome do input '".$_POST['ipusuario']."' - Código:
-
$query = "INSERT INTO ocorrencias (problema, descricao, instituicao, equipamento, sistema, contato, telefone, local, operador, ". "data_abertura, data_fechamento, status, data_atendimento, aberto_por, oco_scheduled, oco_real_open_date, date_first_queued, oco_prior, oco_ip_usuario)". " values ". //"(".$problema.", "; "(".$catProb.", ";
if ($_SESSION['s_formatBarOco']) { $query.= " '".$descricao."',"; } else { $query.= " '".noHtml($descricao)."',"; }
if (!$schedule){ $query.="".$_POST['instituicao'].",'".$_POST['equipamento']."','".$sistema."',". "'".noHtml($_POST['contato'])."','".$_POST['telefone']."',".$_POST['local'].",".$operator.",". " '".$date_schedule."',NULL,".$oStatus.",NULL,".$_SESSION['s_uid'].",".$schedule.", '".date("Y-m-d H:i:s")."', '".date("Y-m-d H:i:s")."', '".$_POST['prioridade']."', '".$_POST['ipusuario']."')"; } else { $query.="".$_POST['instituicao'].",'".$_POST['equipamento']."','".$sistema."',". "'".noHtml($_POST['contato'])."','".$_POST['telefone']."',".$_POST['local'].",".$operator.",". " '".$date_schedule."',NULL,".$oStatus.",NULL,".$_SESSION['s_uid'].",".$schedule.", '".date("Y-m-d H:i:s")."', NULL, '".$_POST['prioridade']."', '".$_POST['ipusuario']."')"; }
$resultado = mysql_query($query) or die (TRANS('ERR_QUERY')); E no arquivo incluir_2.php ficou assim: - Código:
-
$query = "INSERT INTO ocorrencias (problema, descricao, instituicao, equipamento, sistema, contato, telefone, local, operador, ". "data_abertura, data_fechamento, status, data_atendimento, aberto_por, oco_scheduled, oco_real_open_date, oco_ip_usuario) values ". //"(".$problema.", "; "(".$catProb.", ";
if ($_SESSION['s_formatBarOco']) { $query.= " '".$descricao."',"; } else { $query.= " '".noHtml($descricao)."',"; }
$query.="".$_POST['instituicao'].",'".$_POST['equipamento']."','".$sistema."',". "'".noHtml($_POST['contato'])."','".$_POST['telefone']."',".$_POST['local'].",".$operator.",". " '".$date_schedule."',NULL,".$oStatus.",NULL,".$_SESSION['s_uid'].",".$schedule.", '".date("Y-m-d H:i:s")."')";
$resultado = mysql_query($query) or die (TRANS('ERR_QUERY')); Ao tentar cadastrar a ocorrência vem a seguinte tela (e a mensagem que não foi possível recuperar as informações de registro): Segue o llink do printscreen da tela: | |
| | | FabioRK
Mensagens : 378 Data de inscrição : 14/09/2009 Idade : 44 Localização : Carazinho - RS
| Assunto: Re: [RESOLVIDO] Campo customizado - Abertura de chamados Qui Abr 17, 2014 10:32 am | |
| Edita o arquivo e coloca a query para mostrar junto com o erro: - Código:
-
$resultado = mysql_query($query) or die (TRANS('ERR_QUERY')."</br>".$query); Depois acessa o banco e tenta executar a query direto no banco, verifica se vai dar erro também. | |
| | | orbfx
Mensagens : 8 Data de inscrição : 16/04/2014
| Assunto: Re: [RESOLVIDO] Campo customizado - Abertura de chamados Qui Abr 17, 2014 2:21 pm | |
| Valeu Fabio! Só que eu fiz o teste e funcionou.. Inserindo a query diretamente no phpmyadmin e cadastrou sem nenhum erro... Será que não é algum outro arquivo? Vi que tem uma bagunça no includes/queries/queries.php mas ainda não arrisquei.. - Código:
-
Não foi recuperar as informações de registro!! INSERT INTO ocorrencias (problema, descricao, instituicao, equipamento, sistema, contato, telefone, local, operador, data_abertura, data_fechamento, status, data_atendimento, aberto_por, oco_scheduled, oco_real_open_date, date_first_queued, oco_prior, oco_ip_usuario) values (72, ' testando 124567890-',1,'444','26','Felipe Santiago','444',11,255, '2014-04-17 14:02:23',NULL,1,NULL,255,0, '2014-04-17 14:02:23', '2014-04-17 14:02:23', '1', '10.0.11.120')
Última edição por orbfx em Qui Abr 17, 2014 4:12 pm, editado 1 vez(es) | |
| | | orbfx
Mensagens : 8 Data de inscrição : 16/04/2014
| Assunto: Re: [RESOLVIDO] Campo customizado - Abertura de chamados Qui Abr 17, 2014 4:09 pm | |
| Tentei inserir também no select, no arquivo queries.php e executei a consulta... A consulta consigo realizar normalmente jogando o SELECT direto no banco, retorna o IP e tudo mais na consulta (dos que cadastrei no dedo)... sem erros... Porém o Ocomon já me retorna uma bomba logo depois de realizar login: - Código:
-
Não foi recuperar as informações de registro!!SELECT o.numero as numero, o.problema as prob_cod, o.descricao as descricao, o.equipamento as etiqueta, o.sistema as area_cod, o.contato as contato, o.telefone as telefone, o.local as setor_cod, o.operador as operador_cod, o.data_abertura as data_abertura, o.data_fechamento as data_fechamento, o.status as status_cod, o.data_atendimento as data_atendimento, o.instituicao as unidade_cod, o.aberto_por as aberto_por_cod, o.oco_scheduled, o.oco_real_open_date, o.date_first_queued, o.oco_script_sol, o.oco_prior, o.oco_ip_usuario as ip, i.inst_nome as unidade, p.problema as problema, p.prob_area as prob_area_cod, p.prob_sla as sla_solucao_cod, a.sistema as area, a.sis_email as area_email, a.sis_atende as sis_atende, l.local as setor, l.loc_reitoria as reitoria_cod, l.loc_prior as loc_prior_cod, l.loc_dominio as dominio_cod, l.loc_predio as predio_cod, pr.prior_nivel as prioridade_nivel, pr.prior_sla as sla_resposta_cod, u.login as login, u.nome as nome, u.email as user_email, u.AREA as user_area, u.user_admin as user_admin, ua.nome as aberto_por, s.status as chamado_status, s.stat_cat as stat_cat_cod, s.stat_painel as stat_painel_cod, stc.stc_desc as status_cat, sls.slas_desc as sla_solucao, sls.slas_tempo as sla_solucao_tempo, slr.slas_desc as sla_resposta, slr.slas_tempo as sla_resposta_tempo, sol.script_desc, prioridade_atendimento.pr_nivel as pr_atendimento, prioridade_atendimento.pr_color as cor FROM ocorrencias as o left join sistemas as a on a.sis_id = o.sistema left join localizacao as l on l.loc_id = o.local left join instituicao as i on i.inst_cod = o.instituicao left join usuarios as u on u.user_id = o.operador left join usuarios as ua on ua.user_id = o.aberto_por left join `status` as s on s.stat_id = o.status left join status_categ as stc on stc.stc_cod = s.stat_cat left join problemas as p on p.prob_id = o.problema left join sla_solucao as sls on sls.slas_cod = p.prob_sla left join prioridades as pr on pr.prior_cod = l.loc_prior left join sla_solucao as slr on slr.slas_cod = pr.prior_sla left join script_solution as sol on sol.script_cod = o.oco_script_sol left join prior_atend as prioridade_atendimento on prioridade_atendimento.pr_cod = o.oco_prior WHERE o.oco_scheduled and o.sistema in (26,26,1,10,11,12,14,15,16,17,19,2,20,21,22,23,24,25,26,27,3,4,5,6,7,8,9) ORDER BY numero Isso já ta me deixando doido já... Será que tem algum código de proteção pra ninguém ficar inserindo campos? rs | |
| | | orbfx
Mensagens : 8 Data de inscrição : 16/04/2014
| Assunto: Re: [RESOLVIDO] Campo customizado - Abertura de chamados Ter Abr 22, 2014 1:14 pm | |
| Consegui, fazendo do jeito certo (habilitando/desabilitando via configuração de perfil de usuario) com uma condição própria no incluir.php
Está cadastrando no banco, aparece na tela de consulta, tela de impressão e o operador também recebe o IP do usuário via e-mail.
Pra quem quiser adicionar novos campos na abertura de chamados, seguem os arquivos e as tabelas do banco que precisam ser alterados.
Arquivos:
ocomon/geral/incluir.php ocomon/geral/incluir_2.php ocomon/geral/mostra_consulta.php ocomon/geral/mostra_relatorio_individual.php
admin/geral/screenprofiles.php admin/geral/screen_profile_details.php
includes/language/pt_BR.php includes/queries/queries.php
Banco de dados:
Tabela: ocorrencias Tabela: configusercall
Se alguém tiver alguma dúvida posso ajudar. | |
| | | Conteúdo patrocinado
| Assunto: Re: [RESOLVIDO] Campo customizado - Abertura de chamados | |
| |
| | | | [RESOLVIDO] Campo customizado - Abertura de chamados | |
|
Tópicos semelhantes | |
|
| Permissões neste sub-fórum | Não podes responder a tópicos
| |
| |
| |