From fcac7372f1b562a064c0149a195dd66821b8fae4 Mon Sep 17 00:00:00 2001 From: Alfonso Rafael Solis Rangel Date: Sat, 24 Aug 2024 16:20:43 -0600 Subject: [PATCH 01/11] Relacion de contactos y instituciones --- .../migrations/2024_06_23_201805_create_contactos_table.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/database/migrations/2024_06_23_201805_create_contactos_table.php b/database/migrations/2024_06_23_201805_create_contactos_table.php index 8a808d8..8478389 100644 --- a/database/migrations/2024_06_23_201805_create_contactos_table.php +++ b/database/migrations/2024_06_23_201805_create_contactos_table.php @@ -38,11 +38,11 @@ public function up(): void $table->unsignedBigInteger('profesion_id')->nullable(); $table->unsignedBigInteger('cargo_id')->nullable(); $table->unsignedBigInteger('caracteristica_id')->nullable(); - //$table->unsignedBigInteger('institucion_id')->nullable(); + $table->unsignedBigInteger('institucion_id')->nullable(); $table->foreign('conyuge_id')->references('id')->on('contactos')->nullable(); $table->foreign('profesion_id')->references('id')->on('profesions')->nullable(); - //$table->foreign('institucion_id')->references('id')->on('')->nullable(); + $table->foreign('institucion_id')->references('id')->on('instituciones')->nullable(); $table->foreign('cargo_id')->references('id')->on('cargos')->nullable(); $table->foreign('caracteristica_id')->references('id')->on('caracteristicas')->nullable(); -- GitLab From eea54ffaf201032220c95d64c97073e01f121ff9 Mon Sep 17 00:00:00 2001 From: Alfonso Rafael Solis Rangel Date: Sat, 24 Aug 2024 16:21:15 -0600 Subject: [PATCH 02/11] Adaptando controlador para agregar la institucion --- app/Http/Controllers/ContactoController.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/ContactoController.php b/app/Http/Controllers/ContactoController.php index 89b8816..feabab8 100644 --- a/app/Http/Controllers/ContactoController.php +++ b/app/Http/Controllers/ContactoController.php @@ -8,6 +8,7 @@ use App\Models\Contacto; use App\Models\CorreoContactos; use App\Models\Grupos; +use App\Models\Instituciones; use App\Models\Profesion; use App\Models\Subgrupo; use App\Models\Telefono; @@ -17,7 +18,6 @@ use Illuminate\Http\Request; use Illuminate\Support\Str; use Illuminate\Support\Facades\Storage; -use Illuminate\Support\Facades\Log; class ContactoController extends Controller { @@ -42,7 +42,8 @@ public function create() $caracteristicas = Caracteristicas::get(); $subgrupos = Subgrupo::get(); $grupos = Grupos::get(); - return view('adminGen.contactos.create', compact('conyuges', 'profesiones', 'cargos', 'caracteristicas', 'subgrupos', 'grupos')); + $instituciones = Instituciones::get(); + return view('adminGen.contactos.create', compact('conyuges', 'profesiones', 'cargos', 'caracteristicas', 'subgrupos', 'grupos', 'instituciones')); } /** @@ -89,7 +90,7 @@ public function store(Request $request) 'caracteristica_id', 'mes_cump', 'dia_cump', - //institucion_id + 'institucion_id' ]; $requestData = $request->all(); foreach ($fieldsToCheck as $field) { -- GitLab From 13b049d1888c25ffe91561576bd9709a4b280b30 Mon Sep 17 00:00:00 2001 From: Alfonso Rafael Solis Rangel Date: Sat, 24 Aug 2024 16:31:25 -0600 Subject: [PATCH 03/11] Implementacion de las instituciones en el forumulario --- .../views/adminGen/contactos/create.blade.php | 40 ++++++++++++------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/resources/views/adminGen/contactos/create.blade.php b/resources/views/adminGen/contactos/create.blade.php index 1fcd347..4045e1e 100644 --- a/resources/views/adminGen/contactos/create.blade.php +++ b/resources/views/adminGen/contactos/create.blade.php @@ -189,15 +189,7 @@
-
- - -
+
+
+ + +
-
+
+
+ + +
-
- - +
+
+ + +

