mirror of https://github.com/Lukibeg/OmniBoard.git
61 lines
1.8 KiB
PHP
61 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Queue;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class QueueController extends Controller
|
|
{
|
|
public function setQueueName(Request $request)
|
|
{
|
|
if (Auth::user()->role !== "supervisor" && Auth::user()->role !== "admin") {
|
|
abort(403, 'Apenas administradores podem gerenciar setores.');
|
|
}
|
|
|
|
$validated = $request->validate([
|
|
'queue_number' => 'required|numeric',
|
|
'friendly_name' => 'required|string|max:255'
|
|
]);
|
|
|
|
Queue::updateOrCreate(
|
|
[
|
|
'tenant_id' => Auth::user()->tenant_id,
|
|
'source_id' => $validated['queue_number'],
|
|
],
|
|
[
|
|
'name' => $validated['friendly_name']
|
|
]
|
|
);
|
|
|
|
return back()->with('message', 'Nome da fila atualizado com sucesso!');
|
|
}
|
|
|
|
public function updateSectors(Request $request)
|
|
{
|
|
if (Auth::user()->role !== "supervisor" && Auth::user()->role !== "admin") {
|
|
abort(403, 'Apenas administradores podem gerenciar setores.');
|
|
}
|
|
|
|
$data = $request->validate([
|
|
'queues' => 'required|array',
|
|
'queues.*.id' => 'required|exists:queues,id', // Garante que a fila existe
|
|
'queues.*.sector' => 'nullable|string|max:50', // Valida o nome do setor
|
|
]);
|
|
|
|
foreach ($data['queues'] as $item) {
|
|
// Encontra a fila pelo ID e atualiza apenas a coluna 'sector'
|
|
// Sugestão: Se usar multi-tenancy, adicione ->where('tenant_id', ...) aqui
|
|
$queue = Queue::find($item['id']);
|
|
|
|
if ($queue) {
|
|
$queue->sector = $item['sector'];
|
|
$queue->save();
|
|
}
|
|
}
|
|
|
|
return back()->with('message', 'Setores organizados com sucesso!');
|
|
}
|
|
}
|