File manager - Edit - /var/www/html/portal/app/Http/Controllers/Accounts/AccountController.php
Back
<?php namespace App\Http\Controllers\Accounts; use App\Http\Controllers\Controller; use App\Models\User; use App\Http\Requests\Accounts\AccountRequest; use Illuminate\Http\Request; use App\Http\Services\Accounts\AccountService; use App\Http\Resources\Accounts\AccountResource; use App\Enums\StatusPermission; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Http\RedirectResponse; use Illuminate\View\View; class AccountController extends Controller { private $permissao = "SYSADMIN"; public function index(Request $request): View|LengthAwarePaginator|RedirectResponse { $response = $this->checkPermissao($this->permissao, "visualizar"); if ($response instanceof RedirectResponse) { return $response; } $AccountService = new AccountService(); $users = $AccountService->index($request); $secretarias = $AccountService->getSecretarias(); $totalUsuarios = User::count(); return view('admin.contas.index', [ 'users' => $users, 'totalUsuarios' => $totalUsuarios, 'secretarias' => $secretarias, 'permissoesDisponiveis' => StatusPermission::cases(), 'permissionFilterState' => AccountResource::parsePermissionFilterCriteria($request), ]); } public function create() : View|RedirectResponse { $response = $this->checkPermissao($this->permissao, "adicionar"); if ($response instanceof RedirectResponse) { return $response; } $AccountService = new AccountService(); $secretarias = $AccountService->getSecretarias(); $unidades = $AccountService->getUnidades(); $empresas = $AccountService->getEmpresas(); return view('admin.contas.create', compact(['secretarias', 'unidades', 'empresas'])); } public function store(AccountRequest $request): RedirectResponse { $response = $this->checkPermissao($this->permissao, "adicionar"); if ($response instanceof RedirectResponse) { return $response; } $request->validated(); if (!$this->validaCPF($request->cpf)) { return redirect() ->back() ->withInput() ->withErrors(['cpf' => 'O número de CPF informado não é válido!']) ->with('error', 'O número de CPF informado não é válido!'); } $fullName = $this->resolveFullname($request->fullName); $array_user = [ "structure_id" => $request->structure_id, "firstName" => $fullName["firstName"], "lastName" => $fullName["lastName"], "cpf" => $request->cpf, "matriculation" => $request->matriculation, "phoneNumber" => $request->phoneNumber, "email" => $request->email, "password" => $request->password, "photo" => $this->getPathImageUserField($request, 'photo', null), "status" => $request->status, 'isPasswordDefault' => 1, ]; $AccountService = new AccountService(); return $AccountService->store($request, $array_user); } public function edit(User $user) : View|RedirectResponse { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } $AccountService = new AccountService(); $secretarias = $AccountService->getSecretarias(); $permissoes = $AccountService->getPermissoes($user->id); $unidades = $AccountService->getUnidades(); $empresas = $AccountService->getEmpresas(); $userUnidades = $user->unidades->pluck('id')->toArray(); $userEmpresas = $user->empresas->pluck('id')->toArray(); return view('admin.contas.edit', compact(['user', 'secretarias', 'permissoes', 'unidades', 'userUnidades', 'empresas', 'userEmpresas'])); } public function update(AccountRequest $request, User $user): 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); $array_user = [ "structure_id" => $request->structure_id, "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), ]; $resetPasswordCheckbox = $request->resetPasswordCheckbox ??= "off"; if ($resetPasswordCheckbox == "on") { $array_user['password'] = bcrypt($request->password); $array_user['isPasswordDefault'] = 1; } $AccountService = new AccountService(); return $AccountService->update($request, $user, $array_user); } public function destroy(Request $request, User $user): RedirectResponse { $response = $this->checkPermissao($this->permissao, "excluir"); if ($response instanceof RedirectResponse) { return $response; } $this->handleFileDestroyArquivo($user->photo); $ds = DIRECTORY_SEPARATOR; $AccountService = new AccountService(); return $AccountService->destroy($request, $user); } public function status(Request $request, User $user): RedirectResponse { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } $AccountService = new AccountService(); return $AccountService->status($request, $user); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings