Skip to content
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 - Campañas - Auditar los cambios al pulsar en el enlace de baja de una campaña de email #277

Open
wants to merge 10 commits into
base: develop
Choose a base branch
from

Conversation

ManuSinergiaCRM
Copy link
Collaborator

@ManuSinergiaCRM ManuSinergiaCRM commented Jun 19, 2024

Descripción

Se observa que si un usuario tiene varias direcciones de correo, al pulsar el enlace de baja de una campaña de tipo correo electrónico, el CRM configura como Rehusado todas las cuentas de correo relacionadas con la persona o interesado y no solo la cuenta desde la que pulsó en el enlace de baja.

Comentándolo en el área de desarrollo, este comportamiento es razonable ya que la persona o interesado ha indicado que no quiere recibir más correos de campañas de email, por lo que la solución al PR tiene en cuenta esto y creará un registro por cada una de las direcciones de email en la tabla _email_addresses_audit_

Actualización

Auditar todos los emails rehusados ya sea en el proceso de baja de una campaña de tipo Email como desde la UI, donde se ha detectado que solo se audita el cambio en el checkbox de Rehusado del email principal. Es decir, si rehusamos todos los correos de una persona, solo se auditará el email que esté configurado como principal.

Cómo reproducir el problema

Baja de una campaña de tipo email

  1. Crear una persona o un interesado con varios emails.
  2. Crear una campaña de email, añadir al registro anterior y enviar el email de marketing.
  3. Pulsar en el enlace de baja, acción que rehusa todos los emails relacionados con el registro, y comprobar que han sido auditados (tabla email_addresses_audit) los cambios en todos los correos del registro

Rehusar correos desde la vista de edición

  1. Crear una persona o un interesado con varios emails.
  2. Acceder a la vista de edición y rehusar e invalidar todos los emails
  3. Comprobar que han sido auditadas todas las modificaciones realizadas

@ManuSinergiaCRM ManuSinergiaCRM added bug Something isn't working Campañas not urgent labels Jun 19, 2024
@ManuSinergiaCRM ManuSinergiaCRM self-assigned this Jun 19, 2024
Copy link

github-actions bot commented Jun 19, 2024

Actions executed at: 2024-10-02 13:03:55.

@ManuSinergiaCRM ManuSinergiaCRM removed the request for review from AlbertoSTIC June 19, 2024 09:50
@AlbertoSTIC AlbertoSTIC requested review from enricsinergia and jordiSTIC and removed request for AlbertoSTIC July 9, 2024 08:17
Copy link
Collaborator

@enricsinergia enricsinergia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ver comentarios de código.

Por otra parte he comprobado que los registros quedan reflejados en la tabla de audit pero no he sabido ver desde el CRM como consultar esa tabla de auditoría

modules/Campaigns/RemoveMe.php Outdated Show resolved Hide resolved
modules/Campaigns/RemoveMe.php Outdated Show resolved Hide resolved
modules/Campaigns/RemoveMe.php Outdated Show resolved Hide resolved
@enricsinergia
Copy link
Collaborator

Se observa que al marcar el opt-out desde la interfaz de Persona, sólo se guarda en la tabla audit la primera de las direcciones sobre la que se aplica el cambio. Quizás habría que incluir también esta corrección para que tenga realmente sentido grabar en el log cuando viene del removeme.php

@jordiSTIC
Copy link
Collaborator

jordiSTIC commented Jul 23, 2024

Se verifica que al pulsar el enlace para darse de baja, se registra la baja de todos los correos de la persona o interesado, auditando los cambios para cada una de las direcciones

Se observa que desde la edición de los datos de una persona, al cambiar el valor de "Refusado" de un correo, únicamente se audita para la dirección principal de la persona:

  • Si una persona tiene más de un correo, si se cambia el check de "Refusado" de una dirección no principal, no se audita

Observación: Parece ser que las campañas únicamente envían correos a la dirección principal de un contacto, y únicamente si esta no está marcada como "Refusado" ni "No válida"

(id, parent_id, date_created, created_by, field_name, data_type, before_value_string, after_value_string, before_value_text, after_value_text) VALUES
('$newId', '$emailAddressId', UTC_TIMESTAMP(), '1', 'opt_out','bool','0','1',NULL,NULL)";
$result2 = $db->query($query);
if ($result2) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La condición de error está invertida: si falla $result2 devolverá false

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cambiado 👍

Copy link
Collaborator

@jordiSTIC jordiSTIC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • La verificación de la segunda query está invertida. (ver comentario)
  • Se podría añadir también control de errores en la primera query
  • En el caso que $emailAddressesID esté vacío se generará query incorrecta (se da de baja persona a la que se le han eliminado los correos en el crm)

@ManuSinergiaCRM
Copy link
Collaborator Author

  • La verificación de la segunda query está invertida. (ver comentario)
  • Se podría añadir también control de errores en la primera query
  • En el caso que $emailAddressesID esté vacío se generará query incorrecta (se da de baja persona a la que se le han eliminado los correos en el crm)

Hecho

@ManuSinergiaCRM
Copy link
Collaborator Author

ManuSinergiaCRM commented Sep 23, 2024

Tras comentarlo con Alberto y por coherencia, se ha decidido auditar todos los emails rehusados ya sea en el proceso de baja de una campaña de tipo Email como desde la UI, donde se ha detectado que solo se audita el rehusado del email principal.

Copy link
Collaborator

@jordiSTIC jordiSTIC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Realizadas las pruebas y verificado el código.
(A)Probado

Observación: no se audita el cambio de email principal

@ManuSinergiaCRM
Copy link
Collaborator Author

Realizadas las pruebas y verificado el código. (A)Probado

Observación: no se audita el cambio de email principal

En relación a la observación, el email principal de la persona se almacena en un campo llamado email1 que por defecto no tiene activada la propiedad de auditado, pero si se activa sí se audita el campo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Campañas not urgent
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incidencia - Campañas - Cambio de valor no auditado al pulsar en el enlace de baja
3 participants