BUG-11786 Al actualizar el proceso las notificaciones configuradas se setean. SOLVED
Descripcion: Se tiene configurado en todas las tareas del proceso el envio de notificaciones con ProcessMaker donde el "tipo de contenido" es una plantilla. Despues de actualizar el proceso esto se desconfigura y se setean los valores seleccionados. Solucion: Cuando se realiza la exportacion de un proceso, ahora se obtiene la informacion extra de la configuracion en las tareas. Posteriormente tambien se crea los registros relacionados a la configuracion extra de las tareas a partir del archivo pm generado en la exportacion. Resuelto para la version PM 2.5.2
This commit is contained in:
@@ -3222,14 +3222,18 @@ class Processes
|
||||
*/
|
||||
public function createTaskExtraPropertiesRows ($aTaskExtraProperties)
|
||||
{
|
||||
foreach ($aTaskExtraProperties as $key => $row) {
|
||||
if (count($aTaskExtraProperties) > 0) {
|
||||
$oConfig = new Configuration();
|
||||
|
||||
if ($oConfig->exists( $row['CFG_UID'], $row['OBJ_UID'], $row['PRO_UID'], $row['USR_UID'], $row['APP_UID']) ) {
|
||||
$oConfig->remove( $row['CFG_UID'], $row['OBJ_UID'], $row['PRO_UID'], $row['USR_UID'], $row['APP_UID'] );
|
||||
foreach ($aTaskExtraProperties as $key => $row) {
|
||||
if ($oConfig->exists( $row['CFG_UID'], $row['OBJ_UID'], $row['PRO_UID'], $row['USR_UID'], $row['APP_UID']) ) {
|
||||
$oConfig->remove( $row['CFG_UID'], $row['OBJ_UID'], $row['PRO_UID'], $row['USR_UID'], $row['APP_UID'] );
|
||||
$oConfig->setDeleted(false);
|
||||
}
|
||||
$res = $oConfig->create( $row );
|
||||
$oConfig->setNew(true);
|
||||
$oConfig->setProperties();
|
||||
}
|
||||
$res = $oConfig->create( $row );
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3509,6 +3513,12 @@ class Processes
|
||||
|
||||
//Delete the TaskExtraProperties of the process
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->addSelectColumn( ConfigurationPeer::CFG_UID );
|
||||
$oCriteria->addSelectColumn( ConfigurationPeer::OBJ_UID );
|
||||
$oCriteria->addSelectColumn( ConfigurationPeer::CFG_VALUE );
|
||||
$oCriteria->addSelectColumn( TaskPeer::PRO_UID );
|
||||
$oCriteria->addSelectColumn( ConfigurationPeer::USR_UID );
|
||||
$oCriteria->addSelectColumn( ConfigurationPeer::APP_UID );
|
||||
$oCriteria->add( TaskPeer::PRO_UID, $sProUid );
|
||||
$oCriteria->add( ConfigurationPeer::CFG_UID, 'TAS_EXTRA_PROPERTIES' );
|
||||
$oCriteria->addJoin( ConfigurationPeer::OBJ_UID, TaskPeer::TAS_UID );
|
||||
@@ -3915,6 +3925,12 @@ class Processes
|
||||
try {
|
||||
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn( ConfigurationPeer::CFG_UID );
|
||||
$oCriteria->addSelectColumn( ConfigurationPeer::OBJ_UID );
|
||||
$oCriteria->addSelectColumn( ConfigurationPeer::CFG_VALUE );
|
||||
$oCriteria->addSelectColumn( ConfigurationPeer::PRO_UID );
|
||||
$oCriteria->addSelectColumn( ConfigurationPeer::USR_UID );
|
||||
$oCriteria->addSelectColumn( ConfigurationPeer::APP_UID );
|
||||
$oCriteria->add( TaskPeer::PRO_UID, $proId );
|
||||
$oCriteria->add( ConfigurationPeer::CFG_UID, 'TAS_EXTRA_PROPERTIES' );
|
||||
$oCriteria->addJoin( ConfigurationPeer::OBJ_UID, TaskPeer::TAS_UID );
|
||||
|
||||
@@ -823,5 +823,20 @@ abstract class BaseConfiguration extends BaseObject implements Persistent
|
||||
}
|
||||
return self::$peer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set properties related to Configuration table
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setProperties()
|
||||
{
|
||||
$this->cfg_uid = '';
|
||||
$this->obj_uid = '';
|
||||
$this->cfg_value = '';
|
||||
$this->pro_uid = '';
|
||||
$this->usr_uid = '';
|
||||
$this->app_uid = '';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user