Sistema de Tickets - Documentação Oficial

Sistema de Tickets

Documentação oficial da aplicação

Voltar para Documentações
Introdução

E aí, o que acha de um sistema onde você possa responder chamados de seus clientes?

Com essa aplicação extremamente simples você pode incluir suporte na área do cliente de seu site, seja sua empresa uma agência ou qualquer outra empresa prestadora de serviços!

Principais Funcionalidades

  • Gerenciamento de cada chamado via Painel Administrativo e pela Área do Cliente
  • Dentro de cada chamado seu cliente pode enviar:
    • Título do Chamado
    • Mensagem / Descrição para o chamado
    • Arquivo para o chamado (formato .zip)
    • Especificar qual o Departamento
    • Especificar qual a Prioridade
  • Cada chamado recebe 3 status:
    • Em Aberto: Quando seu cliente cria novo chamado ele ficará com o status de Em aberto.
    • Respondido: Quando o administrador responde o novo chamado, ele ficará com o status de Respondido.
    • Resolvido: Caso o problema do cliente seja resolvido, ele pode marcar o Ticket como Resolvido.
  • A cada nova interação emails são enviados

Novidades da Versão 1.2.0

  • Criação de tickets pelo painel administrativo
  • Página inicial de tickets (painel adm.) com listagem por ordem de prioridade, e informação de que setor o ticket pertence
  • Bug da página com a lista de tickets da área do cliente resolvido. (tabs conflitavam com botstrap)
  • Páginas com lista de tickets e página com detalhes do ticket da área do cliente REFEITAS com .js e .css otimizados
Compatibilidade

ATENÇÃO! Se seu projeto têm a versão anterior, você precisa fazer o procedimento inverso de instalação! Ou seja, precisa-se antes desinstalar a APP Tickets com versão anterior e instalar essa versão no projeto!

PS: As tabelas do banco de dados não foram alteradas e podem ser mantidas!

Garantimos o bom funcionamento apenas em versões oficiais do WorkControl!

Esteja ciente que não podemos prever outras versões do WorkControl criadas e/ou disponibilizadas por você ou por outros profissionais! Caso tenha um WorkControl customizado e não tem conhecimento necessário para adaptação, você deve solicitar suporte para quem disponibilizou a customização para que possa instalar e usufruir essa aplicação!

  • WorkControl 3.1.4
Configurações Iniciais

