-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hotfix - General - Añadir relación entre actividades y personas desde subpanel #447
Conversation
Actions executed at: 2024-12-19 08:16:59. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(A)probado
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La línea de código que se está comentando solucionaba la incidencia para relaciones especiales como member_accounts donde parent_id no es igual al ID del registro principal y ahora vuelve a ocurrir el error.
Se propone investigar y averiguar si se puede añadir alguna condición más que permita solucionar ambas incidencias.
Si no es sencillo, y por lo que recuerdo no lo será ya que la función set_relationship_info() tenía complejidad, una opción alternativa y sencilla podría ser quitar la opción de Editar en los subpaneles de aquellas relaciones especiales como member_accounts
Paula, si lo consideras, podemos comentarlo :)
Como reproducir la incidencia
- Crear dos organizaciones.
- Ir a una de ellas y seleccionar a la otra en el subpanel de Organizaciones miembro
- Desde el mismo subpanel, editar el registro y cambiar varios campos, incluido el campo Miembro de
- Comprobar que en la organización se han actualizado los campos modificados excepto el de Miembro de
El error mencionado ocurría cuando el subpanel, y por lo tanto la nueva relación, correspondía a un registro del mismo módulo que el módulo padre. Se ha añadido una comprobación específica para este tipo de casos. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(A)probado
Se observa que la condición aportada en este PR amplia la cobertura de la condición que sustituye para gestionar correctamente registros que tienen una relación con el registro que contiene al subpanel (registro padre) además de un campo posiblemente relacionado (por ej: registros de llamadas, reuniones o notas), de forma que el registro indicado en el campo posiblemente relacionado no pierda la información por indicar un ID diferente al ID del registro padre.
La solución ha funcionado correctamente para los casos de uso probados, incluyendo registros con una relacion 1-N personalizada que relaciona a un módulo consigo mismo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(A)probado
Probado con reuniones y llamadas.
Creación desde subpanel, desde edición, cambiar persona apuntada, cambiar la organización....
También se ha probado con Subvenciones para las relaciones N:M que se pauntaban en el PR anterior.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Encontrado un caso de uso erróneo ya que $this->{$new_rel_link}
llega a NULL
Como reproducirlo
- Desde la vista de detalle de una organización (O1), crear una organización nueva desde el subpanel de Organizaciones Miembro e indicar en el campo Miembro de una organización distinta a O1
- Comprobar que la nueva organización es miembro de O1 aunque se indicó otra.
Al editar esa misma organización desde el subpanel de Organizaciones miembro de O1 y cambiar el valor del campo Miembro de $this->{$new_rel_link}
es igual a ''
(cadena vacía) y al no ser NULL
sí funciona correctamente
Se ha modificado la consulta para añadir este tipo de excepciones. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(A)probado
Probado con los diferentes casos de uso descritos en el PR y en el PR que complementa
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(A)provado
Descripción
Los cambios realizados en el PR https://github.com/SinergiaTIC/SinergiaCRM-SuiteCRM/pull/849 provocan el issue #444.
Problemas identificados:
Los cambios realizados en el PR provocaban que, al crear relaciones desde los subpaneles, la información de la relación no se actualizara correctamente.
$new_rel_id=''
, lo que impedía la creación de la relación entre la reunión y la persona.Solución propuesta
Se modificó la función
SinergiaCRM/data/SugarBean.php
Lines 2866 to 2878 in 41e7eb1
$new_rel_id
se asigna únicamente cuando las condiciones lo requieren:Esta modificación evita asignaciones incorrectas de
$new_rel_id
y garantiza que las relaciones se creen o actualicen correctamente.Pruebas
Escenarios cubiertos:
Subpanel de actividades
Personas 1-N Relación persona
Probar en la creación desde el subpanel:
Organizaciones 1-N Organizaciones miembro
Probar en la edición desde el subpanel:
Probar en la creación desde el subpanel:
Probar que se mantienen las comprobaciones realizadas en el PR original (PR #849).
Información adicional
Los comportamientos descritos en los escenarios "Personas 1-N Relaciones persona" y "Organizaciones 1-N Organizaciones miembro" también se reproducen en SA.
En la resolución de este PR, se ha identificado un caso de error relacionado con las relaciones personalizadas 1-N de un módulo consigo mismo.
Esta información se ha documentado en otro issue y queda pendiente de análisis: SinergiaCRM Issue #506.