From cddfb046bdd133c897d0747a14fd4799cb7b0e17 Mon Sep 17 00:00:00 2001 From: Silvia Moya Date: Fri, 21 Aug 2026 08:57:36 -0300 Subject: [PATCH] CRUD denuncias y detenidos --- app/Http/Controllers/denunciasController.php | 81 ++++++ app/Http/Controllers/detenidosController.php | 63 +++++ app/Http/Requests/StoreDenunciasRequest.php | 63 +++++ app/Http/Requests/StoreDetenidosRequest.php | 55 +++++ app/Http/Requests/UpdatedDenunciasRequest.php | 62 +++++ app/Http/Requests/UpdatedDetenidosRequest.php | 54 ++++ app/Models/denuncias.php | 27 ++ app/Models/detenidos.php | 23 ++ config/adminlte.php | 57 ++++- public/img/escudo policia.jpg | Bin 0 -> 19348 bytes .../vendor/adminlte/dist/img/logo_sicop.jpg | Bin 0 -> 19348 bytes resources/views/denuncias/edit.blade.php | 233 ++++++++++++++++++ resources/views/denuncias/index.blade.php | 155 ++++++++++++ resources/views/denuncias/new.blade.php | 221 +++++++++++++++++ resources/views/denuncias/show.blade.php | 189 ++++++++++++++ resources/views/detenidos/edit.blade.php | 191 ++++++++++++++ resources/views/detenidos/index.blade.php | 114 +++++++++ resources/views/detenidos/new.blade.php | 181 ++++++++++++++ resources/views/detenidos/show.blade.php | 148 +++++++++++ resources/views/personal/index.blade.php | 4 +- routes/web.php | 10 + 21 files changed, 1923 insertions(+), 8 deletions(-) create mode 100644 app/Http/Controllers/denunciasController.php create mode 100644 app/Http/Controllers/detenidosController.php create mode 100644 app/Http/Requests/StoreDenunciasRequest.php create mode 100644 app/Http/Requests/StoreDetenidosRequest.php create mode 100644 app/Http/Requests/UpdatedDenunciasRequest.php create mode 100644 app/Http/Requests/UpdatedDetenidosRequest.php create mode 100644 app/Models/denuncias.php create mode 100644 app/Models/detenidos.php create mode 100644 public/img/escudo policia.jpg create mode 100644 public/vendor/adminlte/dist/img/logo_sicop.jpg create mode 100644 resources/views/denuncias/edit.blade.php create mode 100644 resources/views/denuncias/index.blade.php create mode 100644 resources/views/denuncias/new.blade.php create mode 100644 resources/views/denuncias/show.blade.php create mode 100644 resources/views/detenidos/edit.blade.php create mode 100644 resources/views/detenidos/index.blade.php create mode 100644 resources/views/detenidos/new.blade.php create mode 100644 resources/views/detenidos/show.blade.php diff --git a/app/Http/Controllers/denunciasController.php b/app/Http/Controllers/denunciasController.php new file mode 100644 index 0000000..8e096ce --- /dev/null +++ b/app/Http/Controllers/denunciasController.php @@ -0,0 +1,81 @@ + get(); + + return view('denuncias.index', ['denuncias'=>$denuncias]); + } + public function show($id){ + $denuncias = denuncias::findOrfail($id); + return view('denuncias.show', ["denuncias"=>$denuncias]); + } + + public function destroy(Request $request, $id){ + $denuncias = denuncias::findOrfail($id); + $denuncias->delete(); + $request->session()->flash('mensaje-success', 'La denuncia fue eliminada.'); + return redirect('/denuncias'); + } + + public function create(){ + return view('denuncias.new'); + } + + public function store(StoreDenunciasRequest $request){ + + $denuncias = new denuncias(); + $denuncias->fill([ + 'nombre_denunciante' => $request->input('nombre'), + 'apellido_denunciante' => $request->input('apellido'), + 'dni_denunciante' => $request->input('dni'), + 'fecha' => $request->input('fecha'), + 'tipo' => $request->input('tipo'), + 'descripcion' => $request->input('descripcion'), + 'lugar' => $request->input('lugar'), + ]); + $denuncias->save(); + $request->session()->flash('mensaje-success', 'La denuncia fue guardada exitosamente.'); + return redirect('/denuncias'); + } + + public function edit($id){ + $denuncias = denuncias::findOrfail($id); + return view('denuncias.edit', ["denuncia"=>$denuncias]); + } + + public function update(UpdatedDenunciasRequest $request, $id){ + $denuncias = denuncias::findOrfail($id); + $denuncias->fill([ + 'nombre_denunciante' => $request->input('nombre'), + 'apellido_denunciante' => $request->input('apellido'), + 'dni_denunciante' => $request->input('dni'), + 'fecha' => $request->input('fecha'), + 'tipo' => $request->input('tipo'), + 'descripcion' => $request->input('descripcion'), + 'lugar' => $request->input('lugar'), + ]); + $denuncias->update(); + $request->session()->flash('mensaje-success', 'Los datos fueron modificados.'); + return redirect('/denuncias'); + } + + public function restaurar(Request $request, $id){ + $denuncias = denuncias::withTrashed()->findOrfail($id); + $denuncias->restore(); + $request->session()->flash('mensaje-success', 'La denuncia fue restaurada.'); + return redirect('/denuncias'); + } +} + diff --git a/app/Http/Controllers/detenidosController.php b/app/Http/Controllers/detenidosController.php new file mode 100644 index 0000000..b4d43b2 --- /dev/null +++ b/app/Http/Controllers/detenidosController.php @@ -0,0 +1,63 @@ +$detenidos]); + } + public function show($id){ + $detenidos = detenidos::findOrfail($id); + return view('detenidos.show', ["detenido"=>$detenido]); + } + + public function create(){ + return view('detenidos.new'); + } + + public function store(StoreDetenidosRequest $request){ + + $detenidos = new detenidos(); + $detenidos->fill([ + 'nombre' => $request->input('nombre'), + 'apellido' => $request->input('apellido'), + 'dni' => $request->input('dni'), + 'fecha_nacimiento' => $request->input('fecha_nacimiento'), + 'domicilio' => $request->input('domicilio'), + ]); + $detenidos->save(); + $request->session()->flash('mensaje-success', 'Los datos fueron guardados exitosamente.'); + return redirect('/detenidos'); + } + + public function edit($id){ + $detenidos = detenidos::findOrfail($id); + return view('detenidos.edit', ["detenido"=>$detenidos]); + } + + public function update(UpdatedDetenidosRequest $request, $id){ + $detenidos = detenidos::findOrfail($id); + $detenidos->fill([ + 'nombre' => $request->input('nombre'), + 'apellido' => $request->input('apellido'), + 'dni' => $request->input('dni'), + 'fecha_nacimiento' => $request->input('fecha_nacimiento'), + 'domicilio' => $request->input('domicilio'), + ]); + $detenidos->update(); + $request->session()->flash('mensaje-success', 'Los datos fueron modificados exitosamente.'); + return redirect('/detenidos'); + } +} + diff --git a/app/Http/Requests/StoreDenunciasRequest.php b/app/Http/Requests/StoreDenunciasRequest.php new file mode 100644 index 0000000..bee441b --- /dev/null +++ b/app/Http/Requests/StoreDenunciasRequest.php @@ -0,0 +1,63 @@ + 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/', + 'apellido' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/', + 'dni' => 'required|numeric|digits_between:7,8|unique:denuncias,dni_denunciante', + 'fecha' => 'required|date', + 'tipo' => 'required|max:100', + 'descripcion' => 'required|max:1000', + 'lugar' => 'required|max:100', + ]; + } + + /** + * Mensajes personalizados de validación. + */ + public function messages(): array + { + return [ + 'nombre.required' => 'El campo nombre es requerido', + 'nombre.regex' => 'El campo nombre sólo debe contener letras', + + 'apellido.required' => 'El campo apellido es requerido', + 'apellido.regex' => 'El campo apellido sólo debe contener letras', + + 'dni.required' => 'El campo DNI es requerido', + 'dni.numeric' => 'El campo DNI sólo admite números', + 'dni.digits_between' => 'El campo DNI debe tener entre 7 y 8 dígitos', + 'dni.unique' => 'El DNI ya se encuentra registrado en otra denuncia', + + 'fecha.required' => 'El campo fecha es requerido', + 'fecha.date' => 'La fecha ingresada no es válida', + + 'tipo.required' => 'El campo tipo es requerido', + 'tipo.max' => 'El tipo no puede superar los 100 caracteres', + + 'descripcion.required' => 'El campo descripción es requerido', + 'descripcion.max' => 'La descripción no puede superar los 1000 caracteres', + + 'lugar.required' => 'El campo lugar es requerido', + 'lugar.max' => 'El lugar no puede superar los 100 caracteres', + ]; + } +} \ No newline at end of file diff --git a/app/Http/Requests/StoreDetenidosRequest.php b/app/Http/Requests/StoreDetenidosRequest.php new file mode 100644 index 0000000..662a1e0 --- /dev/null +++ b/app/Http/Requests/StoreDetenidosRequest.php @@ -0,0 +1,55 @@ + 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/', + 'apellido' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/', + 'dni' => 'required|numeric|digits_between:7,8|unique:detenidos,dni', + 'fecha_nacimiento' => 'required|date', + 'domicilio' => 'required|max:150', + ]; + } + + /** + * Mensajes personalizados de validación. + */ + public function messages(): array + { + return [ + 'nombre.required' => 'El campo nombre es requerido', + 'nombre.regex' => 'El campo nombre sólo debe contener letras', + + 'apellido.required' => 'El campo apellido es requerido', + 'apellido.regex' => 'El campo apellido sólo debe contener letras', + + 'dni.required' => 'El campo DNI es requerido', + 'dni.numeric' => 'El campo DNI sólo admite números', + 'dni.digits_between' => 'El campo DNI debe tener entre 7 y 8 dígitos', + 'dni.unique' => 'El DNI ya se encuentra registrado', + + 'fecha_nacimiento.required' => 'El campo fecha de nacimiento es requerido', + 'fecha_nacimiento.date' => 'La fecha de nacimiento ingresada no es válida', + + 'domicilio.required' => 'El campo domicilio es requerido', + 'domicilio.max' => 'El domicilio no puede superar los 150 caracteres', + ]; + } +} \ No newline at end of file diff --git a/app/Http/Requests/UpdatedDenunciasRequest.php b/app/Http/Requests/UpdatedDenunciasRequest.php new file mode 100644 index 0000000..2bb1d45 --- /dev/null +++ b/app/Http/Requests/UpdatedDenunciasRequest.php @@ -0,0 +1,62 @@ + 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/', + 'apellido' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/', + 'dni' => 'required|numeric|digits_between:7,8', + 'fecha' => 'required|date', + 'tipo' => 'required|max:100', + 'descripcion' => 'required|max:1000', + 'lugar' => 'required|max:100', + ]; + } + + /** + * Mensajes personalizados de validación. + */ + public function messages(): array + { + return [ + 'nombre.required' => 'El campo nombre es requerido', + 'nombre.regex' => 'El campo nombre sólo debe contener letras', + + 'apellido.required' => 'El campo apellido es requerido', + 'apellido.regex' => 'El campo apellido sólo debe contener letras', + + 'dni.required' => 'El campo DNI es requerido', + 'dni.numeric' => 'El campo DNI sólo admite números', + 'dni.digits_between' => 'El campo DNI debe tener entre 7 y 8 dígitos', + + 'fecha.required' => 'El campo fecha es requerido', + 'fecha.date' => 'La fecha ingresada no es válida', + + 'tipo.required' => 'El campo tipo es requerido', + 'tipo.max' => 'El tipo no puede superar los 100 caracteres', + + 'descripcion.required' => 'El campo descripción es requerido', + 'descripcion.max' => 'La descripción no puede superar los 1000 caracteres', + + 'lugar.required' => 'El campo lugar es requerido', + 'lugar.max' => 'El lugar no puede superar los 100 caracteres', + ]; + } +} \ No newline at end of file diff --git a/app/Http/Requests/UpdatedDetenidosRequest.php b/app/Http/Requests/UpdatedDetenidosRequest.php new file mode 100644 index 0000000..1672010 --- /dev/null +++ b/app/Http/Requests/UpdatedDetenidosRequest.php @@ -0,0 +1,54 @@ + 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/', + 'apellido' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/', + 'dni' => 'required|numeric|digits_between:7,8', + 'fecha_nacimiento' => 'required|date', + 'domicilio' => 'required|max:150', + ]; + } + + /** + * Mensajes personalizados de validación. + */ + public function messages(): array + { + return [ + 'nombre.required' => 'El campo nombre es requerido', + 'nombre.regex' => 'El campo nombre sólo debe contener letras', + + 'apellido.required' => 'El campo apellido es requerido', + 'apellido.regex' => 'El campo apellido sólo debe contener letras', + + 'dni.required' => 'El campo DNI es requerido', + 'dni.numeric' => 'El campo DNI sólo admite números', + 'dni.digits_between' => 'El campo DNI debe tener entre 7 y 8 dígitos', + + 'fecha_nacimiento.required' => 'El campo fecha de nacimiento es requerido', + 'fecha_nacimiento.date' => 'La fecha de nacimiento ingresada no es válida', + + 'domicilio.required' => 'El campo domicilio es requerido', + 'domicilio.max' => 'El domicilio no puede superar los 150 caracteres', + ]; + } +} \ No newline at end of file diff --git a/app/Models/denuncias.php b/app/Models/denuncias.php new file mode 100644 index 0000000..d691ea1 --- /dev/null +++ b/app/Models/denuncias.php @@ -0,0 +1,27 @@ + 'SICOP', - 'logo_img' => 'vendor/adminlte/dist/img/AdminLTELogo.png', + 'logo_img' => 'vendor/adminlte/dist/img/logo_sicop.jpg', 'logo_img_class' => 'brand-image img-circle elevation-3', 'logo_img_xl' => null, 'logo_img_xl_class' => 'brand-image-xs', - 'logo_img_alt' => 'Admin Logo', + 'logo_img_alt' => 'Logo SICOP', /* |-------------------------------------------------------------------------- @@ -86,7 +86,7 @@ return [ 'auth_logo' => [ 'enabled' => false, 'img' => [ - 'path' => 'vendor/adminlte/dist/img/AdminLTELogo.png', + 'path' => 'vendor/adminlte/dist/img/logo_sicop.jpg', 'alt' => 'Auth Logo', 'class' => '', 'width' => 50, @@ -298,7 +298,9 @@ return [ | */ - 'menu' => [ + + + 'menu' => [ [ 'text' => 'Inicio', @@ -309,8 +311,8 @@ return [ ['header' => 'ADMINISTRACIÓN'], [ - 'text' => 'personal', - 'icon' => 'fas fa-fw fa-list', + 'text' => 'Personal', + 'icon' => 'fas fa-fw fa-user', 'submenu' => [ [ @@ -328,8 +330,51 @@ return [ ], ], + [ + 'text' => 'Denuncias', + 'icon' => 'fas fa-fw fa-file-alt', + 'submenu' => [ + + [ + 'text' => 'Listado', + 'route' => 'denuncias.index', + 'icon' => 'fas fa-fw fa-list-ul', + ], + + [ + 'text' => 'Nueva denuncia', + 'route' => 'denuncias.create', + 'icon' => 'fas fa-fw fa-plus', + ], + + ], + ], + + [ + 'text' => 'Detenidos', + 'icon' => 'fas fa-fw fa-user-lock', + 'submenu' => [ + + [ + 'text' => 'Listado', + 'route' => 'detenidos.index', + 'icon' => 'fas fa-fw fa-list-ul', + ], + + [ + 'text' => 'Nuevo detenido', + 'route' => 'detenidos.create', + 'icon' => 'fas fa-fw fa-plus', + ], + + ], + ], + ], + + + /* |-------------------------------------------------------------------------- | Menu Filters diff --git a/public/img/escudo policia.jpg b/public/img/escudo policia.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f4992effddac381ffba1493e3de0dede496df37a GIT binary patch literal 19348 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 V&3`Mh{8!umN;kf-gHrf9_D=yhDJ%d0 literal 0 HcmV?d00001 diff --git a/public/vendor/adminlte/dist/img/logo_sicop.jpg b/public/vendor/adminlte/dist/img/logo_sicop.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f4992effddac381ffba1493e3de0dede496df37a GIT binary patch literal 19348 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 V&3`Mh{8!umN;kf-gHrf9_D=yhDJ%d0 literal 0 HcmV?d00001 diff --git a/resources/views/denuncias/edit.blade.php b/resources/views/denuncias/edit.blade.php new file mode 100644 index 0000000..d4b919d --- /dev/null +++ b/resources/views/denuncias/edit.blade.php @@ -0,0 +1,233 @@ +@extends('layouts.admin') + +@section('contenido') + + +
+ +
+ +

Editar Datos de la Denuncia

+ +
+ +
+ + + +
+ +
+ + @include('compartido.mensajes') + @include('compartido.errores') + +
+ +
+ +
+ + + +
+ + @csrf + + @method('PUT') + + + +
+ + +
+ + + + + +
+ + + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + + +
+ + +
+ + + + + +
+ + + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + + +
+ + +
+ + + + + +
+ +
+ + +
+ + + +
+ + +
+ + + +
+ + + +
+ + + Salir + + +
+ +
+ +
+ +@endsection + + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/resources/views/denuncias/index.blade.php b/resources/views/denuncias/index.blade.php new file mode 100644 index 0000000..23b2ba4 --- /dev/null +++ b/resources/views/denuncias/index.blade.php @@ -0,0 +1,155 @@ +@extends('layouts.admin') + +@section('contenido') + +
+
+

Listado de Denuncias

+
+
+ + + +
+ +
+
+ + @include('compartido.mensajes') + @include('compartido.errores') + +
+ + + + + + + + + + + + + + + + + + @foreach($denuncias as $den) + + + + + + + + + + + + + + + + + + + + @endforeach + + + +
IdDenuncianteDNIFechaTipoLugarAcciones
{{ $den->id_denuncia }} + {{ $den->nombre_denunciante }} + {{ $den->apellido_denunciante }} + {{ $den->dni_denunciante }}{{ $den->fecha }}{{ $den->tipo }}{{ $den->lugar }} + + @if($den->deleted_at == null) + +
+ + @csrf + @method('DELETE') + + + + + + + + + + + + + + +
+ + @else + +
+ + @csrf + @method('PUT') + + + + +
+ + @endif + +
+ +
+ +
+
+ +@endsection + + +@push('styles') + +@endpush + + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/resources/views/denuncias/new.blade.php b/resources/views/denuncias/new.blade.php new file mode 100644 index 0000000..1f3fdb5 --- /dev/null +++ b/resources/views/denuncias/new.blade.php @@ -0,0 +1,221 @@ +@extends('layouts.admin') +@section('contenido') + + +
+
+

Nueva Denuncia

+
+
+ + + +
+
+ + @include('compartido.mensajes') + @include('compartido.errores') + +
+
+ +
+ + + +
+ + @csrf + + +
+ + +
+ + + +
+ + + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + + +
+ + +
+ + + + + +
+ + + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + + +
+ + +
+ + + + + +
+ +
+ + +
+ + + +
+ + +
+ + + +
+ + + +
+ + + Salir + + +
+ +
+ +
+ +@endsection + + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/resources/views/denuncias/show.blade.php b/resources/views/denuncias/show.blade.php new file mode 100644 index 0000000..fd1c835 --- /dev/null +++ b/resources/views/denuncias/show.blade.php @@ -0,0 +1,189 @@ +@extends('layouts.admin') + +@section('contenido') + +
+ +
+ +

Ver Datos de la Denuncia

+ +
+ +
+ +
+ +
+ + + +
+ + +
+ + + + + +
+ + + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + + +
+ + +
+ + + + + +
+ + + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + + +
+ +
+ + + + + +
+ +
+ + +
+ + + + + +
+ +
+ + + Salir + + +
+ +
+ + +@endsection \ No newline at end of file diff --git a/resources/views/detenidos/edit.blade.php b/resources/views/detenidos/edit.blade.php new file mode 100644 index 0000000..d3bffc5 --- /dev/null +++ b/resources/views/detenidos/edit.blade.php @@ -0,0 +1,191 @@ +@extends('layouts.admin') + +@section('contenido') + + +
+ +
+ +

Editar Datos del Detenido

+ +
+ +
+ + + +
+ +
+ + @include('compartido.mensajes') + @include('compartido.errores') + +
+ +
+ +
+ + + +
+ + @csrf + + @method('PUT') + + + +
+ + +
+ + + + + +
+ + + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + + +
+ + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + +
+ + + +
+ + +
+ + + +
+ + + +
+ + + Salir + + +
+ +
+ +
+ +@endsection + + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/resources/views/detenidos/index.blade.php b/resources/views/detenidos/index.blade.php new file mode 100644 index 0000000..51c5a19 --- /dev/null +++ b/resources/views/detenidos/index.blade.php @@ -0,0 +1,114 @@ +@extends('layouts.admin') + +@section('contenido') + +
+
+

Listado de Detenidos

+
+
+ + + +
+ +
+
+ + @include('compartido.mensajes') + @include('compartido.errores') + +
+ + + + + + + + + + + + + + + + + + @foreach($detenidos as $det) + + + + + + + + + + + + + + + + + + + + @endforeach + + + +
IdNombreApellidoDNIFecha de nacimientoDomicilioAcciones
{{ $det->id_detenido }}{{ $det->nombre }}{{ $det->apellido }}{{ $det->dni }}{{ $det->fecha_nacimiento }}{{ $det->domicilio }} + + + + + + + + + + + +
+ +
+ +
+
+ +@endsection + + +@push('styles') + +@endpush + + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/resources/views/detenidos/new.blade.php b/resources/views/detenidos/new.blade.php new file mode 100644 index 0000000..7bf844d --- /dev/null +++ b/resources/views/detenidos/new.blade.php @@ -0,0 +1,181 @@ +@extends('layouts.admin') + +@section('contenido') + + +
+
+

Nuevo Detenido

+
+
+ + + +
+
+ + @include('compartido.mensajes') + @include('compartido.errores') + +
+
+ +
+ + + +
+ + @csrf + + +
+ + +
+ + + + + +
+ + + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + + +
+ + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + +
+ + + +
+ + +
+ + + +
+ + + +
+ + + Salir + + +
+ +
+ +
+ +@endsection + + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/resources/views/detenidos/show.blade.php b/resources/views/detenidos/show.blade.php new file mode 100644 index 0000000..0d6a63c --- /dev/null +++ b/resources/views/detenidos/show.blade.php @@ -0,0 +1,148 @@ +@extends('layouts.admin') + +@section('contenido') + +
+ +
+ +

Ver Datos del Detenido

+ +
+ +
+ +
+ +
+ + + +
+ + +
+ + + + + +
+ + + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + + +
+ + +
+ + + + + +
+ + + +
+ + + + + +
+ +
+ + +
+ + + + + +
+ +
+ + + Salir + + +
+ +
+ + +@endsection \ No newline at end of file diff --git a/resources/views/personal/index.blade.php b/resources/views/personal/index.blade.php index d395a48..7286b8b 100644 --- a/resources/views/personal/index.blade.php +++ b/resources/views/personal/index.blade.php @@ -82,14 +82,14 @@ - + @else diff --git a/routes/web.php b/routes/web.php index 88ee372..3607f5b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -2,6 +2,9 @@ use Illuminate\Support\Facades\Route; use App\Http\Controllers\personalController; +use App\Http\Controllers\denunciasController; +use App\Http\Controllers\detenidosController; + /* |-------------------------------------------------------------------------- | Web Routes @@ -20,6 +23,13 @@ Route::get('/', function () { Route::resource('personal', personalController::class); Route::put('personal/restaurar/{personal}', [personalController::class, 'restaurar'])->name('personal.restaurar'); +Route::resource('denuncias', denunciasController::class); +Route::put('denuncias/restaurar/{denuncias}', [denunciasController::class, 'restaurar'])->name('denuncias.restaurar'); + +Route::resource('detenidos', detenidosController::class); + + + /*Route::get('personal', [personalController::class, 'index'])->name('personal.index'); Route::post('personal', [personalController::class, 'store'])->name('personal.store'); Route::get('personal/create', [personalController::class, 'create'])->name('personal.create');