Arquivo /_app/Config.inc.php (a partir da linha #112 do WC original).
Adicione somente o conteúdo em negrito no arquivo, conforme abaixo:

(...)
require 'Config/Config.inc.php';
require 'Config/Agency.inc.php';
require 'Config/Client.inc.php';
// APP TICKETS
require 'Config/Custom.inc.php';


Importante
:
Caso você já tenha instalado alguma outra aplicação comprada aqui no meu marketplace e o require para esse arquivo Custom.inc.php já existir, você não precisa (e não deve) chamá-lo novamente neste local... O que você precisa fazer é copiar o conteúdo do novo arquivo e mesclar com o conteúdo existente!

APP - Pastas e Arquivos

Para começar, precisamos copiar os arquivos para dentro do painel administrativo WorkControl. Siga a lista abaixo de arquivos e seu respectivo local de destino:

Nome da pasta ou arquivo Local de destino
/APP/Custom.inc.php BASE-DO-PROJETO/_app/Config/aqui
/APP/Tickets.ajax.php BASE-DO-PROJETO/admin/_ajax/aqui
/APP/tickets/ BASE-DO-PROJETO/admin/_siswc/aqui
APP - Adicionando menu

Para que possamos exibir a nova função no menu principal do WC é necessário uma alteração simples no arquivo wc_menu.php ... OU, se preferir, copie o arquivo 'wc_menu.php' que está dentro da pasta /APP

Arquivo /admin/_siswc/wc_menu.php
Adicione o conteúdo abaixo no arquivo:

<?php 

/**================
* APP TICKETS V2.0
*================= */

if ($Admin['user_level'] >= LEVEL_TICKETS && APP_TICKETS):
$wc_proj_alerts2 = null;
$Read->FullRead("SELECT count(tkt_id) as total FROM " . DB_TICKET . " WHERE tkt_status = 1");
if ($Read->getResult() && $Read->getResult()[0]['total'] >= 1):
$wc_proj_alerts2 .= "<span class='wc_alert btn_red'>{$Read->getResult()[0]['total']}</span>";
endif; ?>

<li class="dashboard_nav_menu_li <?= strstr($getViewInput, 'ticket/') ? 'dashboard_nav_menu_active' : ''; ?>"><a class="icon-ticket" title="Tickets" href="dashboard.php?wc=/ticket/home"><?= $wc_proj_alerts2 ?> Tickets</a>
<?php if (strstr($getViewInput, 'ticket/')): ?>
<ul class="dashboard_nav_menu_sub">
<li class="dashboard_nav_menu_sub_li <?= $getViewInput == 'ticket/home' ? 'dashboard_nav_menu_active' : ''; ?>"><a title="Ver Todos" href="dashboard.php?wc=ticket/home">» Ver Todos</a></li>
<li class="dashboard_nav_menu_sub_li <?= $getViewInput == 'ticket/create' ? 'dashboard_nav_menu_active' : ''; ?>"><a title="Criar um novo ticket" href='javascript:void(0)' class='j_ajaxModal' callback='Tickets' callback_action='tkt_newModal'>» Novo Ticket</a></li>
</ul>
<?php endif; ?>
</li>
<?php
endif;
WIDGET - Pastas e Arquivos

Nome da pasta ou arquivo Local de destino 
/WIDGET/tickets/ BASE-DO-PROJETO/_cdn/widgets/account/aqui
/WIDGET/ticket.wc.php BASE-DO-PROJETO/_cdn/widgets/account/views/aqui
/WIDGET/tickets.wc.php BASE-DO-PROJETO/_cdn/widgets/account/views/aqui
WIDGET - Alterações Necessárias

Visto que o WorkControl não é um CMS Open-Source, evitamos ao máximo compartilhar arquivos nativos de seu motor. Diante disso, mesmo copiando as pastas para seus devidos lugares é necessário que façamos alguns ajustes no código nativo do WorkControl. Segue abaixo os arquivos e seus ajustes necessários.

Arquivo /_cdn/widgets/account/account.php (próximo à linha #99).
Adicione somente o conteúdo em negrito no arquivo padrão WorkControl:

...

//DASHBOARD
$AccViews = ['home', 'dados', 'pedidos', 'pedido', 'enderecos', 'contato', 'tickets', 'ticket'];
if (in_array($AccountAction, $AccViews)):
//REDIRECT IF LOGIN
if (empty($_SESSION['userLogin'])):
header("Location: {$AccountBaseUI}/restrito");
else:
extract($_SESSION['userLogin']);
require 'account.sidebar.php';
echo "<article class='account_box'>";
require "views/{$AccountAction}.wc.php";
echo "</article>";
endif;
endif;

Quase lá ... Agora precisamos exibir a nova função de Tickets no menu da área do cliente! Para fazer isso basta inserir uma nova opção no menu nativo do widget /account. Siga os procedimentos abaixo:

Arquivo /_cdn/widgets/account/account.sidebar.php (próximo à linha #16).
Adicione somente o conteúdo abaixo no arquivo padrão WorkControl. Não exclua e nem altere o conteúdo que já existe lá.

// CUSTOMIZAÇÃO PARA APP TICKETS
echo "<li><a " . (($AccountAction == 'tickets' || $AccountAction == 'ticket') ? 'class="active"' : '') . " href='{$AccountBaseUI}/tickets#acc' title='Meus Tickets'>Meus Tickets</a></li>";
// -----------------------------
Configuração no SEO

Bom, como adicionamos uma nova função dentro de um widget que já existia no sistema, o WorkControl não prevê essa alteração. Portanto, precisamos alterar mais um arquivo para que tudo funcione 100% em seu ambiente. Siga o procedimento abaixo

Arquivo /_app/Models/Seo.class.php
Você precisa encontrar a linha onde está como no bloco abaixo (provavelmente perto da linha #131)! E, adicionar somente o conteúdo em negrito no arquivo padrão WorkControl:

...

elseif ($this->File == 'conta'):
//CONTA
if (ACC_MANAGER):
$ArrAccountApp = [
'' => 'Entrar!',
'login' => 'Entrar!',
'cadastro' => 'Criar Conta!',
'recuperar' => 'Recuperar Senha!',
'nova-senha' => 'Criar Nova Senha!',
'sair' => 'Sair!',
'home' => 'Minha Conta!',
'restrito' => 'Acesso Restrito!',
'enderecos' => 'Meus Endereços!',
'pedidos' => 'Meus Pedidos!',
'tickets' => 'Meus Tickets!',
'ticket' => 'Meu Ticket!',
'pedidos' => 'Meus Pedidos!',
'dados' => 'Atualizar Dados!',
'pedido' => 'Pedido #' . str_pad($this->Key, 7, 0, STR_PAD_LEFT)
];
Dump de Tabelas

Precisamos fazer a importação das tabelas responsáveis pelo gerenciamento da sua aplicação. Para isso, utilize o seu SGBD padrão ou utilize o seu phpmyadmin

Na raiz da pasta baixada temos o arquivo app-tickets_1.2.0.sql! Você deve importá-lo para dentro do banco de dados de sua aplicação!

O toque final

Agora, depois de tudo feito é necessário dar um reset dentro da área administrativa do WorkControl.
Para fazer isso basta ir até Menu > Configurações > Configurações Gerais e clicar no botão Resetar Configurações.

Tudo pronto! Se tudo foi feito como descrito neste tutorial sua Aplicação deve estar funcionando corretamente.


Changelog de versões

  • •  v1.2.0
  • •  v1.0.0

Assuntos desta APP

    Ainda não há assuntos relacionados a essa aplicação