Agrego login y ajustes de mensajes

This commit is contained in:
Adrian Tejeda 2026-09-01 20:42:00 -03:00
parent 84b4951337
commit dc876aa00a
6 changed files with 100 additions and 127 deletions

View File

@ -4,6 +4,8 @@ namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller class LoginController extends Controller
{ {
@ -37,4 +39,32 @@ class LoginController extends Controller
$this->middleware('guest')->except('logout'); $this->middleware('guest')->except('logout');
$this->middleware('auth')->only('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('/');
}
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

@ -32,9 +32,21 @@ class PersonaController extends Controller
return view('personas.index', ["personas"=>$personas]); return view('personas.index', ["personas"=>$personas]);
} }
public function show($id){ public function show($id){
$persona = Persona::findOrfail($id); $persona = Persona::findOrfail($id);
$persona->formatear_texto();
return view('personas.show', ["per"=>$persona]); return view('personas.show', ["per"=>$persona]);
} }
public function destroy(Request $request, $id){ public function destroy(Request $request, $id){

View File

@ -5,11 +5,17 @@ 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; use Illuminate\Database\Eloquent\SoftDeletes;
use App\Traits\Herramientas;
{
}
class Persona extends Model class Persona extends Model
{ {
use HasFactory; use HasFactory;
use SoftDeletes; use SoftDeletes;
use Herramientas;
protected $table = 'personas'; protected $table = 'personas';

View File

@ -0,0 +1,15 @@
<?php
namespace App\Traits;
trait Herramientas {
public function formatear_texto() {
$this->nombre = ucwords(strtolower($this->nombre));
$this->apellido = ucwords(strtolower($this->apellido));
$this->update();
}
}

File diff suppressed because one or more lines are too long

View File

@ -8,19 +8,6 @@ Route::get('/', function () {
return view('welcome'); return view('welcome');
}); });
/*Route::get('personas', [PersonaController::class, 'index'])->name('personas.index'); listar
Route::post('personas', [PersonaController::class, 'store'])->name('personas.store'); guardar
Route::get('personas/create', [PersonaController::class, 'create'])->name('personas.create'); crear
Route::get('personas/{persona}', [PersonaController::class, 'show'])->name('personas.show'); ver
Route::delete('personas/{persona}', [PersonaController::class, 'destroy'])->name('personas.destroy'); eliminar
Route::get('personas/{persona}/edit', [PersonaController::class, 'edit'])->name('personas.edit'); editar
Route::put('personas/{persona}', [PersonaController::class, 'update'])->name('personas.update'); actualizar*/
/*
Adrian: Route::Resourse y Restaurar
Fabri: REST
*/
Route::resource('personas', PersonaController::class); Route::resource('personas', PersonaController::class);
Route::put('personas/restaurar/{persona}', [PersonaController::class, 'restaurar'])->name('personas.restaurar'); Route::put('personas/restaurar/{persona}', [PersonaController::class, 'restaurar'])->name('personas.restaurar');