-
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
Enhancement - Formularios web - Plantilla personalizada de email para usuario asignado #135
base: develop
Are you sure you want to change the base?
Conversation
…ustomEmailTemplate
Actions executed at: 2024-03-07 09:58:22. |
// Parse the template | ||
$GLOBALS['log']->debug('Line ' . __LINE__ . ': ' . __METHOD__ . ": Parsing template [{$templateId}]..."); | ||
|
||
if (false === parent::parseEmailTemplateById($templateId, $replacementObjects, $account, $lang)) { |
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.
Esta invocación no tiene los mismos parámetros que la definición de la función. Además para invocar la función, si no es que estamos sobre-escribiendo la función en la clase y queremos llamar a la de la clase padre, no se usa el parent::, si no $this->
Intentando seguir el código, me ha parecido que en Donaciones se acaba llamando la función parseEmailTemplate pasando un Contact en el campo Account (línea 264 de DonationMailer) cuando la donación la hace una persona física (coges un replacementObjects[0] que contiene un contact si es un formulario de donaciones de particular. Además en esa función se está accediendo a un objeto $contact, que no está inicializado ni se recibe cómo parámetro. Creo que haría un paso atrás, intentaría mantener la función como estaba |
Desarrollo del issue
Al enviar un formulario web se quiere que el usuario asignado reciba un email personalizado y no el genérico de los formularios web. Por ello, se implementa un input que recoja dicha plantilla personalizada y envíe el email al usuario.
Solución implementada:
Se ha añadido una función que recoge el input de custom_assigned_email_template, en caso de que exista en el formulario, y envía un email de la plantilla personalizada al usuario asignado.
Pruebas
Añadir en el HTML del formulario la siguiente línea de input
<input type="hidden" name="custom_assigned_email_template" value=""/>
pasando el valor del id de la plantilla personalizada.Comprobar que al enviar el formulario, el usuario asignado haya recibido el email personalizado y no el genérico.