Files
cae/app/Http/Controllers/TurmasController.php
2026-02-22 18:16:47 +00:00

77 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Turma;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class TurmasController extends Controller
{
public function index()
{
$turmas = Turma::all();
return view('escolas.turmas', compact('turmas'));
}
public function createOrUpdate(Request $request)
{
$turma = Turma::where('nome', '=', $request->turma_nome)->count();
if ($turma == 0) {
try {
$turma = new Turma();
$turma->id_escola = $request->id_escola;
$turma->nome = $request->turma_nome;
$turma->descricao = $request->turma_descricao;
$turma->id_whatsapp = $request->id_whatsapp;
$turma->save();
return redirect()->route('turmas')->with('success', 'Turma Criada|Atualizada com sucesso.');
} catch (\Throwable $th) {
dd($th);
}
} else {
try {
Turma::where('nome', $request->turma_nome)->update([
'nome' => $request->turma_nome,
'descricao' => $request->turma_descricao,
'id_escola' => $request->id_escola,
'id_whatsapp' => $request->id_whatsapp,
]);
return redirect()->route('turmas')->with('success', 'Turma Criada|Atualizada com sucesso.');
} catch (\Throwable $th) {
//throw $th;
}
}
}
public function detalhes($id)
{
$turma = Turma::findOrFail($id);
return view('escolas.Turma_detalhes', compact('turma'));
}
public function byEscola(Request $request, $escolaId)
{
// Se você tem multi-tenant e o usuário NÃO é super admin,
// é boa prática garantir que ele só consulte escola permitida.
$user = auth()->user();
if (!$user->is_super_admin) {
// se você usa pivot user_escolas:
$allowed = $user->escolas()->where('escolas.id', $escolaId)->exists();
if (!$allowed) {
abort(403);
}
}
$turmas = Turma::query()
->where('id_escola', $escolaId)
->orderBy('nome')
->get(['id', 'nome']);
return response()->json($turmas);
}
}