editar, eliminar y restaurar personal
This commit is contained in:
parent
336cba0d1d
commit
080d2e9046
|
|
@ -3,8 +3,68 @@
|
|||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use App\Models\personal;
|
||||
|
||||
|
||||
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\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class personal extends Model
|
||||
{
|
||||
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
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
use App\Http\Controllers\personalController;
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Web Routes
|
||||
|
|
@ -14,5 +14,16 @@ use Illuminate\Support\Facades\Route;
|
|||
*/
|
||||
|
||||
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