Loading app/Http/Controllers/ContactoController.php +18 −7 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 { Loading @@ -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')); } /** Loading Loading @@ -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) { Loading Loading @@ -169,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')); } /** Loading @@ -197,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) { Loading Loading @@ -309,6 +311,15 @@ public function update(Request $request, string $id) 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; $contacto->profesion_id = $request->input('profesion_id') !== 'null' ? $request->input('profesion_id') : null; Loading app/Models/Contacto.php +6 −1 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ class Contacto extends Model 'profesion_id', 'cargo_id', 'caracteristica_id', //'institucion_id', 'institucion_id', ]; public function profesion(): BelongsTo Loading Loading @@ -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); } } app/Models/Instituciones.php +6 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -40,4 +41,9 @@ public function telefonos() { return $this->hasMany(TelefonoInst::class, 'instituciones_id'); } public function contactos(): HasMany { return $this->hasMany(Contacto::class); } } database/migrations/2024_06_23_201805_create_contactos_table.php +2 −2 Original line number Diff line number Diff line Loading @@ -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(); Loading public/assets/images/SGG_Color.png 0 → 100644 +29.7 KiB Loading image diff... Loading
app/Http/Controllers/ContactoController.php +18 −7 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 { Loading @@ -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')); } /** Loading Loading @@ -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) { Loading Loading @@ -169,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')); } /** Loading @@ -197,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) { Loading Loading @@ -309,6 +311,15 @@ public function update(Request $request, string $id) 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; $contacto->profesion_id = $request->input('profesion_id') !== 'null' ? $request->input('profesion_id') : null; Loading
app/Models/Contacto.php +6 −1 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ class Contacto extends Model 'profesion_id', 'cargo_id', 'caracteristica_id', //'institucion_id', 'institucion_id', ]; public function profesion(): BelongsTo Loading Loading @@ -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); } }
app/Models/Instituciones.php +6 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -40,4 +41,9 @@ public function telefonos() { return $this->hasMany(TelefonoInst::class, 'instituciones_id'); } public function contactos(): HasMany { return $this->hasMany(Contacto::class); } }
database/migrations/2024_06_23_201805_create_contactos_table.php +2 −2 Original line number Diff line number Diff line Loading @@ -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(); Loading