crud denuncias, personal, expedientes

This commit is contained in:
Silvia Moya 2026-10-11 20:26:26 -03:00
parent cddfb046bd
commit 3c362b2bd1
53 changed files with 1454 additions and 259 deletions

View File

@ -0,0 +1,39 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ConfirmsPasswords;
class ConfirmPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Confirm Password Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password confirmations and
| uses a simple trait to include the behavior. You're free to explore
| this trait and override any functions that require customization.
|
*/
use ConfirmsPasswords;
/**
* Where to redirect users when the intended url fails.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
}

View File

@ -0,0 +1,22 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset emails and
| includes a trait which assists in sending these notifications from
| your application to your users. Feel free to explore this trait.
|
*/
use SendsPasswordResetEmails;
}

View File

@ -0,0 +1,71 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
$this->middleware('auth')->only('logout');
}
public function login(Request $request)
{
$credentials = $request->validate([
'email' => 'required|email',
'password' => 'required',
]);
if (Auth::attempt($credentials)) {
$request->session()->regenerate();
return redirect()->intended('/dashboard'); // ruta post-login
}
return back()->withErrors([
'email' => 'Las credenciales no coinciden con nuestros registros.',
]);
}
public function logout(Request $request)
{
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/login');
}
}

View File

@ -0,0 +1,70 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Get a validator for an incoming registration request.
*
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
/**
* Create a new user instance after a valid registration.
*
* @return User
*/
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
}

View File

@ -0,0 +1,29 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;
class ResetPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
/**
* Where to redirect users after resetting their password.
*
* @var string
*/
protected $redirectTo = '/home';
}

View File

