editar, eliminar y restaurar personal
This commit is contained in:
parent
336cba0d1d
commit
080d2e9046
|
|
@ -3,8 +3,68 @@
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Http\RedirectResponse;
|
||||||
|
use App\Models\personal;
|
||||||
|
|
||||||
|
|
||||||
class personalController extends Controller
|
class personalController extends Controller
|
||||||
{
|
{
|
||||||
//
|
public function index(Request $request){
|
||||||
|
|
||||||
|
$personal = personal::withTrashed()-> get();
|
||||||
|
|
||||||
|
return view('personal.index', ['personal'=>$personal]);
|
||||||
|
}
|
||||||
|
public function show($id){
|
||||||
|
$personal = personal::findOrfail($id);
|
||||||
|
return view('personal.show', ["per"=>$personal]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function destroy(Request $request, $id){
|
||||||
|
$personal = personal::findOrfail($id);
|
||||||
|
$personal->delete();
|
||||||
|
return redirect('/personal');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function create(){
|
||||||
|
return view('personal.new');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function store(Request $request){
|
||||||
|
|
||||||
|
$personal = new personal();
|
||||||
|
$personal->fill([
|
||||||
|
'nombre' => $request->input('nombre'),
|
||||||
|
'apellido' => $request->input('apellido'),
|
||||||
|
'dni' => $request->input('dni'),
|
||||||
|
'domicilio' => $request->input('domicilio'),
|
||||||
|
]);
|
||||||
|
$personal->save();
|
||||||
|
return redirect('/personal');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function edit($id){
|
||||||
|
$personal = personal::findOrfail($id);
|
||||||
|
return view('personal.edit', ["per"=>$personal]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function update(Request $request, $id){
|
||||||
|
$personal = personal::findOrfail($id);
|
||||||
|
$personal->fill([
|
||||||
|
'nombre' => $request->input('nombre'),
|
||||||
|
'apellido' => $request->input('apellido'),
|
||||||
|
'dni' => $request->input('dni'),
|
||||||
|
'domicilio' => $request->input('domicilio'),
|
||||||
|
]);
|
||||||
|
$personal->update();
|
||||||
|
return redirect('/personal');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function restaurar(Request $request, $id){
|
||||||
|
$cpersonal = personal::withTrashed()->findOrfail($id);
|
||||||
|
$personal->restore();
|
||||||
|
return redirect('/personal');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,21 @@ namespace App\Models;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
class personal extends Model
|
class personal extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
use SoftDeletes;
|
||||||
|
protected $table = 'personal';
|
||||||
|
|
||||||
|
public $primaryKey = 'id_personal';
|
||||||
|
|
||||||
|
public $timestamps = true;
|
||||||
|
protected $fillable = [
|
||||||
|
'nombre',
|
||||||
|
'apellido',
|
||||||
|
'dni',
|
||||||
|
'domicilio',
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
48
resources/views/personal/edit.blade.php
Normal file
48
resources/views/personal/edit.blade.php
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="es">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Editar personal</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Editar datos de personal</h1>
|
||||||
|
|
||||||
|
<form method="POST" action="{{ route('personal.update', $per->id_personal) }}">
|
||||||
|
@csrf
|
||||||
|
@method('PUT')
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label for="nombre">Nombre *</label><br>
|
||||||
|
<input id="nombre" name="nombre" type="text"
|
||||||
|
value="{{ old('nombre', $per->nombre) }}" required>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top:8px;">
|
||||||
|
<label for="apellido">Apellido</label><br>
|
||||||
|
<input id="apellido" name="apellido" type="text"
|
||||||
|
value="{{ old('apellido', $per->apellido) }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top:8px;">
|
||||||
|
<label for="dni">DNI</label><br>
|
||||||
|
<input id="dni" name="dni" type="text"
|
||||||
|
value="{{old ('dni', $per->dni ) }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top:8px;">
|
||||||
|
<label for="domicilio">Domicilio</label><br>
|
||||||
|
<input id="domicilio" name="domicilio" type="text"
|
||||||
|
value="{{ old ('domicilio', $per->domicilio) }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top:12px;">
|
||||||
|
<button type="submit">Guardar</button>
|
||||||
|
<a href="{{ route('personal.index') }}">Volver al listado</a>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
48
resources/views/personal/index.blade.php
Normal file
48
resources/views/personal/index.blade.php
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="es">
|
||||||
|
<head>
|
||||||
|
<title>Personal policial</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="{{ route('personal.create') }}"><button> Nuevo personal </button></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
@foreach($personal as $per)
|
||||||
|
<li>
|
||||||
|
<strong>{{ $per->nombre }}</strong>
|
||||||
|
— {{ $per->apellido }}
|
||||||
|
— {{ $per->dni }}
|
||||||
|
— {{ $per->domicilio }}
|
||||||
|
(ID: {{ $per->id_personal}})
|
||||||
|
|
|
||||||
|
@if($per->trashed())
|
||||||
|
<form action="{{ route('personal.restaurar', $per->id_personal) }}"
|
||||||
|
method="POST" >
|
||||||
|
@csrf
|
||||||
|
@method('PUT')
|
||||||
|
<button type="submit" onclick="return confirm('¿Restaurar esta persona?')">
|
||||||
|
Restaurar
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
@else
|
||||||
|
<a href="{{ route('personal.show', $per->id_personal) }}"><button> VER MÁS </button></a>
|
||||||
|
|
||||||
|
<a href="{{ route('personal.edit', $per->id_personal) }}"><button> EDITAR </button></a>
|
||||||
|
|
||||||
|
<form action="{{ route('personal.destroy', $per->id_personal) }}"
|
||||||
|
method="POST" >
|
||||||
|
@csrf
|
||||||
|
@method('DELETE')
|
||||||
|
<button type="submit" onclick="return confirm('¿Eliminar esta persona?')">
|
||||||
|
Eliminar
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
{{--<a href="{{ route('personal.edit', $per->id_personal) }}">Editar</a>
|
||||||
|
--}}
|
||||||
|
@endif
|
||||||
|
</li>
|
||||||
|
@endforeach
|
||||||
|
</ul>
|
||||||
43
resources/views/personal/new.blade.php
Normal file
43
resources/views/personal/new.blade.php
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="es">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Agresar personal</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Nuevo personal</h1>
|
||||||
|
|
||||||
|
<form method="POST" action="{{ route('personal.store') }}">
|
||||||
|
@csrf
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label for="nombre">Nombre *</label><br>
|
||||||
|
<input id="nombre" name="nombre" type="text" value="{{ old('nombre') }}" required>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top:8px;">
|
||||||
|
<label for="apellido">Apellido</label><br>
|
||||||
|
<input id="apellido" name="apellido" type="text" value="{{ old('apellido') }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top:8px;">
|
||||||
|
<label for="dni">DNI</label><br>
|
||||||
|
<input id="dni" name="dni" type="text" value="{{ old('dni') }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top:8px;">
|
||||||
|
<label for="domicilio">Domicilio</label><br>
|
||||||
|
<input id="domicilio" name="domicilio" type="text" value="{{ old('domicilio') }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div style="margin-top:12px;">
|
||||||
|
<button type="submit">Guardar</button>
|
||||||
|
<a href="{{ route('personal.index') }}">Volver al listado</a>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
43
resources/views/personal/show.blade.php
Normal file
43
resources/views/personal/show.blade.php
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="es">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Ver personal</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Ver personal</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label for="nombre">Nombre *</label><br>
|
||||||
|
<input id="nombre" name="nombre" readonly type="text"
|
||||||
|
value="{{ $per->nombre }}" >
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top:8px;">
|
||||||
|
<label for="apellido">Apellido</label><br>
|
||||||
|
<input id="apellido" readonly name="apellido" type="text"
|
||||||
|
value="{{ $per->apellido }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top:8px;">
|
||||||
|
<label for="dni">DNI</label><br>
|
||||||
|
<input id="dni" readonly name="dni" type="text"
|
||||||
|
value="{{ $per->dni }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top:8px;">
|
||||||
|
<label for="domicilio">Domicilio</label><br>
|
||||||
|
<input id="domicilio" readonly name="domicilio" type="text"
|
||||||
|
value="{{ $per->domicilio }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top:12px;">
|
||||||
|
<a href="{{ route('personal.index') }}">Volver al listado</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
use App\Http\Controllers\personalController;
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Web Routes
|
| Web Routes
|
||||||
|
|
@ -14,5 +14,16 @@ use Illuminate\Support\Facades\Route;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Route::get('/', function () {
|
Route::get('/', function () {
|
||||||
return view('welcome');
|
return view('welcome');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::resource('personal', personalController::class);
|
||||||
|
Route::put('personal/restaurar/{personal}', [personalController::class, 'restaurar'])->name('personal.restaurar');
|
||||||
|
|
||||||
|
/*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');
|
||||||
|
Route::get('personal/{personal}', [personalController::class, 'show'])->name('personal.show');
|
||||||
|
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');*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user