@@ -474,7 +486,7 @@ NiceSelect.bind(document.getElementById("profesion_id"), options); NiceSelect.bind(document.getElementById("cargo_id"), options); NiceSelect.bind(document.getElementById("caracteristica_id"), options); - NiceSelect.bind(document.getElementById("subgrupo_id"), options); + NiceSelect.bind(document.getElementById("institucion_id"), options); document.querySelectorAll('.nice-select .current').forEach(el => { if (el.textContent.trim() === 'Select an option') { -- GitLab From 4f8d551c7fc72ecd4f26c56f6fe19a1a81600269 Mon Sep 17 00:00:00 2001 From: Alfonso Rafael Solis Rangel Date: Sun, 25 Aug 2024 18:30:04 -0600 Subject: [PATCH 04/11] instituciones --- app/Models/Contacto.php | 7 ++++++- app/Models/Instituciones.php | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/Models/Contacto.php b/app/Models/Contacto.php index 64d6ae5..79465e8 100644 --- a/app/Models/Contacto.php +++ b/app/Models/Contacto.php @@ -39,7 +39,7 @@ class Contacto extends Model 'profesion_id', 'cargo_id', 'caracteristica_id', - //'institucion_id', + 'institucion_id', ]; public function profesion(): BelongsTo @@ -86,4 +86,9 @@ public function grupos(): BelongsToMany { return $this->belongsToMany(Grupos::class, 'contactos_grupos', 'contacto_id', 'grupo_id'); } + + public function institucion(): BelongsTo + { + return $this->belongsTo(Instituciones::class); + } } diff --git a/app/Models/Instituciones.php b/app/Models/Instituciones.php index 7d97e1d..3572346 100644 --- a/app/Models/Instituciones.php +++ b/app/Models/Instituciones.php @@ -4,6 +4,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\HasMany; class Instituciones extends Model { @@ -40,4 +41,9 @@ public function telefonos() { return $this->hasMany(TelefonoInst::class, 'instituciones_id'); } + + public function contactos(): HasMany + { + return $this->hasMany(Contacto::class); + } } -- GitLab From 2ad21b803c1936ca8a9e9505d44411b25bb8014e Mon Sep 17 00:00:00 2001 From: Alfonso Rafael Solis Rangel Date: Sun, 25 Aug 2024 18:47:01 -0600 Subject: [PATCH 05/11] logotipo de gobierno del estado --- public/assets/images/SGG_Color.png | Bin 0 -> 30385 bytes .../views/components/common/header.blade.php | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 public/assets/images/SGG_Color.png diff --git a/public/assets/images/SGG_Color.png b/public/assets/images/SGG_Color.png new file mode 100644 index 0000000000000000000000000000000000000000..a88f5e66ea0d82eb174132deaccb34ad3f98c1ad GIT binary patch literal 30385 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ξ7(D(v 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 MSNpH@x$%ep17cw68~^|S literal 0 HcmV?d00001 diff --git a/resources/views/components/common/header.blade.php b/resources/views/components/common/header.blade.php index 0094e80..a2d8c67 100644 --- a/resources/views/components/common/header.blade.php +++ b/resources/views/components/common/header.blade.php @@ -73,7 +73,7 @@ class="flex items-center p-2 rounded-full bg-white-light/40 dark:bg-dark/40 hove -- GitLab From 1353ec4dda09b09aaeaf809d98128cba13fade2d Mon Sep 17 00:00:00 2001 From: Alfonso Rafael Solis Rangel Date: Sun, 25 Aug 2024 19:13:20 -0600 Subject: [PATCH 09/11] Correccion en las opciones de las instituciones --- .../views/adminGen/instituciones/create.blade.php | 12 ++++++------ .../views/adminGen/instituciones/edit.blade.php | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/resources/views/adminGen/instituciones/create.blade.php b/resources/views/adminGen/instituciones/create.blade.php index 5aef2bd..85c85dc 100644 --- a/resources/views/adminGen/instituciones/create.blade.php +++ b/resources/views/adminGen/instituciones/create.blade.php @@ -19,14 +19,14 @@
-- GitLab From 545d35a8f024ac014ea7bac70cd0aa65a554ff68 Mon Sep 17 00:00:00 2001 From: Alfonso Rafael Solis Rangel Date: Sun, 25 Aug 2024 20:10:01 -0600 Subject: [PATCH 11/11] Correcion en el modelo de actualizar contacto --- app/Http/Controllers/ContactoController.php | 18 +- .../views/adminGen/contactos/edit.blade.php | 732 ++++++++++-------- 2 files changed, 427 insertions(+), 323 deletions(-) diff --git a/app/Http/Controllers/ContactoController.php b/app/Http/Controllers/ContactoController.php index feabab8..e3e6aad 100644 --- a/app/Http/Controllers/ContactoController.php +++ b/app/Http/Controllers/ContactoController.php @@ -170,9 +170,10 @@ public function edit(string $id) $cargos = cargos::get(); $caracteristicas = Caracteristicas::get(); $subgrupos = Subgrupo::get(); - $contacto = Contacto::with(['telefonos', 'redes', 'correos'])->findOrFail($id); - //dd($contacto); - return view('adminGen.contactos.edit', compact('contacto', 'conyuges', 'profesiones', 'cargos', 'caracteristicas', 'subgrupos')); + $grupos = Grupos::get(); + $instituciones = Instituciones::get(); + $contacto = Contacto::with(['telefonos', 'redes', 'correos', 'grupos', 'subgrupos'])->findOrFail($id); + return view('adminGen.contactos.edit', compact('contacto', 'conyuges', 'profesiones', 'cargos', 'caracteristicas', 'subgrupos', 'grupos', 'instituciones')); } /** @@ -198,7 +199,7 @@ public function update(Request $request, string $id) 'subgrupo_id', 'mes_cump', 'dia_cump', - //institucion_id + 'institucion_id' ]; $requestData = $request->all(); foreach ($fieldsToCheck as $field) { @@ -309,6 +310,15 @@ public function update(Request $request, string $id) if (!empty($changes)) { Auditoria::insert($changes); } + + // Sincronizar subgrupos y grupos + if ($request->has('subgrupo_id')) { + $contacto->subgrupos()->sync($request->input('subgrupo_id')); + } + + if ($request->has('grupo_id')) { + $contacto->grupos()->sync($request->input('grupo_id')); + } // Actualizar los datos del contacto $contacto->conyuge_id = $request->input('conyuge_id') !== 'null' ? $request->input('conyuge_id') : null; diff --git a/resources/views/adminGen/contactos/edit.blade.php b/resources/views/adminGen/contactos/edit.blade.php index f9ee2a8..7a07a2a 100644 --- a/resources/views/adminGen/contactos/edit.blade.php +++ b/resources/views/adminGen/contactos/edit.blade.php @@ -24,14 +24,15 @@
-
-
- @csrf - @method('PUT') + + @csrf + @method('PUT') - -
-
+ +
+
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
- - + + @if($contacto->foto_perfil) +
+ Foto de perfil +
+ @endif +
+
+ +
+
+
+ + @foreach($contacto->subgrupos as $subgrupoSeleccionado) +
+
+ + +
+
+ @endforeach +
+
+ + @foreach($contacto->grupos as $grupoSeleccionado) +
+
+ + +
+
+ @endforeach +
+ + +
+
+
+ +
- - + +
+
+ + +
- - + +
-
-
-
- - +
+ +
-
- - +
+ +
-
- - +
+ +
+
+
+ +
-
- - -
-
- - +
+ +
-
- - +
+ + +
+
+ +
- - + +
-
-
-
- - +
+ +
-
- - - - +
+ +
-
- - @if($contacto->foto_perfil) -
- Foto de perfil -
- @endif - -

-
- -
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
-
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
-
- -
-
- @foreach($contacto->telefonos as $telefono) -
-
- - -
-
- - -
-
- - -
-
- - +
+
+ @foreach($contacto->telefonos as $telefono) +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
-
- - -
-
- - -
-
- - -
-
- - -
- -
- -
-
- @endforeach + @endforeach +
+ +
- -
-
-
-
- @foreach($contacto->redes as $red) -
-
- - -
-
- - -
-
- +
+
+ @foreach($contacto->redes as $red) +
+
+ + +
+
+ + +
+
+ +
-
- @endforeach + @endforeach +
+ +
- -
-
-
-
- @foreach($contacto->correos as $correo) -
-
- - -
-
- - -
-
- +
+
+ @foreach($contacto->correos as $correo) +
+
+ + +
+
+ + +
+
+ +
-
- @endforeach + @endforeach +
+ +
- -
-
-
-

Enviar formulario

-
-

Por favor, revise toda la información antes de enviar el formulario.

-

Si encuentra algún error, puede regresar y editar la información antes de enviar.

+
+

Enviar formulario

+
+

Por favor, revise toda la información antes de enviar el formulario.

+

Si encuentra algún error, puede regresar y editar la información antes de enviar.

+
+
+

- -
-
- +
- +
@@ -523,9 +581,13 @@ const agregarBtnTel = document.getElementById('agregarBtnTel'); const agregarBtnRed = document.getElementById('agregarBtnRed'); const agregarBtnCorreo = document.getElementById('agregarBtnCorreo'); + const agregarBtnSubgrupo = document.getElementById('agregarBtnSubgrupo'); + const agregarBtnGrupo = document.getElementById('agregarBtnGrupo'); const dynamicFormContainerTel = document.getElementById('dynamicFormContainerTel'); const dynamicFormContainerRed = document.getElementById('dynamicFormContainerRed'); const dynamicFormContainerCorreo = document.getElementById('dynamicFormContainerCorreo'); + const dynamicFormContainerSubgrupos = document.getElementById('dynamicFormContainerSubgrupos'); + const dynamicFormContainerGrupos = document.getElementById('dynamicFormContainerGrupos'); agregarBtnTel.addEventListener('click', function() { const newFormGroup = document.createElement('div'); @@ -662,6 +724,38 @@ }); }); + agregarBtnSubgrupo.addEventListener('click', function(){ + const newFormGroup = document.createElement('div'); + newFormGroup.innerHTML = ` +
+ + +
+ `; + dynamicFormContainerSubgrupos.appendChild(newFormGroup); + }); + + agregarBtnGrupo.addEventListener('click', function(){ + const newFormGroup = document.createElement('div'); + newFormGroup.innerHTML = ` +
+ + +
+ `; + dynamicFormContainerGrupos.appendChild(newFormGroup); + }); + // Añadir evento de clic para eliminar a los grupos iniciales document.querySelectorAll('.removeBtn').forEach(function(btn) { btn.addEventListener('click', function() { -- GitLab