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

56 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Aluno;
use App\Models\turmas;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class AlunosController extends Controller
{
public function index()
{
$user = Auth()->user();
// coordenação/secretaria (ou quem tiver)
if ($user->can('alunos.ver_todos')) {
$alunos = Aluno::query()->get();
return view('escolas.alunos', compact('alunos'));
}
// aluno/responsável
if ($user->can('alunos.ver_meus')) {
$alunos = Aluno::query()
->where(function ($q) use ($user) {
$q->where('user_id', $user->id)
->orWhereHas('responsaveis', fn($r) => $r->where('users.id', $user->id));
})
->get();
return view('alunos.index', compact('alunos'));
}
abort(403);
}
public function updateOrCreate(Request $request)
{
$aluno = Aluno::updateOrCreate(
['cpf' => $request->cpf],
[
'nome' => $request->nome,
'id_turma' => $request->id_turma,
'id_escola' => $request->id_escola,
'data_nascimento' => $request->data_nascimento,
'data_inscricao' => $request->data_inscricao,
'cpf' => $request->cpf,
'user_id' => $request->user_id,
'responsavel_user_id' => $request->responsavel_user_id,
]
);
return redirect()->route('alunos')->with('success', 'Aluno Criado|Atualizado com sucesso.');
}
}