@ -0,0 +1,41 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\VerifiesEmails;
class VerificationController extends Controller
{
/*
|--------------------------------------------------------------------------
| Email Verification Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling email verification for any
| user that recently registered with the application. Emails may also
| be re-sent if the user didn't receive the original email message.
|
*/
use VerifiesEmails;
/**
* Where to redirect users after verification.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
$this->middleware('signed')->only('verify');
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
}

View File

@ -0,0 +1,28 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
return view('home');
}
}

View File

@ -4,60 +4,60 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\RedirectResponse;
use App\Models\detenidos;
use App\Http\Requests\UpdatedDetenidosRequest;
use App\Http\Requests\StoreDetenidosRequest;
use App\Models\civiles;
use App\Http\Requests\UpdatedCivilesRequest;
use App\Http\Requests\StoreCivilesRequest;
class detenidosController extends Controller
class civilesController extends Controller
{
public function index(Request $request){
$detenidos = detenidos::get();
$civiles = civiles::get();
return view('detenidos.index', ['detenidos'=>$detenidos]);
return view('civiles.index', ['civiles'=>$civiles]);
}
public function show($id){
$detenidos = detenidos::findOrfail($id);
return view('detenidos.show', ["detenido"=>$detenido]);
$civiles = civiles::findOrfail($id);
return view('civiles.show', ["civiles"=>$civiles]);
}
public function create(){
return view('detenidos.new');
return view('civiles.new');
}
public function store(StoreDetenidosRequest $request){
public function store(StoreCivilesRequest $request){
$detenidos = new detenidos();
$detenidos->fill([
$civiles = new civiles();
$civiles->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();
$civiles->save();
$request->session()->flash('mensaje-success', 'Los datos fueron guardados exitosamente.');
return redirect('/detenidos');
return redirect('/civiles');
}
public function edit($id){
$detenidos = detenidos::findOrfail($id);
return view('detenidos.edit', ["detenido"=>$detenidos]);
$civiles = civiles::findOrfail($id);
return view('civiles.edit', ["civiles"=>$civiles]);
}
public function update(UpdatedDetenidosRequest $request, $id){
$detenidos = detenidos::findOrfail($id);
$detenidos->fill([
public function update(UpdatedCivilesRequest $request, $id){
$civiles = civiles::findOrfail($id);
$civiles->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();
$civiles->update();
$request->session()->flash('mensaje-success', 'Los datos fueron modificados exitosamente.');
return redirect('/detenidos');
return redirect('/civiles');
}
}

View File

@ -13,7 +13,7 @@ class denunciasController extends Controller
{
public function index(Request $request){
$denuncias = denuncias::withTrashed()-> get();
$denuncias = denuncias::all();
return view('denuncias.index', ['denuncias'=>$denuncias]);
}
@ -22,12 +22,6 @@ class denunciasController extends Controller
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');
@ -70,12 +64,5 @@ class denunciasController extends Controller
$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');
}
}

View File

@ -0,0 +1,69 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\RedirectResponse;
use App\Models\expedientes;
class expedientesController extends Controller
{
public function index(Request $request)
{
$expedientes = expedientes::all();
return view('expedientes.index', ['expedientes' => $expedientes]);
}
public function show($id)
{
$expediente = expedientes::findOrFail($id);
return view('expedientes.show', ['expediente' => $expediente]);
}
public function create()
{
return view('expedientes.new');
}
public function store(Request $request)
{
$expediente = new expedientes();
$expediente->fill([
'id_detenido' => $request->input('id_detenido'),
'motivo_detencion' => $request->input('motivo_detencion'),
'fecha_ingreso' => $request->input('fecha_ingreso'),
'fecha_egreso' => $request->input('fecha_egreso'),
'fecha_traslado' => $request->input('fecha_traslado'),
'estado' => $request->input('estado'),
]);
$expediente->save();
$request->session()->flash('mensaje-success', 'El expediente fue guardado exitosamente.');
return redirect('/expedientes');
}
public function edit($id)
{
$expediente = expedientes::findOrFail($id);
return view('expedientes.edit', ['expediente' => $expediente]);
}
public function update(Request $request, $id)
{
$expediente = expedientes::findOrFail($id);
$expediente->fill([
'id_detenido' => $request->input('id_detenido'),
'motivo_detencion' => $request->input('motivo_detencion'),
'fecha_ingreso' => $request->input('fecha_ingreso'),
'fecha_egreso' => $request->input('fecha_egreso'),
'fecha_traslado' => $request->input('fecha_traslado'),
'estado' => $request->input('estado'),
]);
$expediente->update();
$request->session()->flash('mensaje-success', 'Los datos del expediente fueron modificados.');
return redirect('/expedientes');
}
}

View File

@ -38,6 +38,7 @@ class personalController extends Controller
'apellido' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/',
'dni' => 'required|numeric|digits_between:7,8 |unique:personal,dni',
'domicilio' => 'required||max:20',
'rango' => 'required||max:20',
],
[
'nombre.required' => 'el campo nombre es requerido',
@ -51,6 +52,8 @@ class personalController extends Controller
'domicilio.required' => 'el campo domicilio es requerido',
'domicilio.regex' => 'el campo domicilio sólo debe contener letras',
'domicilio.max' => 'el campo domicilio sólo puede tener 20 caracteres',
'rango.required' => 'el campo rango es requerido',
'rango.max' => 'el campo rango sólo puede tener 20 caracteres',
]
);
@ -61,6 +64,7 @@ class personalController extends Controller
'apellido' => $request->input('apellido'),
'dni' => $request->input('dni'),
'domicilio' => $request->input('domicilio'),
'rango' => $request->input('rango'),
]);
$personal->save();
$request->session()->flash('mensaje-success', 'La Efectivo policial fue agregado.');
@ -79,6 +83,7 @@ class personalController extends Controller
'apellido' => $request->input('apellido'),
'dni' => $request->input('dni'),
'domicilio' => $request->input('domicilio'),
'rango' => $request->input('rango'),
]);
$personal->update();
$request->session()->flash('mensaje-success', 'Los datos del Efectivo fueron modificados.');

View File

@ -4,7 +4,7 @@ namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreDetenidosRequest extends FormRequest
class StoreCivilesRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
@ -22,7 +22,7 @@ class StoreDetenidosRequest extends FormRequest
return [
'nombre' => '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',
'dni' => 'required|numeric|digits_between:7,8|unique:civiles,dni',
'fecha_nacimiento' => 'required|date',
'domicilio' => 'required|max:150',
];

View File

@ -4,7 +4,7 @@ namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UpdatedDetenidosRequest extends FormRequest
class UpdatedCivilesRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.

View File

@ -5,12 +5,12 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class detenidos extends Model
class civiles extends Model
{
use HasFactory;
protected $table = 'detenidos';
protected $table = 'civiles';
public $primaryKey = 'id_detenido';
public $primaryKey = 'id_civil';
public $timestamps = true;
protected $fillable = [

View File

@ -4,12 +4,10 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class denuncias extends Model
{
use HasFactory;
use SoftDeletes;
protected $table = 'denuncias';
public $primaryKey = 'id_denuncia';

View File

@ -0,0 +1,26 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class expedientes extends Model
{
use HasFactory;
protected $table = 'expedientes';
public $primaryKey = 'id_expediente';
public $timestamps = true;
protected $fillable = [
'id_detenido',
'motivo_detencion',
'fecha_ingreso',
'fecha_egreso',
'fecha_traslado',
'estado'
];
}

View File

@ -20,5 +20,6 @@ class personal extends Model
'apellido',
'dni',
'domicilio',
'rango',
];
}

View File

@ -3,6 +3,7 @@
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
class AppServiceProvider extends ServiceProvider
{
@ -19,6 +20,6 @@ class AppServiceProvider extends ServiceProvider
*/
public function boot(): void
{
//
Schema::defaultStringLength(191);
}
}

View File

