diff --git a/app/Enums/TipoAccionEnum.php b/app/Enums/TipoAccionEnum.php
new file mode 100644
index 0000000000000000000000000000000000000000..71db47409769c55b679d073c69642b447dcfcf37
--- /dev/null
+++ b/app/Enums/TipoAccionEnum.php
@@ -0,0 +1,20 @@
+ 'general',
+ 'especifica' => 'especifica',
+ ];
+ }
+}
diff --git a/app/Http/Controllers/AccionPrevenirController.php b/app/Http/Controllers/AccionPrevenirController.php
new file mode 100644
index 0000000000000000000000000000000000000000..f735b86c48d0f156f99326e0f37871e1551cf28a
--- /dev/null
+++ b/app/Http/Controllers/AccionPrevenirController.php
@@ -0,0 +1,100 @@
+accion = $request->input('accion');
+ $accionPrevenir->tipo = $request->input('tipo');
+ $accionPrevenir->dependencias_responsables = $request->input('dependencias_responsables');
+ $accionPrevenir->dependencias_coordinadoras = $request->input('dependencias_coordinadoras');
+ $accionPrevenir->save();
+
+ // Redirige a la página de la lista de acciones para prevenir
+ return redirect()->route('accionprevenir.index');
+ }
+
+ public function show($id)
+ {
+ $accionPrevenir = AccionPrevenir::find($id);
+ return view('accionprevenir.show', ['accionPrevenir' => $accionPrevenir]);
+ }
+
+ public function edit($id)
+ {
+ // Obtener la acción para prevenir que se va a editar usando el $id
+ $accionPrevenir = AccionPrevenir::find($id);
+
+ // Verificar si la acción para prevenir existe antes de continuar
+ if (!$accionPrevenir) {
+ return abort(404); // Puedes personalizar el manejo de acciones para prevenir no encontradas
+ }
+
+ // Pasar la acción para prevenir a la vista de edición
+ return view('accionprevenir.edit', ['accionPrevenir' => $accionPrevenir]);
+ }
+
+ public function update(Request $request, $id)
+ {
+ // Validación de datos
+ $request->validate([
+ 'accion' => 'required|max:255',
+ 'tipo' => 'required|in:general,especifica', // Ajusta las reglas de validación según tus necesidades
+ 'dependencias_responsables' => 'nullable|max:255',
+ 'dependencias_coordinadoras' => 'nullable|max:255',
+ ]);
+
+ // Obtener la acción para prevenir a actualizar
+ $accionPrevenir = AccionPrevenir::find($id);
+
+ // Verificar si la acción para prevenir existe
+ if (!$accionPrevenir) {
+ return abort(404); // O manejo personalizado para acciones para prevenir no encontradas
+ }
+
+ // Actualizar los datos de la acción para prevenir
+ $accionPrevenir->accion = $request->accion;
+ $accionPrevenir->tipo = $request->tipo;
+ $accionPrevenir->dependencias_responsables = $request->dependencias_responsables;
+ $accionPrevenir->dependencias_coordinadoras = $request->dependencias_coordinadoras;
+ $accionPrevenir->save();
+
+ // Redirigir a la página de detalles o a donde sea necesario
+ return redirect()->route('accionprevenir.show', ['accionprevenir' => $accionPrevenir->id]);
+ }
+
+ public function destroy($id)
+ {
+ // Buscar la acción para prevenir por ID
+ $accionPrevenir = AccionPrevenir::find($id);
+
+ // Verificar si la acción para prevenir existe
+ if (!$accionPrevenir) {
+ return abort(404); // O manejo personalizado para acciones para prevenir no encontradas
+ }
+
+ // Eliminar la acción para prevenir
+ $accionPrevenir->delete();
+
+ // Redirigir a la página de índice o a donde sea necesario
+ return redirect()->route('accionprevenir.index');
+ }
+}
diff --git a/app/Models/AccionPrevenir.php b/app/Models/AccionPrevenir.php
new file mode 100644
index 0000000000000000000000000000000000000000..b666adec9dcfa73f709352a7a674280f989595f0
--- /dev/null
+++ b/app/Models/AccionPrevenir.php
@@ -0,0 +1,28 @@
+ EnumCast::class.':'.TipoAccionEnum::class,
+ ];
+}
+
diff --git a/composer.json b/composer.json
index 9002707c8a889f6ebf142fdcfda7628f2363d7fe..7d2b1678ac50b57da34c87b2aa0aa312dc472f61 100644
--- a/composer.json
+++ b/composer.json
@@ -12,6 +12,8 @@
"laravel/sanctum": "^3.2",
"laravel/tinker": "^2.8",
"livewire/livewire": "^3.0",
+ "spatie/enum": "^3.13",
+ "spatie/laravel-enum": "^3.0",
"spatie/laravel-permission": "^5.11"
},
"require-dev": {
diff --git a/composer.lock b/composer.lock
index ec1379ae82de71c070dd11de747f40a265c46684..2b884bc0bf0f32bd11c914fa7e68be40145403b6 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": "6218dc30aa7e6f886a42ad679da5dfdc",
+ "content-hash": "66acfc041df3a55394fdc92bf376f4a1",
"packages": [
{
"name": "bacon/bacon-qr-code",
@@ -3717,6 +3717,174 @@
],
"time": "2023-04-15T23:01:58+00:00"
},
+ {
+ "name": "spatie/enum",
+ "version": "3.13.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/enum.git",
+ "reference": "f1a0f464ba909491a53e60a955ce84ad7cd93a2c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/enum/zipball/f1a0f464ba909491a53e60a955ce84ad7cd93a2c",
+ "reference": "f1a0f464ba909491a53e60a955ce84ad7cd93a2c",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "fakerphp/faker": "^1.9.1",
+ "larapack/dd": "^1.1",
+ "phpunit/phpunit": "^9.0",
+ "vimeo/psalm": "^4.3"
+ },
+ "suggest": {
+ "fakerphp/faker": "To use the enum faker provider",
+ "phpunit/phpunit": "To use the enum assertions"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\Enum\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Brent Roose",
+ "email": "brent@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ },
+ {
+ "name": "Tom Witkowski",
+ "email": "dev@gummibeer.de",
+ "homepage": "https://gummibeer.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "PHP Enums",
+ "homepage": "https://github.com/spatie/enum",
+ "keywords": [
+ "enum",
+ "enumerable",
+ "spatie"
+ ],
+ "support": {
+ "docs": "https://docs.spatie.be/enum",
+ "issues": "https://github.com/spatie/enum/issues",
+ "source": "https://github.com/spatie/enum"
+ },
+ "funding": [
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2022-04-22T08:51:55+00:00"
+ },
+ {
+ "name": "spatie/laravel-enum",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/laravel-enum.git",
+ "reference": "e7a7ef506489d0e349516e89ce6d01a3c6b0e8d2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/laravel-enum/zipball/e7a7ef506489d0e349516e89ce6d01a3c6b0e8d2",
+ "reference": "e7a7ef506489d0e349516e89ce6d01a3c6b0e8d2",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "illuminate/console": "^8.0 || ^9.43 || ^10.0",
+ "illuminate/contracts": "^8.0 || ^9.43 || ^10.0",
+ "illuminate/database": "^8.0 || ^9.43 || ^10.0",
+ "illuminate/http": "^8.0 || ^9.43 || ^10.0",
+ "illuminate/support": "^8.0 || ^9.43 || ^10.0",
+ "php": "^7.4 || ^8.0",
+ "spatie/enum": "^3.9"
+ },
+ "conflict": {
+ "bensampo/laravel-enum": "*"
+ },
+ "require-dev": {
+ "fakerphp/faker": "^1.16",
+ "mockery/mockery": "^1.4.0",
+ "orchestra/testbench": "^6.0 || ^7.0 || ^8.0",
+ "phpunit/phpunit": "^9.5",
+ "vimeo/psalm": "^4.0"
+ },
+ "suggest": {
+ "fzaninotto/faker": "^1.9.1"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Spatie\\Enum\\Laravel\\EnumServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Spatie\\Enum\\Laravel\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Brent Roose",
+ "email": "brent@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ },
+ {
+ "name": "Tom Witkowski",
+ "email": "dev@gummibeer.de",
+ "homepage": "https://gummibeer.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Laravel Enum support",
+ "homepage": "https://github.com/spatie/laravel-enum",
+ "keywords": [
+ "enum",
+ "laravel",
+ "laravel-enum",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/laravel-enum/issues",
+ "source": "https://github.com/spatie/laravel-enum/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-10T15:02:18+00:00"
+ },
{
"name": "spatie/laravel-permission",
"version": "5.11.0",
diff --git a/config/app.php b/config/app.php
index f444c6822af8bf273609a7c414d7d491ff085367..72b4ca69d46ac2a095c8d70ab8270e91c6a2409a 100644
--- a/config/app.php
+++ b/config/app.php
@@ -171,6 +171,7 @@
App\Providers\FortifyServiceProvider::class,
App\Providers\JetstreamServiceProvider::class,
Spatie\Permission\PermissionServiceProvider::class,
+ Spatie\Enum\Laravel\EnumServiceProvider::class,
])->toArray(),
/*
@@ -186,6 +187,7 @@
'aliases' => Facade::defaultAliases()->merge([
// 'Example' => App\Facades\Example::class,
+ 'Enum' => Spatie\Enum\Laravel\EnumFacade::class,
])->toArray(),
];
diff --git a/database/migrations/2023_10_05_233523_create_accion_prevenir_table.php b/database/migrations/2023_10_05_233523_create_accion_prevenir_table.php
new file mode 100644
index 0000000000000000000000000000000000000000..693a8821a23f5ee2496abc4cda822124c8fdd982
--- /dev/null
+++ b/database/migrations/2023_10_05_233523_create_accion_prevenir_table.php
@@ -0,0 +1,30 @@
+id();
+ $table->string('accion');
+ $table->enum('tipo', ['general', 'especifica']);
+ $table->string('dependencias_responsables');
+ $table->string('dependencias_coordinadoras');
+ $table->timestamps();
+ });
+}
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('accion_prevenir');
+ }
+};
diff --git a/resources/views/accionprevenir/create.blade.php b/resources/views/accionprevenir/create.blade.php
new file mode 100644
index 0000000000000000000000000000000000000000..43b825b6a3c3f9fbd2dfbcfe7b9aae8942a340d5
--- /dev/null
+++ b/resources/views/accionprevenir/create.blade.php
@@ -0,0 +1,44 @@
+
+
+
+ CREAR NUEVA ACCIÓN PARA PREVENIR
+
+
+
+
diff --git a/resources/views/accionprevenir/edit.blade.php b/resources/views/accionprevenir/edit.blade.php
new file mode 100644
index 0000000000000000000000000000000000000000..695cf6cc62673f1732444dbc861c6f109658df08
--- /dev/null
+++ b/resources/views/accionprevenir/edit.blade.php
@@ -0,0 +1,46 @@
+
+
+
+ EDITAR ACCIÓN PARA PREVENIR
+
+
+
+
+
diff --git a/resources/views/accionprevenir/index.blade.php b/resources/views/accionprevenir/index.blade.php
new file mode 100644
index 0000000000000000000000000000000000000000..8fcef15cb617fd2fc516bafbbf02378d9dd1da96
--- /dev/null
+++ b/resources/views/accionprevenir/index.blade.php
@@ -0,0 +1,55 @@
+
+
+
+ ACCIONES DE PREVENCIÓN
+
+
+
+
+
+
+
+
+
+
+
+ No. |
+ Acción |
+ Tipo |
+ Dependencias Responsables |
+ Dependencias Coordinadoras |
+ |
+ |
+
+
+
+ @foreach($accionesPrevenir as $accion)
+
+ {{ $accion->id }} |
+ {{ $accion->accion }} |
+ {{ $accion->tipo }} |
+ {{ $accion->dependencias_responsables }} |
+ {{ $accion->dependencias_coordinadoras }} |
+
+
+ Ver
+
+ |
+
+
+ Progreso
+
+ |
+
+ @endforeach
+
+
+
+
+
+
+
diff --git a/resources/views/accionprevenir/show.blade.php b/resources/views/accionprevenir/show.blade.php
new file mode 100644
index 0000000000000000000000000000000000000000..b2fa260306bc6ffd397dbbcdf04d28bc6d75d574
--- /dev/null
+++ b/resources/views/accionprevenir/show.blade.php
@@ -0,0 +1,59 @@
+
+
+
+ DETALLES DE LA ACCIÓN PARA PREVENIR
+
+
+
+
+
+
+
+
+ Regresar a la Lista
+
+
+
+
+ No.: |
+ {{ $accionPrevenir->id }} |
+
+
+ Acción: |
+ {{ $accionPrevenir->accion }} |
+
+
+ Tipo de Acción: |
+ {{ $accionPrevenir->tipo }} |
+
+
+ Dependencias Responsables: |
+ {{ $accionPrevenir->dependencias_responsables ?? 'No especificado' }} |
+
+
+ Dependencias Coordinadoras: |
+ {{ $accionPrevenir->dependencias_coordinadoras ?? 'No especificado' }} |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/estrategiasprevenir/index.blade.php b/resources/views/estrategiasprevenir/index.blade.php
index 9ea4e16d987c58ede7c7836a0eb5315581b2101e..e84bd1b0dd50590db69f8807880bda2d038f5fe8 100644
--- a/resources/views/estrategiasprevenir/index.blade.php
+++ b/resources/views/estrategiasprevenir/index.blade.php
@@ -34,7 +34,7 @@
-
+
Acciones
|
diff --git a/routes/web.php b/routes/web.php
index 067046108282f3e6c2868d5815338f798c36c98e..478e30ede208ad65f33c7b1142f8c503d2866e5e 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -4,6 +4,7 @@
use App\Http\Controllers\UserController;
use App\Http\Controllers\PrevenirController;
use App\Http\Controllers\EstrategiasPrevenirController;
+use App\Http\Controllers\AccionPrevenirController;
/*
@@ -34,3 +35,7 @@
Route::group(['middleware' => 'auth'], function () {
Route::resource('estrategiasprevenir', \App\Http\Controllers\EstrategiasPrevenirController::class);
});
+
+Route::group(['middleware' => 'auth'], function () {
+ Route::resource('accionprevenir', \App\Http\Controllers\AccionPrevenirController::class);
+ });