56 lines
1.6 KiB
PHP
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.');
|
|
}
|
|
}
|