diff --git a/app/Http/Controllers/Auth/ConfirmPasswordController.php b/app/Http/Controllers/Auth/ConfirmPasswordController.php new file mode 100644 index 0000000..3559954 --- /dev/null +++ b/app/Http/Controllers/Auth/ConfirmPasswordController.php @@ -0,0 +1,39 @@ +middleware('auth'); + } +} diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php new file mode 100644 index 0000000..465c39c --- /dev/null +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -0,0 +1,22 @@ +middleware('guest')->except('logout'); + $this->middleware('auth')->only('logout'); + } +} diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php new file mode 100644 index 0000000..7f588ea --- /dev/null +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -0,0 +1,70 @@ +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']), + ]); + } +} diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php new file mode 100644 index 0000000..fe965b2 --- /dev/null +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -0,0 +1,29 @@ +middleware('auth'); + $this->middleware('signed')->only('verify'); + $this->middleware('throttle:6,1')->only('verify', 'resend'); + } +} diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php new file mode 100644 index 0000000..7cbc2c3 --- /dev/null +++ b/app/Http/Controllers/HomeController.php @@ -0,0 +1,28 @@ +middleware('auth'); + } + + /** + * Show the application dashboard. + * + * @return \Illuminate\Contracts\Support\Renderable + */ + public function index() + { + return view('home'); + } +} diff --git a/app/Http/Controllers/PersonaController.php b/app/Http/Controllers/PersonaController.php index 2a3f951..a954306 100644 --- a/app/Http/Controllers/PersonaController.php +++ b/app/Http/Controllers/PersonaController.php @@ -7,12 +7,16 @@ use Illuminate\Http\RedirectResponse; use App\Models\Persona; use App\Http\Requests\UpdatedPersonaRequest; +//Adrian peticion, solicitud y metodos + class PersonaController extends Controller { public function index(Request $request){ $personas = Persona::withTrashed()->get(); + //Fabri: Eloquent + // $personas = Persona::findOrFail(13); //$per = Persona::where('id', 1)->first(); //$personas = Persona::where('apellido', 'Cursos, capacitaciones y formación')->get(); @@ -45,12 +49,17 @@ class PersonaController extends Controller return view('personas.new'); } - public function store(Request $request){ - $request->validate([ + //Fabri: Validaciones UpdatedPersonaRequest.php + + + + public function store(UpdatedPersonaRequest $request){ + + /* $request->validate([ 'apellido' => 'required|max:100', 'nombre' => 'required|unique:personas,nombre|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/|max:100', - //'dni' => 'required|numeric|digits_between:7,8', + 'dni' => 'required|numeric|digits_between:7,8', ], [ 'apellido.required' => 'el campo apellido debe ser requerido', @@ -59,14 +68,18 @@ class PersonaController extends Controller 'nombre.unique' => 'el campo nombre no se puede repetir', 'nombre.regex' => 'el campo nombre solo debe contener letras', 'nombre.max' => 'el campo nombre debe contener un maximo de 100 caracteres', + 'dni.required' => 'el campo dni es requerido', + 'dni.numeric' => 'el campo dni debe ser numerico', + 'dni.digits_between' => 'el dni debe tener entre 7 y 8 digitos', ] - ); + ); */ $personas = new Persona(); $personas->fill([ 'nombre' => $request->input('nombre'), 'apellido' => $request->input('apellido'), + 'dni' => $request->input('dni'), ]); $personas->save(); $request->session()->flash('mensaje-success', 'La persona fue agregada.'); @@ -84,6 +97,7 @@ class PersonaController extends Controller $personas->fill([ 'nombre' => $request->input('nombre'), 'apellido' => $request->input('apellido'), + 'dni' => $request->input('dni'), ]); $personas->update(); $request->session()->flash('mensaje-success', 'La persona fue modificada.'); diff --git a/app/Http/Requests/UpdatedPersonaRequest.php b/app/Http/Requests/UpdatedPersonaRequest.php index 0704017..96a313a 100644 --- a/app/Http/Requests/UpdatedPersonaRequest.php +++ b/app/Http/Requests/UpdatedPersonaRequest.php @@ -19,12 +19,22 @@ class UpdatedPersonaRequest extends FormRequest * * @return array|string> */ + + + + //Fabri: Validaciones utilizadas + + + + + public function rules(): array { return [ - 'nombre' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/|max:100|unique:personas,nombre,' . $this->route('persona') . ',id', - 'apellido' => 'required', - 'dni' => 'required' + 'nombre' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/|max:100', + 'apellido' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/|max:100', + // Obtengo el id de la persona que estoy editando para que Laravel la ignore al validar el DNI único. + 'dni' => 'required|numeric|digits_between:7,8|unique:personas,dni,' . $this->route('persona') . ',id', ]; } @@ -34,9 +44,17 @@ class UpdatedPersonaRequest extends FormRequest 'nombre.required' => 'el campo nombre es requerido', 'nombre.regex' => 'el campo nombre solo debe contener letras', 'nombre.max' => 'el campo nombre debe contener un maximo de 100 caracteres', - 'nombre.unique' => 'ya existe una persona con este nombre', + 'apellido.required' => 'el campo apellido es requerido', - 'dni.required' => 'el campo dni es requerido' + 'apellido.regex' => 'el campo apellido solo debe contener letras', + 'apellido.max' => 'el campo apellido debe contener un maximo de 100 caracteres', + + 'dni.required' => 'el campo dni es requerido', + 'dni.numeric' => 'el campo dni debe ser numerico', + 'dni.digits_between' => 'el dni debe tener entre 7 y 8 digitos', + 'dni.unique' => 'ya existe una persona con este DNI', + ]; } } + diff --git a/app/Models/Persona.php b/app/Models/Persona.php index 0e57248..0e8123f 100644 --- a/app/Models/Persona.php +++ b/app/Models/Persona.php @@ -11,6 +11,7 @@ class Persona extends Model use HasFactory; use SoftDeletes; + protected $table = 'personas'; public $primaryKey = 'id'; @@ -22,4 +23,8 @@ class Persona extends Model 'apellido', 'dni', ]; -} \ No newline at end of file +} + +//Adrian: Timestamps: marcas de tiempo: created_at y updated_at + +//Adrian: SoftDeletes: deleted_at y su resultado es el Borrado Logico diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 452e6b6..23a888b 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,22 +3,17 @@ namespace App\Providers; use Illuminate\Support\ServiceProvider; +use Illuminate\Support\Facades\Schema; class AppServiceProvider extends ServiceProvider { - /** - * Register any application services. - */ public function register(): void { // } - /** - * Bootstrap any application services. - */ public function boot(): void { - // + Schema::defaultStringLength(191); } -} +} \ No newline at end of file diff --git a/composer.json b/composer.json index 8a3d72d..9e6d206 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,8 @@ "guzzlehttp/guzzle": "^7.2", "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", diff --git a/composer.lock b/composer.lock index dc1e6ea..075218e 100644 --- a/composer.lock +++ b/composer.lock @@ -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": "9c491b8531eec05ba41a11d9276a5749", + "content-hash": "dcbbd52cf3c38d0f1b88e12d39e47db7", "packages": [ { "name": "brick/math", @@ -1512,6 +1512,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", diff --git a/config/app.php b/config/app.php index 9207160..60504e2 100644 --- a/config/app.php +++ b/config/app.php @@ -70,7 +70,7 @@ return [ | */ - 'timezone' => 'UTC', + 'timezone' => 'America/Argentina/Buenos_Aires', /* |-------------------------------------------------------------------------- diff --git a/database/migrations/2014_10_12_100000_create_password_resets_table.php b/database/migrations/2014_10_12_100000_create_password_resets_table.php new file mode 100644 index 0000000..fcacb80 --- /dev/null +++ b/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -0,0 +1,32 @@ +string('email')->index(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('password_resets'); + } +}; diff --git a/database/migrations/2026_08_25_013014_create_personas_table.php b/database/migrations/2026_08_25_013014_create_personas_table.php new file mode 100644 index 0000000..1dd3caa --- /dev/null +++ b/database/migrations/2026_08_25_013014_create_personas_table.php @@ -0,0 +1,32 @@ +increments('id'); + $table->string('nombre', 100); + $table->string('apellido', 100); + $table->string('dni', 20); + $table->timestamp('created_at')->nullable(); + $table->timestamp('updated_at')->nullable(); + $table->timestamp('deleted_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('personas'); + } +}; \ No newline at end of file diff --git a/personas.sql b/mis_turnos.sql similarity index 64% rename from personas.sql rename to mis_turnos.sql index 6ae3b53..7745b37 100644 --- a/personas.sql +++ b/mis_turnos.sql @@ -3,7 +3,7 @@ -- https://www.phpmyadmin.net/ -- -- Servidor: 127.0.0.1:3306 --- Tiempo de generación: 10-06-2026 a las 03:54:18 +-- Tiempo de generación: 16-06-2026 a las 03:10:58 -- Versión del servidor: 8.3.0 -- Versión de PHP: 8.2.18 @@ -37,17 +37,23 @@ CREATE TABLE IF NOT EXISTS `personas` ( `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -- -- Volcado de datos para la tabla `personas` -- INSERT INTO `personas` (`id`, `nombre`, `apellido`, `dni`, `created_at`, `updated_at`, `deleted_at`) VALUES -(3, 'Adrian', 'Tejeda', '36782848', NULL, NULL, NULL), -(4, 'Elena', 'Paz', '40687678', NULL, '2026-06-05 07:29:03', NULL), +(3, 'Adrian', 'Tejeda', '36782848', NULL, '2026-06-16 05:41:17', NULL), +(4, 'Elena', 'Paz', '40687678', NULL, '2026-06-12 05:34:17', NULL), (5, 'Raul', 'Garcia', '34562767', '2026-05-27 03:00:47', '2026-06-03 01:10:55', NULL), -(6, 'Maia', 'Torres', '43897909', '2026-06-05 07:25:35', '2026-06-05 07:29:23', NULL); +(6, 'Maia', 'Torres', '43897909', '2026-06-05 07:25:35', '2026-06-05 07:29:23', NULL), +(9, 'Leandro', 'Perez', '38567890', '2026-06-12 04:34:04', '2026-06-12 05:35:01', NULL), +(7, 'Carlos', 'Rodriguez', '33896456', '2026-06-10 08:07:44', '2026-06-16 03:02:34', NULL), +(8, 'Mariano', 'Rodriguez', '23896456', '2026-06-10 08:08:15', '2026-06-10 08:08:15', NULL), +(10, 'Lucia', 'Flores', '34567890', '2026-06-12 04:39:03', '2026-06-12 05:35:36', NULL), +(11, 'Marta', 'Lopez', '45464673', '2026-06-12 05:18:11', '2026-06-12 06:16:36', NULL), +(12, 'Rosa', 'Martinez', '30909890', '2026-06-12 05:33:24', '2026-06-16 03:04:43', NULL); COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; diff --git a/mis_turnos.zip b/mis_turnos.zip new file mode 100644 index 0000000..a385e98 Binary files /dev/null and b/mis_turnos.zip differ diff --git a/package.json b/package.json index 56f5ddc..9a0b5bf 100644 --- a/package.json +++ b/package.json @@ -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" } } diff --git a/resources/js/bootstrap.js b/resources/js/bootstrap.js index 846d350..46f7a33 100644 --- a/resources/js/bootstrap.js +++ b/resources/js/bootstrap.js @@ -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', diff --git a/resources/sass/_variables.scss b/resources/sass/_variables.scss new file mode 100644 index 0000000..172daaa --- /dev/null +++ b/resources/sass/_variables.scss @@ -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; diff --git a/resources/sass/app.scss b/resources/sass/app.scss new file mode 100644 index 0000000..1026a0b --- /dev/null +++ b/resources/sass/app.scss @@ -0,0 +1,8 @@ +// Fonts +@import url('https://fonts.bunny.net/css?family=Nunito'); + +// Variables +@import 'variables'; + +// Bootstrap +@import 'bootstrap/scss/bootstrap'; diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php new file mode 100644 index 0000000..ea9ac94 --- /dev/null +++ b/resources/views/auth/login.blade.php @@ -0,0 +1,73 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Login') }}
+ +
+
+ @csrf + +
+ + +
+ + + @error('email') + + {{ $message }} + + @enderror +
+
+ +
+ + +
+ + + @error('password') + + {{ $message }} + + @enderror +
+
+ +
+
+
+ + + +
+
+
+ +
+
+ + + @if (Route::has('password.request')) + + {{ __('Forgot Your Password?') }} + + @endif +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/auth/passwords/confirm.blade.php b/resources/views/auth/passwords/confirm.blade.php new file mode 100644 index 0000000..f8c8e61 --- /dev/null +++ b/resources/views/auth/passwords/confirm.blade.php @@ -0,0 +1,49 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Confirm Password') }}
+ +
+ {{ __('Please confirm your password before continuing.') }} + +
+ @csrf + +
+ + +
+ + + @error('password') + + {{ $message }} + + @enderror +
+
+ +
+
+ + + @if (Route::has('password.request')) + + {{ __('Forgot Your Password?') }} + + @endif +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/auth/passwords/email.blade.php b/resources/views/auth/passwords/email.blade.php new file mode 100644 index 0000000..d1ac783 --- /dev/null +++ b/resources/views/auth/passwords/email.blade.php @@ -0,0 +1,47 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Reset Password') }}
+ +
+ @if (session('status')) + + @endif + +
+ @csrf + +
+ + +
+ + + @error('email') + + {{ $message }} + + @enderror +
+
+ +
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/auth/passwords/reset.blade.php b/resources/views/auth/passwords/reset.blade.php new file mode 100644 index 0000000..dccf6c6 --- /dev/null +++ b/resources/views/auth/passwords/reset.blade.php @@ -0,0 +1,65 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Reset Password') }}
+ +
+
+ @csrf + + + +
+ + +
+ + + @error('email') + + {{ $message }} + + @enderror +
+
+ +
+ + +
+ + + @error('password') + + {{ $message }} + + @enderror +
+
+ +
+ + +
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php new file mode 100644 index 0000000..12cad1a --- /dev/null +++ b/resources/views/auth/register.blade.php @@ -0,0 +1,77 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Register') }}
+ +
+
+ @csrf + +
+ + +
+ + + @error('name') + + {{ $message }} + + @enderror +
+
+ +
+ + +
+ + + @error('email') + + {{ $message }} + + @enderror +
+
+ +
+ + +
+ + + @error('password') + + {{ $message }} + + @enderror +
+
+ +
+ + +
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/auth/verify.blade.php b/resources/views/auth/verify.blade.php new file mode 100644 index 0000000..9f8c1bc --- /dev/null +++ b/resources/views/auth/verify.blade.php @@ -0,0 +1,28 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Verify Your Email Address') }}
+ +
+ @if (session('resent')) + + @endif + + {{ __('Before proceeding, please check your email for a verification link.') }} + {{ __('If you did not receive the email') }}, +
+ @csrf + . +
+
+
+
+
+
+@endsection diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php new file mode 100644 index 0000000..1f34466 --- /dev/null +++ b/resources/views/home.blade.php @@ -0,0 +1,23 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Dashboard') }}
+ +
+ @if (session('status')) + + @endif + + {{ __('You are logged in!') }} +
+
+
+
+
+@endsection diff --git a/resources/views/layouts/admin.blade.php b/resources/views/layouts/admin.blade.php index 74a1723..67e2540 100644 --- a/resources/views/layouts/admin.blade.php +++ b/resources/views/layouts/admin.blade.php @@ -2,35 +2,39 @@ + + + @yield('title','Sistema Taller') - + - + - - - - + + + + + + + @stack('styles') + - - - - - - + - +
+ @yield('contenido') +
- - - - - + + + + + + + - - - + + - - - - + - + + + + + + + + + @stack('scripts') + - + \ No newline at end of file diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php new file mode 100644 index 0000000..e4684da --- /dev/null +++ b/resources/views/layouts/app.blade.php @@ -0,0 +1,140 @@ + + + + + + + + + + {{ config('app.name', 'Laravel') }} + + + + + + + + + + + + + +
+ + + + +
+ @yield('content') +
+ +
+ + + + + + + + + \ No newline at end of file diff --git a/resources/views/personas/index.blade.php b/resources/views/personas/index.blade.php index 7883924..56302a4 100644 --- a/resources/views/personas/index.blade.php +++ b/resources/views/personas/index.blade.php @@ -1,3 +1,13 @@ + + @extends('layouts.admin') @section('contenido') @@ -66,6 +76,9 @@ @if($per->deleted_at == null)
+ + + @csrf @method('DELETE') diff --git a/routes/web.php b/routes/web.php index bb08ee4..f9a6b73 100644 --- a/routes/web.php +++ b/routes/web.php @@ -2,30 +2,29 @@ use Illuminate\Support\Facades\Route; use App\Http\Controllers\PersonaController; -/* -|-------------------------------------------------------------------------- -| Web Routes -|-------------------------------------------------------------------------- -| -| Here is where you can register web routes for your application. These -| routes are loaded by the RouteServiceProvider and all of them will -| be assigned to the "web" middleware group. Make something great! -| -*/ + Route::get('/', function () { return view('welcome'); }); -/*Route::get('personas', [PersonaController::class, 'index'])->name('personas.index'); -Route::post('personas', [PersonaController::class, 'store'])->name('personas.store'); -Route::get('personas/create', [PersonaController::class, 'create'])->name('personas.create'); -Route::get('personas/{persona}', [PersonaController::class, 'show'])->name('personas.show'); -Route::delete('personas/{persona}', [PersonaController::class, 'destroy'])->name('personas.destroy'); -Route::get('personas/{persona}/edit', [PersonaController::class, 'edit'])->name('personas.edit'); -Route::put('personas/{persona}', [PersonaController::class, 'update'])->name('personas.update');*/ +/*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::put('personas/restaurar/{persona}', [PersonaController::class, 'restaurar'])->name('personas.restaurar'); + +Auth::routes(); + +Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home'); diff --git a/vite.config.js b/vite.config.js index 421b569..dbbf333 100644 --- a/vite.config.js +++ b/vite.config.js @@ -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, }), ],