File manager - Edit - /var/www/html/portal/app/Http/Controllers/ProcessosController.php
Back
<?php namespace App\Http\Controllers; use App\Models\Processo; use App\Models\User; use App\Models\ProcessoComentario; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Auth; use Illuminate\Http\Request; use App\Http\Requests\ProcessosRequest; class ProcessosController extends Controller { public function __construct() { $this->middleware('processos'); } public function index(Request $request) { $paginate = 20; if (isset($request->q)) { $processos = Processo::with('comentarios') ->where('user_id', Auth::id()) ->when($request->filled('q'), function ($query) use ($request) { $search = trim($request->q); $query->where(function ($q) use ($search) { $q->where("numero", "LIKE", "%{$search}%") ->orWhere("descricao", "LIKE", "%{$search}%") ->orWhereHas('comentarios', function ($subQuery) use ($search) { $subQuery->where("comentario", "LIKE", "%{$search}%"); }); }); }) ->orderBy('created_at', 'DESC') ->paginate($paginate); } else { $processos = Processo::where([ ["user_id", "=", Auth::user()->id], ])->orderBy('created_at', 'DESC')->paginate($paginate); } return view("admin.processos.index", [ "processos" => $processos ]); } public function create() { return view("admin.processos.create"); } public function store(ProcessosRequest $request) { $existe_processo = Processo::where([ ["user_id", "=", Auth::user()->id], ["numero", "=", $request->numero], ])->first(); if (isset($existe_processo->numero)) { return redirect() ->back() ->withInput() ->with('error', "O processo n° {$existe_processo->numero} já está cadastrado em seu controle de processos."); } try { DB::beginTransaction(); Processo::create([ "user_id" => Auth::user()->id, "numero" => $request->numero, "descricao" => $request->descricao, "interessados" => $request->interessados, "andamento" => $request->andamento, "status" => $request->status, ]); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/processos?page={$page}")->with("success", __("* O processo foi adicionado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro ao tentar cadastrar este processo. ' . $e->getMessage()); } } public function acompanhamento(Request $request, Processo $processo) { if ($request->isMethod("POST")) { if ($request->descricao != null) { ProcessoComentario::create([ "processo_id" => $processo->id, "comentario" => $request->descricao, ]); return redirect("/admin/processos/acompanhamento/{$processo->id}")->with("success", __("* Novo comentário adicionado com sucesso!")); } else { return redirect("/admin/processos/acompanhamento/{$processo->id}")->with("error", __("* Por favor, inclua um comentário!")); } } $interessados = []; $matriculas = explode(",", $processo->interessados); foreach ($matriculas as $matricula) { $user = User::where("matriculation", $matricula)->first(); if (isset($user->matriculation)) { $data = [ "firstName" => $user->firstName, "lastName" => $user->lastName, "matriculation" => $user->matriculation, ]; } else { $data = [ "firstName" => "Usuário não", "lastName" => "cadastrado", "matriculation" => $matricula, ]; } $interessados[] = $data; } return view("admin.processos.acompanhamento", [ "processo" => $processo, "interessados" => $interessados ]); } public function edit(Processo $processo) { return view("admin.processos.edit", [ "processo" => $processo, "interessados" => explode(",", $processo->interessados) ]); } public function update(ProcessosRequest $request, Processo $processo) { if ($processo->numero != $request->numero) { $existe_processo = Processo::where([ ["user_id", "=", Auth::user()->id], ["numero", "=", $request->numero], ])->first(); if (isset($existe_processo->numero)) { return redirect() ->back() ->withInput() ->with('error', "O processo n° {$existe_processo->numero} já está cadastrado em seu controle de processos."); } } try { DB::beginTransaction(); $processo->update([ "numero" => $request->numero, "descricao" => $request->descricao, "interessados" => $request->interessados, "andamento" => $request->andamento, "status" => $request->status, ]); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/processos?page={$page}")->with("success", __("* O processo foi atualizado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro ao tentar atualizar este processo. ' . $e->getMessage()); } } public function destroy(Request $request, Processo $processo) { try { DB::beginTransaction(); Processo::destroy($processo->id); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/processos?page={$page}")->with("success", __("* O processo {$processo->numero} 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 processo. ' . $e->getMessage()); } } public function status(Request $request, Processo $processo) { try { DB::beginTransaction(); $processo->fill([ 'status' => $request->checkStatus ]); $processo->save(); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/processos?page={$page}")->with("success", __("* O status do processo {$processo->numero} foi alterado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro ao tentar alterar o status deste processo. ' . $e->getMessage()); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.12 |
proxy
|
phpinfo
|
Settings