Browse Source

Att: adicionando opcao de configurar quantos agentes podem se conectar no sistema

Matheus
Felipe Fontana 7 months ago
parent
commit
a4290ee1ff
  1. 12
      app/Http/Controllers/Admin/ConfigAtendimentoController.php
  2. 2
      app/Http/Controllers/Admin/EmpresaController.php
  3. 1
      app/Models/ConfigAtendimento.php
  4. 98
      resources/views/admin/configs/configs.blade.php

12
app/Http/Controllers/Admin/ConfigAtendimentoController.php

@ -6,22 +6,31 @@ use App\Http\Controllers\Controller;
use App\Models\ConfigAtendimento;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use App\Models\Grupos;
class ConfigAtendimentoController extends Controller
{
public function __construct(
protected Grupos $gruposRepository
) {
}
public function index()
{
$user = auth()->user();
$id_empresa = $user->empresa->first()->id;
$configAtendimento = ConfigAtendimento::where('id_empresa', $id_empresa)->first();
$grupoId = $this->gruposRepository->getUserGrupoID($user->id);
$alterar_licencas = $grupoId == '4' ? true : false;
return view('admin.configs.configs', compact('configAtendimento'));
return view('admin.configs.configs', compact('configAtendimento', 'alterar_licencas'));
}
public function create(Request $request)
{
$validator = Validator::make($request->all(), [
'qtde_atendimento' => 'required',
'qtde_logados' => 'required',
'timeout_cliente' => 'required',
'timeout_agente' => 'required',
'timeout_espera' => 'required',
@ -39,6 +48,7 @@ class ConfigAtendimentoController extends Controller
ConfigAtendimento::where('id_empresa', '=', $request->id_empresa)
->update([
"quantidade_simutaneo" => $request->qtde_atendimento,
"quantidade_logados" => $request->qtde_logados,
"timeout_client" => $request->timeout_cliente,
"timeout_agent" => $request->timeout_agente,
"timeout_espera" => $request->timeout_espera,

2
app/Http/Controllers/Admin/EmpresaController.php

@ -123,7 +123,7 @@ class EmpresaController extends Controller
]);
DB::table('config_atendimento')->insert([
['id_empresa' => $empresa->id, 'quantidade_simutaneo' => 10, 'timeout_client' => 60000, 'timeout_agent' => 60000, 'timeout_supervisor' => 5, 'timeout_espera' => 30, 'hide_nome' => false]
['id_empresa' => $empresa->id, 'quantidade_simutaneo' => 10, 'quantidade_logados' => 10, 'timeout_client' => 60000, 'timeout_agent' => 60000, 'timeout_supervisor' => 5, 'timeout_espera' => 30, 'hide_nome' => false]
]);

1
app/Models/ConfigAtendimento.php

@ -17,6 +17,7 @@ class ConfigAtendimento extends Model
"timeout_client",
"timeout_agent",
"quantidade_simutaneo",
"quantidade_logados",
"timeout_supervisor",
"timeout_espera",
"hide_nome",

98
resources/views/admin/configs/configs.blade.php

@ -10,22 +10,35 @@
{{session('error')}}
</div>
@endif
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow-sm sm:rounded-lg">
<form method="POST" class="p-6 text-gray-900 dark:text-gray-100">
@csrf
<h1 class="text-2xl font-bold text-center md:text-left">Configuração Atendimento</h1>
<div class="responseSteps mt-8 flex flex-col gap-4">
<div class="responseStep flex flex-col md:flex-row gap-3 flex-wrap">
<div class="flex-1 flex flex-col gap-1">
<label>Quantidade de atendimentos: </label>
<input type="text" maxlength="9" class="w-48 rounded-md p-2 dark:bg-gray-800 placeholder:text-gray-800 dark:placeholder:text-gray-100 dark:text-gray-100" placeholder="Digite aqui a quantidade : " value="{{$configAtendimento->quantidade_simutaneo}}" onkeypress="return event.charCode >= 48 && event.charCode <= 57" name="qtde_atendimento">
<div class="py-12">
<form method="post" action="{{route('configs')}}" class="mt-6 space-y-6">
@csrf
<input type="hidden" value="{{$configAtendimento->id_empresa}}" name="id_empresa">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8 space-y-6">
<div class="p-4 sm:p-8 bg-white dark:bg-gray-800 shadow sm:rounded-lg">
<div class="max-w-xl">
<header>
<h2 class="text-lg font-medium text-gray-900 dark:text-gray-100">
Configuração Atendimento
</h2>
</header> </br> </br>
<div>
<x-input-label for="qtde_atendimento" :value="__('Quantidade de atendimentos:')" />
<x-text-input type="text" maxlength="9" placeholder="Digite aqui a quantidade : " value="{{$configAtendimento->quantidade_simutaneo}}" onkeypress="return event.charCode >= 48 && event.charCode <= 57" name="qtde_atendimento" />
</div>
<div class="flex-1 flex flex-col gap-1">
<label>Esconder nome do atendente: </label>
<select class="w-48 rounded-md p-2 dark:bg-gray-800 placeholder:text-gray-800 dark:placeholder:text-gray-100 dark:text-gray-100" name="hide_nome">
</br>
@if ($alterar_licencas)
<div>
<x-input-label for="qtde_logados" :value="__('Quantidade máxima de agentes logados:')" />
<x-text-input type="text" maxlength="9" placeholder="Digite aqui a quantidade : " value="{{$configAtendimento->quantidade_logados}}" onkeypress="return event.charCode >= 48 && event.charCode <= 57" name="qtde_logados" />
</div>
</br>
@else
<input type="hidden" value="{{$configAtendimento->quantidade_logados}}" name="qtde_logados">
@endif
<div>
<x-input-label for="hide_nome" :value="__('Esconder nome do agente:')" />
<select class="border-gray-300 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300 focus:border-indigo-500 dark:focus:border-indigo-600 focus:ring-indigo-500 dark:focus:ring-indigo-600 rounded-md shadow-sm" name="hide_nome">
@if($configAtendimento->hide_nome)
<option value="false" >Não</option>
<option value="true" selected>Sim</option>
@ -35,42 +48,43 @@
@endif
</select>
</div>
<input type="hidden" value="{{$configAtendimento->id_empresa}}" name="id_empresa">
</div>
</div>
<br>
<h1 class="text-2xl font-bold text-center md:text-left">Configuração Timeout</h1>
<div class="responseSteps mt-8 flex flex-col gap-4">
<div class="responseStep flex flex-col md:flex-row gap-3 flex-wrap">
<div class="flex-1 flex flex-col gap-1">
<label>Cliente (em segundos): </label>
<input type="text" maxlength="9" class="w-full rounded-md p-2 dark:bg-gray-800 placeholder:text-gray-800 dark:placeholder:text-gray-100 dark:text-gray-100" placeholder="Digite aqui o timeout em segundos: " onkeypress="return event.charCode >= 48 && event.charCode <= 57" value="{{$configAtendimento->timeout_client}}" name="timeout_cliente">
<div class="p-4 sm:p-8 bg-white dark:bg-gray-800 shadow sm:rounded-lg">
<div class="max-w-xl">
<header>
<h2 class="text-lg font-medium text-gray-900 dark:text-gray-100">
Configuração Timeout
</h2>
</header> </br> </br>
<div>
<x-input-label for="timeout_cliente" :value="__('Cliente (em segundos):')" />
<x-text-input type="text" maxlength="9" placeholder="Digite aqui o timeout em segundos:" value="{{$configAtendimento->timeout_client}}" onkeypress="return event.charCode >= 48 && event.charCode <= 57" name="timeout_cliente" />
</div>
<div class="flex-1 flex flex-col gap-1">
<label>Agente (em segundos): </label>
<input type="text" maxlength="9" class="w-full rounded-md p-2 dark:bg-gray-800 placeholder:text-gray-800 dark:placeholder:text-gray-100 dark:text-gray-100" placeholder="Digite aqui o timeout em segundos: " onkeypress="return event.charCode >= 48 && event.charCode <= 57" value="{{$configAtendimento->timeout_agent}}" name="timeout_agente">
</br>
<div>
<x-input-label for="timeout_agente" :value="__('Agente (em segundos):')" />
<x-text-input type="text" maxlength="9" placeholder="Digite aqui o timeout em segundos:" value="{{$configAtendimento->timeout_agent}}" onkeypress="return event.charCode >= 48 && event.charCode <= 57" name="timeout_agente" />
</div>
<div class="flex-1 flex flex-col gap-1">
<label>Tempo em espera (em minutos): </label>
<input type="text" maxlength="9" class="w-full rounded-md p-2 dark:bg-gray-800 placeholder:text-gray-800 dark:placeholder:text-gray-100 dark:text-gray-100" placeholder="Digite aqui o timeout em minutos: " onkeypress="return event.charCode >= 48 && event.charCode <= 57" value="{{$configAtendimento->timeout_espera}}" name="timeout_espera">
</br>
<div>
<x-input-label for="timeout_espera" :value="__('Tempo em espera (em minutos):')" />
<x-text-input type="text" maxlength="9" placeholder="Digite aqui o timeout em minutos:" value="{{$configAtendimento->timeout_espera}}" onkeypress="return event.charCode >= 48 && event.charCode <= 57" name="timeout_espera" />
</div>
<div class="flex-1 flex flex-col gap-1">
<label>Agente Indisponível (em minutos): </label>
<input type="text" maxlength="9" class="w-full rounded-md p-2 dark:bg-gray-800 placeholder:text-gray-800 dark:placeholder:text-gray-100 dark:text-gray-100" placeholder="Digite aqui o timeout em minutos: " onkeypress="return event.charCode >= 48 && event.charCode <= 57" value="{{$configAtendimento->timeout_supervisor}}" name="timeout_supervisor">
</br>
<div>
<x-input-label for="timeout_supervisor" :value="__('Agente Indisponível (em minutos):')" />
<x-text-input type="text" maxlength="9" placeholder="Digite aqui o timeout em minutos:" value="{{$configAtendimento->timeout_supervisor}}" onkeypress="return event.charCode >= 48 && event.charCode <= 57" name="timeout_supervisor" />
</div>
</br>
<div class="flex items-center gap-4">
<x-primary-button>{{ __('Salvar') }}</x-primary-button>
</div>
</div>
</div>
<button class="mt-11 bg-blue-500 text-white p-3 rounded-md" >Salvar Alterações</button>
</form>
</div>
</div>
</form>
</div>
</div>
</x-app-layout>
Loading…
Cancel
Save