@ -10,7 +10,8 @@
"jeroennoten/laravel-adminlte": "^3.16",
"laravel/framework": "^10.10",
"laravel/sanctum": "^3.3",
"laravel/tinker": "^2.8"
"laravel/tinker": "^2.8",
"laravel/ui": "^4.6"
},
"require-dev": {
"fakerphp/faker": "^1.9.1",

65
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "7104309200c6943f1c55515c5a86907b",
"content-hash": "6f739f6d9a145dfa393c1e8192bedb5b",
"packages": [
{
"name": "almasaeed2010/adminlte",
@ -1614,6 +1614,69 @@
},
"time": "2026-02-06T14:12:35+00:00"
},
{
"name": "laravel/ui",
"version": "v4.6.3",
"source": {
"type": "git",
"url": "https://github.com/laravel/ui.git",
"reference": "ff27db15416c1ed8ad9848f5692e47595dd5de27"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/ui/zipball/ff27db15416c1ed8ad9848f5692e47595dd5de27",
"reference": "ff27db15416c1ed8ad9848f5692e47595dd5de27",
"shasum": ""
},
"require": {
"illuminate/console": "^9.21|^10.0|^11.0|^12.0|^13.0",
"illuminate/filesystem": "^9.21|^10.0|^11.0|^12.0|^13.0",
"illuminate/support": "^9.21|^10.0|^11.0|^12.0|^13.0",
"illuminate/validation": "^9.21|^10.0|^11.0|^12.0|^13.0",
"php": "^8.0",
"symfony/console": "^6.0|^7.0|^8.0"
},
"require-dev": {
"orchestra/testbench": "^7.35|^8.15|^9.0|^10.0|^11.0",
"phpunit/phpunit": "^9.3|^10.4|^11.5|^12.5|^13.0"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"Laravel\\Ui\\UiServiceProvider"
]
},
"branch-alias": {
"dev-master": "4.x-dev"
}
},
"autoload": {
"psr-4": {
"Laravel\\Ui\\": "src/",
"Illuminate\\Foundation\\Auth\\": "auth-backend/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Taylor Otwell",
"email": "taylor@laravel.com"
}
],
"description": "Laravel UI utilities and presets.",
"keywords": [
"laravel",
"ui"
],
"support": {
"source": "https://github.com/laravel/ui/tree/v4.6.3"
},
"time": "2026-03-17T13:41:52+00:00"
},
{
"name": "league/commonmark",
"version": "2.8.2",

View File

@ -351,19 +351,39 @@ return [
],
[
'text' => 'Detenidos',
'text' => 'Civiles',
'icon' => 'fas fa-fw fa-user-lock',
'submenu' => [
[
'text' => 'Listado',
'route' => 'detenidos.index',
'route' => 'civiles.index',
'icon' => 'fas fa-fw fa-list-ul',
],
[
'text' => 'Nuevo detenido',
'route' => 'detenidos.create',
'route' => 'civiles.create',
'icon' => 'fas fa-fw fa-plus',
],
],
],
[
'text' => 'expedientes',
'icon' => 'fas fa-fw fa-user-lock',
'submenu' => [
[
'text' => 'Listado',
'route' => 'expedientes.index',
'icon' => 'fas fa-fw fa-list-ul',
],
[
'text' => 'Nuevo expediente',
'route' => 'expedientes.create',
'icon' => 'fas fa-fw fa-plus',
],

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('password_resets', function (Blueprint $table) {
$table->string('email')->index();
$table->string('token');
$table->timestamp('created_at')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('password_resets');
}
};

View File

@ -6,8 +6,11 @@
"build": "vite build"
},
"devDependencies": {
"@popperjs/core": "^2.11.6",
"axios": "^1.6.4",
"bootstrap": "^5.2.3",
"laravel-vite-plugin": "^1.0.0",
"sass": "^1.56.1",
"vite": "^5.0.0"
}
}

View File

@ -1,3 +1,5 @@
import 'bootstrap';
/**
* We'll load the axios HTTP library which allows us to easily issue requests
* to our Laravel back-end. This library automatically handles sending the
@ -24,7 +26,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
// broadcaster: 'pusher',
// key: import.meta.env.VITE_PUSHER_APP_KEY,
// cluster: import.meta.env.VITE_PUSHER_APP_CLUSTER ?? 'mt1',
// wsHost: import.meta.env.VITE_PUSHER_HOST ? import.meta.env.VITE_PUSHER_HOST : `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`,
// wsHost: import.meta.env.VITE_PUSHER_HOST ?? `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`,
// wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80,
// wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443,
// forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https',

View File

@ -0,0 +1,7 @@
// Body
$body-bg: #f8fafc;
// Typography
$font-family-sans-serif: 'Nunito', sans-serif;
$font-size-base: 0.9rem;
$line-height-base: 1.6;

8
resources/sass/app.scss Normal file
View File

@ -0,0 +1,8 @@
// Fonts
@import url('https://fonts.bunny.net/css?family=Nunito');
// Variables
@import 'variables';
// Bootstrap
@import 'bootstrap/scss/bootstrap';

View File

@ -0,0 +1,73 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Login') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('login') }}">
@csrf
<div class="row mb-3">
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row mb-3">
<label for="password" class="col-md-4 col-form-label text-md-end">{{ __('Password') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row mb-3">
<div class="col-md-6 offset-md-4">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
<label class="form-check-label" for="remember">
{{ __('Remember Me') }}
</label>
</div>
</div>
</div>
<div class="row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Login') }}
</button>
@if (Route::has('password.request'))
<a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('Forgot Your Password?') }}
</a>
@endif
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -0,0 +1,49 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Confirm Password') }}</div>
<div class="card-body">
{{ __('Please confirm your password before continuing.') }}
<form method="POST" action="{{ route('password.confirm') }}">
@csrf
<div class="row mb-3">
<label for="password" class="col-md-4 col-form-label text-md-end">{{ __('Password') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Confirm Password') }}
</button>
@if (Route::has('password.request'))
<a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('Forgot Your Password?') }}
</a>
@endif
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -0,0 +1,47 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Reset Password') }}</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
<form method="POST" action="{{ route('password.email') }}">
@csrf
<div class="row mb-3">
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Send Password Reset Link') }}
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -0,0 +1,65 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Reset Password') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('password.update') }}">
@csrf
<input type="hidden" name="token" value="{{ $token }}">
<div class="row mb-3">
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ $email ?? old('email') }}" required autocomplete="email" autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row mb-3">
<label for="password" class="col-md-4 col-form-label text-md-end">{{ __('Password') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row mb-3">
<label for="password-confirm" class="col-md-4 col-form-label text-md-end">{{ __('Confirm Password') }}</label>
<div class="col-md-6">
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
</div>
</div>
<div class="row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Reset Password') }}
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -0,0 +1,77 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Register') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('register') }}">
@csrf
<div class="row mb-3">
<label for="name" class="col-md-4 col-form-label text-md-end">{{ __('Name') }}</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row mb-3">
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email">
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row mb-3">
<label for="password" class="col-md-4 col-form-label text-md-end">{{ __('Password') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="row mb-3">
<label for="password-confirm" class="col-md-4 col-form-label text-md-end">{{ __('Confirm Password') }}</label>
<div class="col-md-6">
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
</div>
</div>
<div class="row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Register') }}
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -0,0 +1,28 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Verify Your Email Address') }}</div>
<div class="card-body">
@if (session('resent'))
<div class="alert alert-success" role="alert">
{{ __('A fresh verification link has been sent to your email address.') }}
</div>
@endif
{{ __('Before proceeding, please check your email for a verification link.') }}
{{ __('If you did not receive the email') }},
<form class="d-inline" method="POST" action="{{ route('verification.resend') }}">
@csrf
<button type="submit" class="btn btn-link p-0 m-0 align-baseline">{{ __('click here to request another') }}</button>.
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -7,7 +7,7 @@
<div class="col-lg-11 col-md-11 col-sm-11 col-xs-11">
<h3>Editar Datos del Detenido</h3>
<h3>Editar Datos del Civil</h3>
</div>
@ -31,7 +31,7 @@
<!-- Formulario de edición -->
<form method="POST"
action="{{ route('detenidos.update', $detenido->id_detenido) }}">
action="{{ route('civiles.update', $civiles->id_civil) }}">
@csrf
@ -53,7 +53,7 @@
name="nombre"
id="nombre"
class="form-control"
value="{{ old('nombre', $detenido->nombre) }}"
value="{{ old('nombre', $civiles->nombre) }}"
required
>
@ -72,7 +72,7 @@
name="apellido"
id="apellido"
class="form-control"
value="{{ old('apellido', $detenido->apellido) }}"
value="{{ old('apellido', $civiles->apellido) }}"
required
>
@ -91,7 +91,7 @@
name="dni"
id="dni"
class="form-control"
value="{{ old('dni', $detenido->dni) }}"
value="{{ old('dni', $civiles->dni) }}"
required
>
@ -115,7 +115,7 @@
name="fecha_nacimiento"
id="fecha_nacimiento"
class="form-control"
value="{{ old('fecha_nacimiento', $detenido->fecha_nacimiento) }}"
value="{{ old('fecha_nacimiento', $civiles->fecha_nacimiento) }}"
required
>
@ -134,7 +134,7 @@
name="domicilio"
id="domicilio"
class="form-control"
value="{{ old('domicilio', $detenido->domicilio) }}"
value="{{ old('domicilio', $civiles->domicilio) }}"
required
>
@ -166,7 +166,7 @@
<div class="col-md-2">
<a
href="{{ route('detenidos.index') }}"
href="{{ route('civiles.index') }}"
class="btn btn-primary btn-block btn-lg"
title="Salir"
>

View File

@ -4,16 +4,16 @@
<div class="row justify-content-center align-items-center">
<div class="col-12 col-md-11">
<h3>Listado de Detenidos</h3>
<h3>Listado de Civiles</h3>
</div>
</div>
<div class="row justify-content-center align-items-center">
<div class="col-md-2">
<a href="{{ route('detenidos.create') }}"
<a href="{{ route('civiles.create') }}"
class="btn btn-success btn-block btn-lg"
title="Nuevo Detenido">
Nuevo detenido
title="Nuevo Civil">
Nuevo civil
</a>
</div>
</div>
@ -44,34 +44,34 @@
<tbody>
@foreach($detenidos as $det)
@foreach($civiles as $cil)
<tr>
<td>{{ $det->id_detenido }}</td>
<td>{{ $cil->id_civil }}</td>
<td>{{ $det->nombre }}</td>
<td>{{ $cil->nombre }}</td>
<td>{{ $det->apellido }}</td>
<td>{{ $cil->apellido }}</td>
<td>{{ $det->dni }}</td>
<td>{{ $cil->dni }}</td>
<td>{{ $det->fecha_nacimiento }}</td>
<td>{{ $cil->fecha_nacimiento }}</td>
<td>{{ $det->domicilio }}</td>
<td>{{ $cil->domicilio }}</td>
<td align="center">
<!-- Ver -->
<a class="btn btn-info"
href="{{ route('detenidos.show', $det->id_detenido) }}"
href="{{ route('civiles.show', $cil->id_civil) }}"
title="Ver más">
<i class="fa fa-eye"></i>
</a>
<!-- Editar -->
<a class="btn btn-warning"
href="{{ route('detenidos.edit', $det->id_detenido) }}"
href="{{ route('civiles.edit', $cil->id_civil) }}"
title="Editar">
<i class="fas fa-edit"></i>
</a>

View File

@ -5,7 +5,7 @@
<!-- Título -->
<div class="row justify-content-center align-items-center">
<div class="col-lg-11 col-md-11 col-sm-11 col-xs-11">
<h3>Nuevo Detenido</h3>
<h3>Nuevo Civil</h3>
</div>
</div>
@ -24,7 +24,7 @@
<!-- Formulario para crear un nuevo detenido -->
<form method="POST" action="{{ route('detenidos.store') }}">
<form method="POST" action="{{ route('civiles.store') }}">
@csrf
@ -156,7 +156,7 @@
<div class="col-md-2">
<a
href="{{ route('detenidos.index') }}"
href="{{ route('civiles.index') }}"
class="btn btn-primary btn-block btn-lg"
title="Salir"
>

View File

@ -6,7 +6,7 @@
<div class="col-lg-11 col-md-11 col-sm-11 col-xs-11">
<h3>Ver Datos del Detenido</h3>
<h3>Ver Datos del civil</h3>
<div class="progress" style="height: 2px;"></div>
@ -32,7 +32,7 @@
name="nombre"
id="nombre"
class="form-control"
value="{{ $detenidos->nombre }}"
value="{{ $civiles->nombre }}"
readonly
>
@ -51,7 +51,7 @@
name="apellido"
id="apellido"
class="form-control"
value="{{ $detenidos->apellido }}"
value="{{ $civiles->apellido }}"
readonly
>
@ -70,7 +70,7 @@
name="dni"
id="dni"
class="form-control"
value="{{ $detenidos->dni }}"
value="{{ $civiles->dni }}"
readonly
>
@ -94,7 +94,7 @@
name="fecha_nacimiento"
id="fecha_nacimiento"
class="form-control"
value="{{ $detenidos->fecha_nacimiento }}"
value="{{ $civiles->fecha_nacimiento }}"
readonly
>
@ -113,7 +113,7 @@
name="domicilio"
id="domicilio"
class="form-control"
value="{{ $detenidos->domicilio }}"
value="{{ $civiles->domicilio }}"
readonly
>
@ -133,7 +133,7 @@
<div class="col-md-2">
<a
href="{{ route('detenidos.index') }}"
href="{{ route('civiles.index') }}"
class="btn btn-primary btn-block btn-lg"
title="Salir"
>

View File

@ -67,53 +67,22 @@
@if($den->deleted_at == null)
<form method="POST"
action="{{ route('denuncias.destroy', $den->id_denuncia) }}"
style="display:inline;">
<td align="center">
@csrf
@method('DELETE')
<!-- Ver -->
<a class="btn btn-info"
href="{{ route('denuncias.show', $den->id_denuncia) }}"
title="Ver más">
<i class="fa fa-eye"></i>
</a>
<!-- Ver -->
<a class="btn btn-info"
href="{{ route('denuncias.show', $den->id_denuncia) }}"
title="Ver más">
<i class="fa fa-eye"></i>
</a>
<!-- Editar -->
<a class="btn btn-warning"
href="{{ route('denuncias.edit', $den->id_denuncia) }}"
title="Editar">
<i class="fas fa-edit"></i>
</a>
<!-- Eliminar -->
<button class="btn btn-danger"
onclick="return confirm('¿Está seguro de eliminar esta denuncia?');"
title="Eliminar">
<i class="fas fa-trash"></i>
</button>
</form>
@else
<form method="POST"
action="{{ route('denuncias.restaurar', $den->id_denuncia) }}"
style="display:inline;">
@csrf
@method('PUT')
<!-- Restaurar -->
<button class="btn btn-success"
onclick="return confirm('¿Está seguro de restaurar esta denuncia?');"
title="Restaurar">
<i class="fa fa-undo"></i>
</button>
</form>
<!-- Editar -->
<a class="btn btn-warning"
href="{{ route('denuncias.edit', $den->id_denuncia) }}"
title="Editar">
<i class="fas fa-edit"></i>
</a>
</td>
@endif

View File

@ -32,7 +32,7 @@
name="nombre"
id="nombre"
class="form-control"
value="{{ $denuncia->nombre_denunciante }}"
value="{{ $denuncias->nombre_denunciante }}"
readonly
>
@ -51,7 +51,7 @@
name="apellido"
id="apellido"
class="form-control"
value="{{ $denuncia->apellido_denunciante }}"
value="{{ $denuncias->apellido_denunciante }}"
readonly
>
@ -70,7 +70,7 @@
name="dni"
id="dni"
class="form-control"
value="{{ $denuncia->dni_denunciante }}"
value="{{ $denuncias->dni_denunciante }}"
readonly
>
@ -94,7 +94,7 @@
name="fecha"
id="fecha"
class="form-control"
value="{{ $denuncia->fecha }}"
value="{{ $denuncias->fecha }}"
readonly
>
@ -113,7 +113,7 @@
name="tipo"
id="tipo"
class="form-control"
value="{{ $denuncia->tipo }}"
value="{{ $denuncias->tipo }}"
readonly
>
@ -132,7 +132,7 @@
name="lugar"
id="lugar"
class="form-control"
value="{{ $denuncia->lugar }}"
value="{{ $denuncias->lugar }}"
readonly
>

View File

@ -0,0 +1,78 @@
@extends('layouts.admin')
@section('contenido')
<div class="row justify-content-center align-items-center">
<div class="col-lg-11 col-md-11 col-sm-11 col-xs-11">
<h3>Editar Datos del Expediente</h3>
</div>
</div>
<div class="row">
<div class="col-md-10">
@include('compartido.mensajes')
@include('compartido.errores')
</div>
</div>
<br>
<form method="POST"
action="{{ route('expedientes.update', $expediente->id_expediente) }}"
enctype="multipart/form-data">
@csrf
@method('PUT')
<div class="row">
<div class="form-group col-md-4">
<label for="id_detenido" class="form-check-label">ID Detenido (*)</label>
<input type="number" name="id_detenido" id="id_detenido" class="form-control"
value="{{ old('id_detenido', $expediente->id_detenido) }}" >
</div>
<div class="form-group col-md-4">
<label for="fecha_ingreso" class="form-check-label">Fecha de Ingreso (*)</label>
<input type="date" name="fecha_ingreso" id="fecha_ingreso" class="form-control"
value="{{ old('fecha_ingreso', $expediente->fecha_ingreso) }}" >
</div>
<div class="form-group col-md-4">
<label for="estado" class="form-check-label">Estado (*)</label>
<input type="text" name="estado" id="estado" class="form-control"
value="{{ old('estado', $expediente->estado) }}" >
</div>
</div>
<div class="row mt-3">
<div class="form-group col-md-4">
<label for="fecha_egreso" class="form-check-label">Fecha de Egreso</label>
<input type="date" name="fecha_egreso" id="fecha_egreso" class="form-control"
value="{{ old('fecha_egreso', $expediente->fecha_egreso) }}" >
</div>
<div class="form-group col-md-4">
<label for="fecha_traslado" class="form-check-label">Fecha de Traslado</label>
<input type="date" name="fecha_traslado" id="fecha_traslado" class="form-control"
value="{{ old('fecha_traslado', $expediente->fecha_traslado) }}" >
</div>
<div class="form-group col-md-4">
<label for="motivo_detencion" class="form-check-label">Motivo de Detención (*)</label>
<textarea name="motivo_detencion" id="motivo_detencion" class="form-control" rows="1">{{ old('motivo_detencion', $expediente->motivo_detencion) }}</textarea>
</div>
</div>
<div class="row justify-content-center align-items-center mt-4">
<div class="col-md-2">
<button class="btn btn-success btn-block btn-lg">Guardar</button>
</div>
<div class="col-md-2">
<a href="{{ route('expedientes.index') }}" class="btn btn-primary btn-block btn-lg" title="Salir">Salir</a>
</div>
</div>
</form>
@endsection
@push('scripts')
<script>
// Scripts específicos para la vista de expedientes
</script>
@endpush

View File

@ -0,0 +1,95 @@
@extends('layouts.admin')
@section('contenido')
<div class="row justify-content-center align-items-center">
<div class="col-12 col-md-11">
<h3>Listado de Expedientes</h3>
</div>
</div>
<div class="row justify-content-center align-items-center">
<div class="col-md-2">
<a href="{{ route('expedientes.create') }}"
class="btn btn-success btn-block btn-lg"
title="Nuevo Expediente">
Nuevo
</a>
</div>
</div>
<br>
<div class="row justify-content-center align-items-center">
<div class="col-12 col-md-11">
@include('compartido.mensajes')
@include('compartido.errores')
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="example">
<thead>
<tr>
<th>Id</th>
<th>ID Detenido</th>
<th>Motivo</th>
<th>Fecha Ingreso</th>
<th>Estado</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
@foreach($expedientes as $expediente)
<tr>
<td>{{ $expediente->id_expediente }}</td>
<td>{{ $expediente->id_detenido }}</td>
<td>{{ $expediente->motivo_detencion }}</td>
<td>{{ $expediente->fecha_ingreso }}</td>
<td>{{ $expediente->estado }}</td>
<td align="center">
<form method="POST" action="{{ route('expedientes.destroy', $expediente->id_expediente) }}" style="display:inline;">
@csrf
@method('DELETE')
<a class="btn btn-info"
href="{{ route('expedientes.show', $expediente->id_expediente) }}"
title="Ver más">
<i class="fa fa-eye"></i>
</a>
<a class="btn btn-warning"
href="{{ route('expedientes.edit', $expediente->id_expediente) }}"
title="Editar">
<i class="fas fa-edit"></i>
</a>
<button class="btn btn-danger"
onclick="return confirm('¿Está seguro de eliminar este expediente?');"
title="Eliminar">
<i class="fas fa-trash"></i>
</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endsection
@push('styles')
@endpush
@push('scripts')
<script>
$('#example').DataTable({
dom: 'Bfrtip',
buttons: ['excel'],
pageLength: 5,
});
</script>
@endpush

View File

@ -0,0 +1,92 @@
@extends('layouts.admin')
@section ('contenido')
<!-- row => fila del sistema de grillas de Bootstrap
justify-content-center => centra horizontalmente el contenido dentro de la fila
align-items-center => centra verticalmente los elementos dentro de la fila -->
<div class="row justify-content-center align-items-center">
<!-- col-lg-11 col-md-11 col-sm-11 col-xs-11 =>
la columna ocupa 11/12 partes del ancho en todos los tamaños de pantalla -->
<div class="col-lg-11 col-md-11 col-sm-11 col-xs-11">
<h3>Nuevo Expediente</h3>
</div>
</div>
<div class="row">
<div class="col-md-10">
<!-- Includes de Blade para mensajes de éxito y errores -->
@include('compartido.mensajes')
@include('compartido.errores')
</div>
</div>
</br>
<!-- Formulario para crear un nuevo expediente -->
<form method="post" action="{{ route('expedientes.store') }}" enctype="multipart/form-data">
@csrf
<!-- row => agrupa los primeros campos en una fila -->
<div class="row">
<!-- form-group => separa cada campo del formulario con márgenes
col-md-4 => ocupa 4/12 columnas en pantallas medianas hacia arriba -->
<div class="form-group col-md-4">
<!-- form-check-label => clase de Bootstrap que estiliza etiquetas de formulario -->
<label for="id_detenido" class="form-check-label">ID Detenido (*)</label>
<!-- form-control => aplica estilos consistentes al input -->
<input type="number" name="id_detenido" id="id_detenido" value="{{ old('id_detenido') }}" required class="form-control">
</div>
<div class="form-group col-md-4">
<label for="fecha_ingreso" class="form-check-label">Fecha de Ingreso (*)</label>
<input type="date" name="fecha_ingreso" id="fecha_ingreso" value="{{ old('fecha_ingreso') }}" required class="form-control">
</div>
<div class="form-group col-md-4">
<label for="estado" class="form-check-label">Estado (*)</label>
<input type="text" name="estado" id="estado" value="{{ old('estado') }}" required class="form-control">
</div>
</div>
<!-- row => agrupa el resto de los campos en una segunda fila -->
<div class="row mt-3">
<div class="form-group col-md-4">
<label for="fecha_egreso" class="form-check-label">Fecha de Egreso</label>
<input type="date" name="fecha_egreso" id="fecha_egreso" value="{{ old('fecha_egreso') }}" class="form-control">
</div>
<div class="form-group col-md-4">
<label for="fecha_traslado" class="form-check-label">Fecha de Traslado</label>
<input type="date" name="fecha_traslado" id="fecha_traslado" value="{{ old('fecha_traslado') }}" class="form-control">
</div>
<div class="form-group col-md-4">
<label for="motivo_detencion" class="form-check-label">Motivo de Detención (*)</label>
<textarea name="motivo_detencion" id="motivo_detencion" rows="1" required class="form-control">{{ old('motivo_detencion') }}</textarea>
</div>
</div>
<!-- row justify-content-center align-items-center =>
crea una fila y centra horizontal y verticalmente los botones -->
<div class="row justify-content-center align-items-center mt-4">
<div class="col-md-2">
<!-- btn => botón base de Bootstrap
btn-success => color verde
btn-block => ocupa todo el ancho de la columna
btn-lg => tamaño grande -->
<button class="btn btn-success btn-block btn-lg">Guardar</button>
</div>
<div class="col-md-2">
<!-- btn-primary => color azul
title="Salir" => muestra tooltip al pasar el mouse -->
<a href="{{ route('expedientes.index') }}" class="btn btn-primary btn-block btn-lg" title="Salir">Salir</a>
</div>
</div>
</form>
@endsection
@push('scripts')
<script>
// Aquí puedes agregar código JavaScript específico para esta vista
</script>
@endpush

View File

@ -0,0 +1,48 @@
@extends('layouts.admin')
@section ('contenido')
<div class="row justify-content-center align-items-center">
<div class="col-lg-11 col-md-11 col-sm-11 col-xs-11">
<h3>Ver Datos del Expediente</h3>
<div class="progress" style="height: 2px;"></div>
</div>
</div>
</br>
<div class="row">
<div class="form-group col-md-4">
<label for="id_detenido" class="form-check-label">ID Detenido (*)</label>
<input type="text" name="id_detenido" id="id_detenido" class="form-control" value="{{ $expediente->id_detenido }}" readonly>
</div>
<div class="form-group col-md-4">
<label for="fecha_ingreso" class="form-check-label">Fecha de Ingreso (*)</label>
<input type="text" name="fecha_ingreso" id="fecha_ingreso" class="form-control" value="{{ $expediente->fecha_ingreso }}" readonly>
</div>
<div class="form-group col-md-4">
<label for="estado" class="form-check-label">Estado (*)</label>
<input type="text" name="estado" id="estado" class="form-control" value="{{ $expediente->estado }}" readonly>
</div>
</div>
<div class="row mt-3">
<div class="form-group col-md-4">
<label for="fecha_egreso" class="form-check-label">Fecha de Egreso</label>
<input type="text" name="fecha_egreso" id="fecha_egreso" class="form-control" value="{{ $expediente->fecha_egreso }}" readonly>
</div>
<div class="form-group col-md-4">
<label for="fecha_traslado" class="form-check-label">Fecha de Traslado</label>
<input type="text" name="fecha_traslado" id="fecha_traslado" class="form-control" value="{{ $expediente->fecha_traslado }}" readonly>
</div>
<div class="form-group col-md-4">
<label for="motivo_detencion" class="form-check-label">Motivo de Detención (*)</label>
<textarea name="motivo_detencion" id="motivo_detencion" class="form-control" rows="1" readonly>{{ $expediente->motivo_detencion }}</textarea>
</div>
</div>
<legend></legend>
<div class="row justify-content-center align-items-center">
<div class="col-md-2">
<a href="{{ route('expedientes.index') }}" class="btn btn-primary btn-block btn-lg" title="Salir">Salir</a>
</div>
</div>
@endsection

View File

@ -0,0 +1,23 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Dashboard') }}</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
{{ __('You are logged in!') }}
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -0,0 +1,86 @@
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=Nunito" rel="stylesheet">
<!-- Bootstrap-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Scripts -->
</head>
<body>
<div id="app">
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
<div class="container">
<a class="navbar-brand" href="{{ url('/') }}">
{{ config('app.name', 'Laravel') }}
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav me-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ms-auto">
<!-- Authentication Links -->
@guest
@if (Route::has('login'))
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
</li>
@endif
@if (Route::has('register'))
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
</li>
@endif
@else
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }}
</a>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Logout') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none">
@csrf
</form>
</div>
</li>
@endguest
</ul>
</div>
</div>
</nav>
<main class="py-4">
@yield('content')
</main>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

View File

@ -53,10 +53,16 @@
</div>
<div class="form-group col-md-3">
<label for="apellido" class="form-check-label"> Domicilio (*)</label>
<label for="domicilio" class="form-check-label"> Domicilio (*)</label>
<input type="text" name="domicilio" id="domicilio" class="form-control"
value="{{ old('domicilio', $per->domicilio) }}" >
</div>
<div class="form-group col-md-3">
<label for="rangoo" class="form-check-label"> Rango (*)</label>
<input type="text" name="rango" id="rango" class="form-control"
value="{{ old('rango', $per->rango) }}" >
</div>
</div>
<!-- row justify-content-center align-items-center =>

View File

@ -64,6 +64,7 @@
<td>{{ $per->apellido }}</td>
<td>{{ $per->dni }}</td>
<td>{{ $per->domicilio }}</td>
<td>{{ $per->rango }}</td>
<td align="center">
@if($per->deleted_at == null)

View File

@ -50,6 +50,13 @@
<label for="domicilio" class="form-check-label">Domicilio (*)</label>
<input type="text" name="domicilio" id="domicilio" value="{{old('domicilio')}}" class="form-control">
</div>
<div class="form-group col-md-3">
<label for="rangoo" class="form-check-label"> Rangoo (*)</label>
<input type="text" name="rango" id="rango" class="form-control"
value="{{ old('rango', $per->rango) }}" >
</div>
</div>

View File

@ -30,6 +30,11 @@
</div>
</div>
<div class="form-group col-md-3">
<label for="rangoo" class="form-check-label"> rango (*)</label>
<input type="text" name="rango" id="rango" class="form-control" value="{{ old('rango', $per->rango) }}" >
</div>
<legend></legend>
<div class="row justify-content-center align-items-center">
<div class="col-md-2">

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,8 @@
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\personalController;
use App\Http\Controllers\denunciasController;
use App\Http\Controllers\detenidosController;
use App\Http\Controllers\civilesController;
use App\Http\Controllers\expedientesController;
/*
|--------------------------------------------------------------------------
@ -20,14 +21,14 @@ Route::get('/', function () {
return view('welcome');
});
Route::resource('personal', personalController::class);
Route::put('personal/restaurar/{personal}', [personalController::class, 'restaurar'])->name('personal.restaurar');
Route::resource('personal', personalController::class)->middleware('auth');
Route::put('personal/restaurar/{personal}', [personalController::class, 'restaurar'])->name('personal.restaurar')->middleware('auth');
Route::resource('denuncias', denunciasController::class);
Route::put('denuncias/restaurar/{denuncias}', [denunciasController::class, 'restaurar'])->name('denuncias.restaurar');
Route::resource('denuncias', denunciasController::class)->except(['destroy'])->middleware('auth');
Route::resource('detenidos', detenidosController::class);
Route::resource('civiles', civilesController::class)->except(['destroy'])->middleware('auth');
Route::resource('expedientes', expedientesController::class)->except(['destroy'])->middleware('auth');
/*Route::get('personal', [personalController::class, 'index'])->name('personal.index');
@ -37,3 +38,7 @@ Route::get('personal/{personal}', [personalController::class, 'show'])->name('pe
Route::delete('personal/{personal}', [personalController::class, 'destroy'])->name('personal.destroy');
Route::get('personal/{personal}/edit', [personalController::class, 'edit'])->name('personal.edit');
Route::put('personal/{personal}', [personalController::class, 'update'])->name('personal.update');*/
Auth::routes();
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');

BIN
sicop.mwb Normal file

Binary file not shown.

BIN
sicop.mwb.bak Normal file

Binary file not shown.

View File

@ -4,7 +4,10 @@ import laravel from 'laravel-vite-plugin';
export default defineConfig({
plugins: [
laravel({
input: ['resources/css/app.css', 'resources/js/app.js'],
input: [
'resources/sass/app.scss',
'resources/js/app.js',
],
refresh: true,
}),
],