Esempio n. 1
0
 /**
  * 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);
 }
Esempio n. 2
0
 /**
  * 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;
 }
Esempio n. 3
0
 /**
  * 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}");
     }
 }