File manager - Edit - /var/www/html/portal/app/Http/Controllers/Cultura/Credenciamento/MusicosController.php
Back
<?php namespace App\Http\Controllers\Cultura\Credenciamento; use App\Http\Controllers\Controller; use App\Models\Cultura\Credenciamento\Musico; use App\Models\FibromialgiaChamado; use App\Models\Endereco; use App\Models\User; use App\Mail\StatusCarteirinhaFibromialgiaMail; use Illuminate\Http\Request; use App\Http\Requests\Cultura\Credenciamento\MusicoRequest; use Illuminate\Support\Facades\Hash; use LaravelLegends\PtBrValidator\Rules\FormatoCpf; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Mail; use App\Mail\CadastroPacienteMail; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Session; use App\Http\Services\Cultura\Credenciamento\MusicoService; use App\Http\Services\Accounts\AccountService; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Http\RedirectResponse; use Illuminate\View\View; class MusicosController extends Controller { private $permissao = "GERENCIADOR_CREDENCIAMENTO_DE_MUSICOS"; public function verify(Request $request): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } if ($request->isMethod("POST")) { try { $request->validate([ 'cpf' => ['required', new FormatoCpf] ]); if (!$this->validaCPF($request->cpf)) { return redirect() ->back() ->withInput() ->with('error', 'O CPF informado é inválido!'); } } catch (\Illuminate\Validation\ValidationException $e) { return redirect() ->back() ->withInput() ->with('error', '* O campo CPF não possui o formato válido.'); } $MusicoService = new MusicoService(); $user = $MusicoService->getUserWithId($request->cpf); if ($user instanceof User) { $musicos = $user->musicos; if ($musicos->isNotEmpty()) { return redirect()->route('admin.cultura.credenciamentoMusicos.edit', $musicos->first()->id) ->with('info', __('* Usuário encontrado. Este CPF já possui credenciamento(s).')); } $musico = $MusicoService->createForUser($user->id, 'PF'); if ($musico instanceof Musico) { return redirect()->route('admin.cultura.credenciamentoMusicos.edit', $musico->id) ->with('info', __('* Usuário encontrado. Novo credenciamento criado.')); } return redirect()->route('admin.cultura.credenciamentoMusicos.index') ->with('error', __('* Ocorreu um erro ao criar o credenciamento. Tente novamente.')); } return redirect()->route('admin.cultura.credenciamentoMusicos.verify') ->with('error', __('* Usuário não encontrado. O cidadão deve possuir ContaAngra para credenciamento.')); } return view('admin.cultura.credenciamentoMusicos.verified'); } public function index(Request $request): View|LengthAwarePaginator|RedirectResponse { $response = $this->checkPermissao($this->permissao, "visualizar"); if ($response instanceof RedirectResponse) { return $response; } $MusicoService = new MusicoService(); $musicos = $MusicoService->index($request); $estilos = \App\Models\Cultura\Credenciamento\EstiloMusical::where('status', 'ATIVO')->orderBy('nome')->get(); $statusCadastroList = [ 'Documentação Pendente (Licitação)' => 'Documentação Pendente (Licitação)', 'Habilitado Documentalmente (Licitação)' => 'Habilitado Documentalmente (Licitação)', 'Pendente de Avaliação Artística (Cultura)' => 'Pendente de Avaliação Artística (Cultura)', 'Habilitado na Avaliação Artística (Cultura)' => 'Habilitado na Avaliação Artística (Cultura)', 'Artista Credenciado' => 'Artista Credenciado', 'Expirado' => 'Expirado', ]; return view('admin.cultura.credenciamentoMusicos.index', compact('musicos', 'estilos', 'statusCadastroList')); } public function create(): RedirectResponse { $response = $this->checkPermissao($this->permissao, "adicionar"); if ($response instanceof RedirectResponse) { return $response; } return redirect()->route('admin.cultura.credenciamentoMusicos.verify') ->with('info', __('* Informe o CPF do usuário ContaAngra para localizar ou criar um credenciamento. Não é permitido criar nova conta por aqui.')); } public function store(MusicoRequest $request): RedirectResponse { $response = $this->checkPermissao($this->permissao, "adicionar"); if ($response instanceof RedirectResponse) { return $response; } return redirect()->route('admin.cultura.credenciamentoMusicos.verify') ->with('info', __('* Utilize a tela de verificação por CPF para vincular credenciamentos a usuários ContaAngra existentes.')); } public function edit(Musico $musico): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } $user = $musico->user; return view('admin.cultura.credenciamentoMusicos.edit', compact(['musico', 'user'])); } public function update(MusicoRequest $request, Musico $musico): RedirectResponse { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } $request->validated(); if (!$this->validaCPF($request->cpf)) { return redirect() ->back() ->withInput() ->with('error', 'O número de CPF informado não é válido!'); } $fullName = $this->resolveFullname($request->fullName); $user = $musico->user; $array_user = [ "firstName" => $fullName["firstName"], "lastName" => $fullName["lastName"], "cpf" => $request->cpf, "matriculation" => $request->matriculation, "phoneNumber" => $request->phoneNumber, "email" => $request->email, "status" => $request->status, "photo" => $this->getPathImageUserField($request, 'photo', $user), "isWhatsapp" => $request->boolean('isWhatsapp') ? 1 : 0, ]; if ($request->boolean('resetPasswordCheckbox')) { $array_user['password'] = bcrypt($request->password); $array_user['isPasswordDefault'] = 1; } $MusicoService = new MusicoService(); return $MusicoService->update($request, $user, $array_user); } public function destroyArquivo(Musico $musico, string $label): RedirectResponse { $response = $this->checkPermissao($this->permissao, "excluir"); if ($response instanceof RedirectResponse) { return $response; } $this->handleFileDestroyArquivo($musico->$label); $MusicoService = new MusicoService(); return $MusicoService->destroyArquivo($musico, $label); } // // public function destroy(Request $request, Musico $musico) { // // $ds = DIRECTORY_SEPARATOR; // // if (!in_array("DELETE", explode(",", Auth::user()->papers))) { // return redirect() // ->back() // ->withInput() // ->with('error', 'Permissão negada! Entre em contato com o administrador do sistema.'); // } // // try { // DB::beginTransaction(); // // if (isset($fibromialgia->fileFoto) && $fibromialgia->fileFoto != "pmar/assets/img/icons/neuto.png") { // $search = "pmar{$ds}assets{$ds}img"; // $file_exist = storage_path() . str_replace($search, "{$ds}app{$ds}public", $fibromialgia->fileFoto); // if (@file_exists($file_exist)) { // unlink($file_exist); // } // } // // if (isset($fibromialgia->fileLaudo) && $fibromialgia->fileLaudo != "pmar/assets/img/icons/neuto.png") { // $search = "pmar{$ds}assets{$ds}img"; // $file_exist = storage_path() . str_replace($search, "{$ds}app{$ds}public", $fibromialgia->fileLaudo); // if (@file_exists($file_exist)) { // unlink($file_exist); // } // } // // if (isset($fibromialgia->fileRG) && $fibromialgia->fileRG != "pmar/assets/img/icons/neuto.png") { // $search = "pmar{$ds}assets{$ds}img"; // $file_exist = storage_path() . str_replace($search, "{$ds}app{$ds}public", $fibromialgia->fileRG); // if (@file_exists($file_exist)) { // unlink($file_exist); // } // } // // if (isset($fibromialgia->fileCPF) && $fibromialgia->fileCPF != "pmar/assets/img/icons/neuto.png") { // $search = "pmar{$ds}assets{$ds}img"; // $file_exist = storage_path() . str_replace($search, "{$ds}app{$ds}public", $fibromialgia->fileCPF); // if (@file_exists($file_exist)) { // unlink($file_exist); // } // } // // if (isset($fibromialgia->fileCartaoSUS) && $fibromialgia->fileCartaoSUS != "pmar/assets/img/icons/neuto.png") { // $search = "pmar{$ds}assets{$ds}img"; // $file_exist = storage_path() . str_replace($search, "{$ds}app{$ds}public", $fibromialgia->fileCartaoSUS); // if (@file_exists($file_exist)) { // unlink($file_exist); // } // } // // foreach ($fibromialgia->chamados as $chamado) { // FibromialgiaChamado::destroy($chamado->id); // } // // if (isset($fibromialgia->endereco->comprovante) && $fibromialgia->endereco->comprovante != "pmar/assets/img/comprovante-residencia-default.jpg") { // $search = "pmar{$ds}assets{$ds}img"; // $file_exist = storage_path() . str_replace($search, "{$ds}app{$ds}public", $fibromialgia->endereco->comprovante); // if (@file_exists($file_exist)) { // unlink($file_exist); // } // } // // if (isset($fibromialgia->endereco->id)) { // Endereco::destroy($fibromialgia->endereco->id); // } // // Fibromialgia::destroy($fibromialgia->id); // // DB::commit(); // // $page = $request->input('page', 1); // return redirect("/admin/saude/fibromialgia?page={$page}")->with("success", __("* O paciente {$fibromialgia->nome_completo} foi excluído com sucesso! Esta ação não pode ser desfeita!")); // } catch (\Exception $e) { // DB::rollBack(); // return redirect() // ->back() // ->withInput() // ->with('error', 'Erro tentar excluir este paciente. ' . $e->getMessage()); // } // } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings