Commit 4fe93973 authored by Alfonso Rafael Solis Rangel's avatar Alfonso Rafael Solis Rangel
Browse files

Editar contacto corregido

parent 68edc3c9
Loading
Loading
Loading
Loading
+32 −6
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ public function store(Request $request)
        $correosData = $request->only(['correo_electronico', 'tipo_correo_electronico']);
        $correosData = array_map(function ($item) {
            return array_map(function ($value) {
                return ($value === '0' || $value === "null") ? null : $value;
                return ($value === "null") ? null : $value;
            }, $item);
        }, $correosData);

@@ -170,30 +170,56 @@ public function update(Request $request, string $id)
        // Validar los datos
        $validatedData = $request->validate([
            'nombre' => 'required|string|max:255',
            'foto_perfil' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
            'foto_perfil' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);
        $contacto = Contacto::findOrFail($id);

        $fieldsToCheck = [
            'conyuge_id',
            'profesion_id',
            'cargo_id',
            'caracteristica_id',
            'subgrupo_id',
            'mes_cump',
            'dia_cump',
            //institucion_id
        ];
        $requestData = $request->all();
        foreach ($fieldsToCheck as $field) {
            if (isset($requestData[$field]) && $requestData[$field] === "null") {
                unset($requestData[$field]);
            }
        }

        $request->replace($requestData);

        $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;
        $contacto->cargo_id = $request->input('cargo_id') !== 'null' ? $request->input('cargo_id') : null;
        $contacto->cargo_desc = $request->input('cargo_desc');

        $data = $request->all();

        if ($request->hasFile('foto_perfil')) {
            // Eliminar la foto de perfil anterior si existe
            if ($contacto->foto_perfil) {
                Storage::delete('public/' . $contacto->foto_perfil);
                Storage::delete(STR::substr($contacto->foto_perfil, 8));
            }
    
            // Guardar la nueva foto de perfil
            $path_file = $this->storeProfilePicture($request);
            $contacto->foto_perfil = $path_file;

            if ($path_file) {
                $data['foto_perfil'] = 'storage/' . $path_file;
            }else{
                $data['foto_perfil'] = 'assets/images/profile-icon.webp';
            }
        }

        

        // Actualizar los datos del usuario
        $contacto->update($validatedData);
        $contacto->update($data);
        

        // Guardar teléfonos
@@ -235,7 +261,7 @@ public function update(Request $request, string $id)
        $contacto->correos()->delete();
        $contacto->correos()->createMany($correos->toArray());

        return redirect()->route('contacto.index')->with('success', 'Contacto actualizado correctamente');
        return redirect()->route('contacto.get')->with('success', 'Contacto actualizado correctamente');
    }

    /**