/** * Mostra os projetos em aberto e em andamento na tela inicial. */ public function index() { $solicitacao = new Solicitacao(); $usuario = $_SESSION['id']; $perfil = $_SESSION['perfil']; $parametros = Cache::getCache(PARAMETROS); $var = array('aberta' => $solicitacao->getSolicitacoes($usuario, $perfil, 1), 'andamento' => $solicitacao->getSolicitacoes($usuario, $perfil, 2), 'prioridades' => $parametros['CORES_SOLICITACOES'], 'title' => 'PhpMyCall'); $this->loadView(array('main/index'), $var); }
/** * Método que busca todos os parametros referente a solicitações. * @return Array Retorna todos os parametros referente a solicitações. */ public function getParametros() { $parametros = Cache::getCache(PARAMETROS); if (empty($parametros['VISUALIZAR_SOLICITACAO']) || empty($parametros['CORES_SOLICITACOES']) || empty($parametros['DIRECIONAR_CHAMADO']) || empty($parametros['REDIRECIONAR_CHAMADO']) || empty($parametros['EDITAR_SOLICITACAO']) || empty($parametros['ATENDER_SOLICITACAO']) || empty($parametros['ENCERRAR_SOLICITACAO']) || empty($parametros['EXCLUIR_SOLICITACAO'])) { Cache::deleteCache(PARAMETROS); unset($parametros['VISUALIZAR_SOLICITACAO']); unset($parametros['CORES_SOLICITACOES']); unset($parametros['DIRECIONAR_CHAMADO']); unset($parametros['REDIRECIONAR_CHAMADO']); unset($parametros['EDITAR_SOLICITACAO']); unset($parametros['ATENDER_SOLICITACAO']); unset($parametros['ENCERRAR_SOLICITACAO']); unset($parametros['EXCLUIR_SOLICITACAO']); $parametros['VISUALIZAR_SOLICITACAO'] = $this->getDadosParametros('VISUALIZAR_SOLICITACAO'); $parametros['CORES_SOLICITACOES'] = $this->getDadosParametros('CORES_SOLICITACOES'); $parametros['DIRECIONAR_CHAMADO'] = $this->getDadosParametros('DIRECIONAR_CHAMADO'); $parametros['REDIRECIONAR_CHAMADO'] = $this->getDadosParametros('REDIRECIONAR_CHAMADO'); $parametros['EDITAR_SOLICITACAO'] = $this->getDadosParametros('EDITAR_SOLICITACAO'); $parametros['ATENDER_SOLICITACAO'] = $this->getDadosParametros('ATENDER_SOLICITACAO'); $parametros['ENCERRAR_SOLICITACAO'] = $this->getDadosParametros('ENCERRAR_SOLICITACAO'); $parametros['EXCLUIR_SOLICITACAO'] = $this->getDadosParametros('EXCLUIR_SOLICITACAO'); $sql = "SELECT prioridade.nome, prioridade.cor FROM phpmycall.prioridade ORDER BY prioridade.id"; $result = $this->select($sql, array()); foreach ($result as $values) { $parametros['CORES_SOLICITACOES'][$values['nome']] = $values['cor']; } Cache::setCache(PARAMETROS, $parametros); } return $parametros; }
/** * Finaliza um solicitação que esta em atendimento. * @param Array $dados Array com o código da solicitação a ser finalizada */ public function encerrar($dados) { $id_solicitacao = $dados[0]; $perfil = $_SESSION['perfil']; $usuario = $_SESSION['id']; $parametros = Cache::getCache(PARAMETROS); $solicitacao = $this->model->getDadosSolicitacao($id_solicitacao, $perfil, $usuario); /* * Verifica se usuário tem permissão para encerra solicitação e * se o usuário é o técnico responsavel pelo projeto e se a solicitação não esta encerrada. */ if (array_search($perfil, $parametros['ENCERRAR_SOLICITACAO']) !== FALSE && $solicitacao['id_tecnico'] == $usuario && !empty($solicitacao['atendimento']) && empty($solicitacao['encerramento'])) { $hoje = new DateTime(); $hoje = $hoje->format('Y-m-d H:i:s'); /* * Passa os dados referente ao encerramento da solicitação */ $dados = array('encerramento' => $hoje); /* * Realização o encerramento da solicitação e informa o resultado da execução */ if ($this->model->encerrar($id_solicitacao, $dados)) { $_SESSION['msg_sucesso'] = "Solicitação encerrada com sucesso."; } else { $_SESSION['msg_erro'] = "Falha ao encerrar solicitação."; } /* * Gera dados para gravação de log. */ $log = array('dados' => $dados, 'aplicacao' => "Solicitacao/encerrar", 'msg' => empty($_SESSION['msg_sucesso']) ? $_SESSION['msg_erro'] : $_SESSION['msg_sucesso']); /* * Grava dados da operação realizada */ Log::gravar($log, $_SESSION['id']); $this->redir("Solicitacao/visualizar/{$id_solicitacao}"); } else { $_SESSION['msg_erro'] = "Usuário sem autorização para encerrar esta solicitação."; $this->redir("Solicitacao/visualizar/{$id_solicitacao}"); } }