Mostrando entradas con la etiqueta estados workflow. Mostrar todas las entradas
Mostrando entradas con la etiqueta estados workflow. Mostrar todas las entradas

10 de febrero de 2020

:: Liferay. Comentarios en un workflow

En la definición de un workflow en Liferay, en el que necesitamos que al rechazar una solicitud se envíe un correo al usuario, adjuntando además los motivos, podemos hacer uso de la variable: $taskComments

Dentro del fichero .xml de definición del workflow, tendremos el código al que llamaremos, por ejemplo:


<state>
  <name>reject</name>
  <metadata> <![CDATA[{"xy":[356,225]}]]> </metadata>
  <actions>
   <action>
    <name>denied</name>
    <description/>
    <script> <![CDATA[Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("denied"), workflowContext);]]> </script>
    <script-language>javascript</script-language>
    <execution-type>onEntry</execution-type>
   </action>
   <!-- correo al usuario rechazado -->
   <notification>
    <name>Review Notification</name>
    <description>Denegación de solicitud</description>
    <template><![CDATA[<html>

       #set ($workflowHandlerRegistryUtil = $portal.getClass().forName("com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil"))
       #set ($locale = $localeUtil.getDefault())
       #set ($timeZone = $timeZoneUtil.getDefault())
       #set ($workflowHandler = $workflowHandlerRegistryUtil.getWorkflowHandler($entryClassName))
       #set ($classPK = $getterUtil.getInteger($entryClassPK))
       #set ($assetRenderer = $workflowHandler.getAssetRenderer($classPK))
       #set ($emailUser = $assetRenderer.getEmailNotificationDenied($locale, $timeZone, $taskComments))
              
      </html>]]> </template>
    <template-language>velocity</template-language>
    <notification-type>email</notification-type>
    <execution-type>onEntry</execution-type>
   </notification>
  </actions>
 </state>


En la función encargada de realizar el envío de correo tras ser rechazada la solicitud, 
añadiremos los comentarios al cuerpo del mensaje.

:: Liferay. Obtener los usuarios activos desde Groovy

Una solución rápida para obtener la relación de usuarios activos en Liferay 7.4 es por medio de un script en Groovy. Para ello accederemos a...