diff --git a/workflow/engine/classes/class.actionsByEmailCore.php b/workflow/engine/classes/class.actionsByEmailCore.php index f6204643d..dde0b6fb9 100644 --- a/workflow/engine/classes/class.actionsByEmailCore.php +++ b/workflow/engine/classes/class.actionsByEmailCore.php @@ -264,19 +264,19 @@ class actionsByEmailCoreClass extends PMPlugin $user = new Users(); - if($configuration['ABE_MAILSERVER_OR_MAILCURRENT'] == 1 && $configuration['ABE_TYPE'] !== ''){ - if($data->PREVIOUS_USR_UID!==''){ + if (!$configuration['ABE_MAILSERVER_OR_MAILCURRENT'] && $configuration['ABE_TYPE'] !== '') { + if ($data->PREVIOUS_USR_UID !== '') { $userDetails = $user->loadDetails($data->PREVIOUS_USR_UID); $emailFrom = ($userDetails["USR_FULLNAME"] . ' <' . $userDetails["USR_EMAIL"] . '>'); } else { global $RBAC; $currentUser = $RBAC->aUserInfo['USER_INFO']; - $emailFrom = ($currentUser["USR_FIRSTNAME"] .' '. $currentUser["USR_LASTNAME"] .' <' . $currentUser["USR_EMAIL"] . '>'); + $emailFrom = ($currentUser["USR_FIRSTNAME"] . ' ' . $currentUser["USR_LASTNAME"] . ' <' . $currentUser["USR_EMAIL"] . '>'); } - }else{ - if(isset($emailSetup["MESS_FROM_NAME"]) && isset($emailSetup["MESS_FROM_MAIL"] )){ + } else { + if (isset($emailSetup["MESS_FROM_NAME"]) && isset($emailSetup["MESS_FROM_MAIL"])) { $emailFrom = ($emailSetup["MESS_FROM_NAME"] . ' <' . $emailSetup["MESS_FROM_MAIL"] . '>'); - }else{ + } else { $emailFrom = ((isset($emailSetup["MESS_FROM_NAME"])) ? $emailSetup["MESS_FROM_NAME"] : $emailSetup["MESS_FROM_MAIL"]); } } @@ -284,15 +284,16 @@ class actionsByEmailCoreClass extends PMPlugin G::LoadClass('wsBase'); $wsBaseInstance = new wsBase(); - $result = $wsBaseInstance->sendMessage($data->APP_UID, - $emailFrom, - $email, - '', - '', - $subject, - $configuration['ABE_TEMPLATE'], - $caseFields['APP_DATA'], - ''); + $result = $wsBaseInstance->sendMessage( + $data->APP_UID, + $emailFrom, + $email, + '', + '', + $subject, + $configuration['ABE_TEMPLATE'], + $caseFields['APP_DATA'], + ''); $abeRequest['ABE_REQ_STATUS'] = ($result->status_code == 0 ? 'SENT' : 'ERROR'); $body = ''; diff --git a/workflow/engine/classes/model/Task.php b/workflow/engine/classes/model/Task.php index 51987690a..0d114daca 100755 --- a/workflow/engine/classes/model/Task.php +++ b/workflow/engine/classes/model/Task.php @@ -452,6 +452,26 @@ class Task extends BaseTask return $row; } + /** + * @param $pro_uid + * @param $tas + * @return array + */ + public function getEmailServerSettingsForNotification($pro_uid, $tas) + { + $oCriteria = new Criteria(); + $oCriteria->clearSelectColumns(); + $oCriteria->addSelectColumn(TaskPeer::TAS_NOT_EMAIL_FROM_FORMAT); + $oCriteria->add(TaskPeer::PRO_UID, $pro_uid ); + $oCriteria->add(TaskPeer::TAS_UID, $tas ); + $rs = TaskPeer::doSelectRS($oCriteria); + $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $rs->next(); + $row = $rs->getRow(); + + return $row; + } + public function load($TasUid) { try { diff --git a/workflow/engine/classes/model/map/TaskMapBuilder.php b/workflow/engine/classes/model/map/TaskMapBuilder.php index 53f50d5cf..d84dd0a7f 100755 --- a/workflow/engine/classes/model/map/TaskMapBuilder.php +++ b/workflow/engine/classes/model/map/TaskMapBuilder.php @@ -173,6 +173,8 @@ class TaskMapBuilder $tMap->addColumn('TAS_SELFSERVICE_EXECUTION', 'TasSelfserviceExecution', 'string', CreoleTypes::VARCHAR, false, 15); + $tMap->addColumn('TAS_NOT_EMAIL_FROM_FORMAT', 'TasNotEmailFromFormat', 'int', CreoleTypes::INTEGER, false, null); + $tMap->addValidator('TAS_TYPE', 'validValues', 'propel.validator.ValidValuesValidator', 'NORMAL|ADHOC|SUBPROCESS|HIDDEN|GATEWAYTOGATEWAY|WEBENTRYEVENT|END-MESSAGE-EVENT|START-MESSAGE-EVENT|INTERMEDIATE-THROW-MESSAGE-EVENT|INTERMEDIATE-CATCH-MESSAGE-EVENT|SCRIPT-TASK|START-TIMER-EVENT|INTERMEDIATE-CATCH-TIMER-EVENT|END-EMAIL-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT', 'Please set a valid value for TAS_TYPE'); $tMap->addValidator('TAS_TIMEUNIT', 'validValues', 'propel.validator.ValidValuesValidator', 'MINUTES|HOURS|DAYS|WEEKS|MONTHS', 'Please select a valid value for TAS_TIMEUNIT.'); diff --git a/workflow/engine/classes/model/om/BaseTask.php b/workflow/engine/classes/model/om/BaseTask.php index c757656aa..17abf3a01 100755 --- a/workflow/engine/classes/model/om/BaseTask.php +++ b/workflow/engine/classes/model/om/BaseTask.php @@ -351,6 +351,12 @@ abstract class BaseTask extends BaseObject implements Persistent */ protected $tas_selfservice_execution = 'EVERY_TIME'; + /** + * The value for the tas_not_email_from_format field. + * @var int + */ + protected $tas_not_email_from_format = 0; + /** * Flag to prevent endless save loop, if this object is referenced * by another object which falls in this transaction. @@ -959,6 +965,17 @@ abstract class BaseTask extends BaseObject implements Persistent return $this->tas_selfservice_execution; } + /** + * Get the [tas_not_email_from_format] column value. + * + * @return int + */ + public function getTasNotEmailFromFormat() + { + + return $this->tas_not_email_from_format; + } + /** * Set the value of [pro_uid] column. * @@ -2135,6 +2152,28 @@ abstract class BaseTask extends BaseObject implements Persistent } // setTasSelfserviceExecution() + /** + * Set the value of [tas_not_email_from_format] column. + * + * @param int $v new value + * @return void + */ + public function setTasNotEmailFromFormat($v) + { + + // Since the native PHP type for this column is integer, + // we will cast the input value to an int (if it is not). + if ($v !== null && !is_int($v) && is_numeric($v)) { + $v = (int) $v; + } + + if ($this->tas_not_email_from_format !== $v || $v === 0) { + $this->tas_not_email_from_format = $v; + $this->modifiedColumns[] = TaskPeer::TAS_NOT_EMAIL_FROM_FORMAT; + } + + } // setTasNotEmailFromFormat() + /** * Hydrates (populates) the object variables with values from the database resultset. * @@ -2260,12 +2299,14 @@ abstract class BaseTask extends BaseObject implements Persistent $this->tas_selfservice_execution = $rs->getString($startcol + 53); + $this->tas_not_email_from_format = $rs->getInt($startcol + 54); + $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 54; // 54 = TaskPeer::NUM_COLUMNS - TaskPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 55; // 55 = TaskPeer::NUM_COLUMNS - TaskPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating Task object", $e); @@ -2631,6 +2672,9 @@ abstract class BaseTask extends BaseObject implements Persistent case 53: return $this->getTasSelfserviceExecution(); break; + case 54: + return $this->getTasNotEmailFromFormat(); + break; default: return null; break; @@ -2705,6 +2749,7 @@ abstract class BaseTask extends BaseObject implements Persistent $keys[51] => $this->getTasSelfserviceTimeUnit(), $keys[52] => $this->getTasSelfserviceTriggerUid(), $keys[53] => $this->getTasSelfserviceExecution(), + $keys[54] => $this->getTasNotEmailFromFormat(), ); return $result; } @@ -2898,6 +2943,9 @@ abstract class BaseTask extends BaseObject implements Persistent case 53: $this->setTasSelfserviceExecution($value); break; + case 54: + $this->setTasNotEmailFromFormat($value); + break; } // switch() } @@ -3137,6 +3185,10 @@ abstract class BaseTask extends BaseObject implements Persistent $this->setTasSelfserviceExecution($arr[$keys[53]]); } + if (array_key_exists($keys[54], $arr)) { + $this->setTasNotEmailFromFormat($arr[$keys[54]]); + } + } /** @@ -3364,6 +3416,10 @@ abstract class BaseTask extends BaseObject implements Persistent $criteria->add(TaskPeer::TAS_SELFSERVICE_EXECUTION, $this->tas_selfservice_execution); } + if ($this->isColumnModified(TaskPeer::TAS_NOT_EMAIL_FROM_FORMAT)) { + $criteria->add(TaskPeer::TAS_NOT_EMAIL_FROM_FORMAT, $this->tas_not_email_from_format); + } + return $criteria; } @@ -3524,6 +3580,8 @@ abstract class BaseTask extends BaseObject implements Persistent $copyObj->setTasSelfserviceExecution($this->tas_selfservice_execution); + $copyObj->setTasNotEmailFromFormat($this->tas_not_email_from_format); + $copyObj->setNew(true); diff --git a/workflow/engine/classes/model/om/BaseTaskPeer.php b/workflow/engine/classes/model/om/BaseTaskPeer.php index 8f435b658..b1f54bf99 100755 --- a/workflow/engine/classes/model/om/BaseTaskPeer.php +++ b/workflow/engine/classes/model/om/BaseTaskPeer.php @@ -25,7 +25,7 @@ abstract class BaseTaskPeer const CLASS_DEFAULT = 'classes.model.Task'; /** The total number of columns. */ - const NUM_COLUMNS = 54; + const NUM_COLUMNS = 55; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -193,6 +193,9 @@ abstract class BaseTaskPeer /** the column name for the TAS_SELFSERVICE_EXECUTION field */ const TAS_SELFSERVICE_EXECUTION = 'TASK.TAS_SELFSERVICE_EXECUTION'; + /** the column name for the TAS_NOT_EMAIL_FROM_FORMAT field */ + const TAS_NOT_EMAIL_FROM_FORMAT = 'TASK.TAS_NOT_EMAIL_FROM_FORMAT'; + /** The PHP to DB Name Mapping */ private static $phpNameMap = null; @@ -204,10 +207,10 @@ abstract class BaseTaskPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('ProUid', 'TasUid', 'TasTitle', 'TasDescription', 'TasDefTitle', 'TasDefSubjectMessage', 'TasDefProcCode', 'TasDefMessage', 'TasDefDescription', 'TasType', 'TasDuration', 'TasDelayType', 'TasTemporizer', 'TasTypeDay', 'TasTimeunit', 'TasAlert', 'TasPriorityVariable', 'TasAssignType', 'TasAssignVariable', 'TasGroupVariable', 'TasMiInstanceVariable', 'TasMiCompleteVariable', 'TasAssignLocation', 'TasAssignLocationAdhoc', 'TasTransferFly', 'TasLastAssigned', 'TasUser', 'TasCanUpload', 'TasViewUpload', 'TasViewAdditionalDocumentation', 'TasCanCancel', 'TasOwnerApp', 'StgUid', 'TasCanPause', 'TasCanSendMessage', 'TasCanDeleteDocs', 'TasSelfService', 'TasStart', 'TasToLastUser', 'TasSendLastEmail', 'TasDerivation', 'TasPosx', 'TasPosy', 'TasWidth', 'TasHeight', 'TasColor', 'TasEvnUid', 'TasBoundary', 'TasDerivationScreenTpl', 'TasSelfserviceTimeout', 'TasSelfserviceTime', 'TasSelfserviceTimeUnit', 'TasSelfserviceTriggerUid', 'TasSelfserviceExecution', ), - BasePeer::TYPE_COLNAME => array (TaskPeer::PRO_UID, TaskPeer::TAS_UID, TaskPeer::TAS_TITLE, TaskPeer::TAS_DESCRIPTION, TaskPeer::TAS_DEF_TITLE, TaskPeer::TAS_DEF_SUBJECT_MESSAGE, TaskPeer::TAS_DEF_PROC_CODE, TaskPeer::TAS_DEF_MESSAGE, TaskPeer::TAS_DEF_DESCRIPTION, TaskPeer::TAS_TYPE, TaskPeer::TAS_DURATION, TaskPeer::TAS_DELAY_TYPE, TaskPeer::TAS_TEMPORIZER, TaskPeer::TAS_TYPE_DAY, TaskPeer::TAS_TIMEUNIT, TaskPeer::TAS_ALERT, TaskPeer::TAS_PRIORITY_VARIABLE, TaskPeer::TAS_ASSIGN_TYPE, TaskPeer::TAS_ASSIGN_VARIABLE, TaskPeer::TAS_GROUP_VARIABLE, TaskPeer::TAS_MI_INSTANCE_VARIABLE, TaskPeer::TAS_MI_COMPLETE_VARIABLE, TaskPeer::TAS_ASSIGN_LOCATION, TaskPeer::TAS_ASSIGN_LOCATION_ADHOC, TaskPeer::TAS_TRANSFER_FLY, TaskPeer::TAS_LAST_ASSIGNED, TaskPeer::TAS_USER, TaskPeer::TAS_CAN_UPLOAD, TaskPeer::TAS_VIEW_UPLOAD, TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION, TaskPeer::TAS_CAN_CANCEL, TaskPeer::TAS_OWNER_APP, TaskPeer::STG_UID, TaskPeer::TAS_CAN_PAUSE, TaskPeer::TAS_CAN_SEND_MESSAGE, TaskPeer::TAS_CAN_DELETE_DOCS, TaskPeer::TAS_SELF_SERVICE, TaskPeer::TAS_START, TaskPeer::TAS_TO_LAST_USER, TaskPeer::TAS_SEND_LAST_EMAIL, TaskPeer::TAS_DERIVATION, TaskPeer::TAS_POSX, TaskPeer::TAS_POSY, TaskPeer::TAS_WIDTH, TaskPeer::TAS_HEIGHT, TaskPeer::TAS_COLOR, TaskPeer::TAS_EVN_UID, TaskPeer::TAS_BOUNDARY, TaskPeer::TAS_DERIVATION_SCREEN_TPL, TaskPeer::TAS_SELFSERVICE_TIMEOUT, TaskPeer::TAS_SELFSERVICE_TIME, TaskPeer::TAS_SELFSERVICE_TIME_UNIT, TaskPeer::TAS_SELFSERVICE_TRIGGER_UID, TaskPeer::TAS_SELFSERVICE_EXECUTION, ), - BasePeer::TYPE_FIELDNAME => array ('PRO_UID', 'TAS_UID', 'TAS_TITLE', 'TAS_DESCRIPTION', 'TAS_DEF_TITLE', 'TAS_DEF_SUBJECT_MESSAGE', 'TAS_DEF_PROC_CODE', 'TAS_DEF_MESSAGE', 'TAS_DEF_DESCRIPTION', 'TAS_TYPE', 'TAS_DURATION', 'TAS_DELAY_TYPE', 'TAS_TEMPORIZER', 'TAS_TYPE_DAY', 'TAS_TIMEUNIT', 'TAS_ALERT', 'TAS_PRIORITY_VARIABLE', 'TAS_ASSIGN_TYPE', 'TAS_ASSIGN_VARIABLE', 'TAS_GROUP_VARIABLE', 'TAS_MI_INSTANCE_VARIABLE', 'TAS_MI_COMPLETE_VARIABLE', 'TAS_ASSIGN_LOCATION', 'TAS_ASSIGN_LOCATION_ADHOC', 'TAS_TRANSFER_FLY', 'TAS_LAST_ASSIGNED', 'TAS_USER', 'TAS_CAN_UPLOAD', 'TAS_VIEW_UPLOAD', 'TAS_VIEW_ADDITIONAL_DOCUMENTATION', 'TAS_CAN_CANCEL', 'TAS_OWNER_APP', 'STG_UID', 'TAS_CAN_PAUSE', 'TAS_CAN_SEND_MESSAGE', 'TAS_CAN_DELETE_DOCS', 'TAS_SELF_SERVICE', 'TAS_START', 'TAS_TO_LAST_USER', 'TAS_SEND_LAST_EMAIL', 'TAS_DERIVATION', 'TAS_POSX', 'TAS_POSY', 'TAS_WIDTH', 'TAS_HEIGHT', 'TAS_COLOR', 'TAS_EVN_UID', 'TAS_BOUNDARY', 'TAS_DERIVATION_SCREEN_TPL', 'TAS_SELFSERVICE_TIMEOUT', 'TAS_SELFSERVICE_TIME', 'TAS_SELFSERVICE_TIME_UNIT', 'TAS_SELFSERVICE_TRIGGER_UID', 'TAS_SELFSERVICE_EXECUTION', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, ) + BasePeer::TYPE_PHPNAME => array ('ProUid', 'TasUid', 'TasTitle', 'TasDescription', 'TasDefTitle', 'TasDefSubjectMessage', 'TasDefProcCode', 'TasDefMessage', 'TasDefDescription', 'TasType', 'TasDuration', 'TasDelayType', 'TasTemporizer', 'TasTypeDay', 'TasTimeunit', 'TasAlert', 'TasPriorityVariable', 'TasAssignType', 'TasAssignVariable', 'TasGroupVariable', 'TasMiInstanceVariable', 'TasMiCompleteVariable', 'TasAssignLocation', 'TasAssignLocationAdhoc', 'TasTransferFly', 'TasLastAssigned', 'TasUser', 'TasCanUpload', 'TasViewUpload', 'TasViewAdditionalDocumentation', 'TasCanCancel', 'TasOwnerApp', 'StgUid', 'TasCanPause', 'TasCanSendMessage', 'TasCanDeleteDocs', 'TasSelfService', 'TasStart', 'TasToLastUser', 'TasSendLastEmail', 'TasDerivation', 'TasPosx', 'TasPosy', 'TasWidth', 'TasHeight', 'TasColor', 'TasEvnUid', 'TasBoundary', 'TasDerivationScreenTpl', 'TasSelfserviceTimeout', 'TasSelfserviceTime', 'TasSelfserviceTimeUnit', 'TasSelfserviceTriggerUid', 'TasSelfserviceExecution', 'TasNotEmailFromFormat', ), + BasePeer::TYPE_COLNAME => array (TaskPeer::PRO_UID, TaskPeer::TAS_UID, TaskPeer::TAS_TITLE, TaskPeer::TAS_DESCRIPTION, TaskPeer::TAS_DEF_TITLE, TaskPeer::TAS_DEF_SUBJECT_MESSAGE, TaskPeer::TAS_DEF_PROC_CODE, TaskPeer::TAS_DEF_MESSAGE, TaskPeer::TAS_DEF_DESCRIPTION, TaskPeer::TAS_TYPE, TaskPeer::TAS_DURATION, TaskPeer::TAS_DELAY_TYPE, TaskPeer::TAS_TEMPORIZER, TaskPeer::TAS_TYPE_DAY, TaskPeer::TAS_TIMEUNIT, TaskPeer::TAS_ALERT, TaskPeer::TAS_PRIORITY_VARIABLE, TaskPeer::TAS_ASSIGN_TYPE, TaskPeer::TAS_ASSIGN_VARIABLE, TaskPeer::TAS_GROUP_VARIABLE, TaskPeer::TAS_MI_INSTANCE_VARIABLE, TaskPeer::TAS_MI_COMPLETE_VARIABLE, TaskPeer::TAS_ASSIGN_LOCATION, TaskPeer::TAS_ASSIGN_LOCATION_ADHOC, TaskPeer::TAS_TRANSFER_FLY, TaskPeer::TAS_LAST_ASSIGNED, TaskPeer::TAS_USER, TaskPeer::TAS_CAN_UPLOAD, TaskPeer::TAS_VIEW_UPLOAD, TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION, TaskPeer::TAS_CAN_CANCEL, TaskPeer::TAS_OWNER_APP, TaskPeer::STG_UID, TaskPeer::TAS_CAN_PAUSE, TaskPeer::TAS_CAN_SEND_MESSAGE, TaskPeer::TAS_CAN_DELETE_DOCS, TaskPeer::TAS_SELF_SERVICE, TaskPeer::TAS_START, TaskPeer::TAS_TO_LAST_USER, TaskPeer::TAS_SEND_LAST_EMAIL, TaskPeer::TAS_DERIVATION, TaskPeer::TAS_POSX, TaskPeer::TAS_POSY, TaskPeer::TAS_WIDTH, TaskPeer::TAS_HEIGHT, TaskPeer::TAS_COLOR, TaskPeer::TAS_EVN_UID, TaskPeer::TAS_BOUNDARY, TaskPeer::TAS_DERIVATION_SCREEN_TPL, TaskPeer::TAS_SELFSERVICE_TIMEOUT, TaskPeer::TAS_SELFSERVICE_TIME, TaskPeer::TAS_SELFSERVICE_TIME_UNIT, TaskPeer::TAS_SELFSERVICE_TRIGGER_UID, TaskPeer::TAS_SELFSERVICE_EXECUTION, TaskPeer::TAS_NOT_EMAIL_FROM_FORMAT, ), + BasePeer::TYPE_FIELDNAME => array ('PRO_UID', 'TAS_UID', 'TAS_TITLE', 'TAS_DESCRIPTION', 'TAS_DEF_TITLE', 'TAS_DEF_SUBJECT_MESSAGE', 'TAS_DEF_PROC_CODE', 'TAS_DEF_MESSAGE', 'TAS_DEF_DESCRIPTION', 'TAS_TYPE', 'TAS_DURATION', 'TAS_DELAY_TYPE', 'TAS_TEMPORIZER', 'TAS_TYPE_DAY', 'TAS_TIMEUNIT', 'TAS_ALERT', 'TAS_PRIORITY_VARIABLE', 'TAS_ASSIGN_TYPE', 'TAS_ASSIGN_VARIABLE', 'TAS_GROUP_VARIABLE', 'TAS_MI_INSTANCE_VARIABLE', 'TAS_MI_COMPLETE_VARIABLE', 'TAS_ASSIGN_LOCATION', 'TAS_ASSIGN_LOCATION_ADHOC', 'TAS_TRANSFER_FLY', 'TAS_LAST_ASSIGNED', 'TAS_USER', 'TAS_CAN_UPLOAD', 'TAS_VIEW_UPLOAD', 'TAS_VIEW_ADDITIONAL_DOCUMENTATION', 'TAS_CAN_CANCEL', 'TAS_OWNER_APP', 'STG_UID', 'TAS_CAN_PAUSE', 'TAS_CAN_SEND_MESSAGE', 'TAS_CAN_DELETE_DOCS', 'TAS_SELF_SERVICE', 'TAS_START', 'TAS_TO_LAST_USER', 'TAS_SEND_LAST_EMAIL', 'TAS_DERIVATION', 'TAS_POSX', 'TAS_POSY', 'TAS_WIDTH', 'TAS_HEIGHT', 'TAS_COLOR', 'TAS_EVN_UID', 'TAS_BOUNDARY', 'TAS_DERIVATION_SCREEN_TPL', 'TAS_SELFSERVICE_TIMEOUT', 'TAS_SELFSERVICE_TIME', 'TAS_SELFSERVICE_TIME_UNIT', 'TAS_SELFSERVICE_TRIGGER_UID', 'TAS_SELFSERVICE_EXECUTION', 'TAS_NOT_EMAIL_FROM_FORMAT', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, ) ); /** @@ -217,10 +220,10 @@ abstract class BaseTaskPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('ProUid' => 0, 'TasUid' => 1, 'TasTitle' => 2, 'TasDescription' => 3, 'TasDefTitle' => 4, 'TasDefSubjectMessage' => 5, 'TasDefProcCode' => 6, 'TasDefMessage' => 7, 'TasDefDescription' => 8, 'TasType' => 9, 'TasDuration' => 10, 'TasDelayType' => 11, 'TasTemporizer' => 12, 'TasTypeDay' => 13, 'TasTimeunit' => 14, 'TasAlert' => 15, 'TasPriorityVariable' => 16, 'TasAssignType' => 17, 'TasAssignVariable' => 18, 'TasGroupVariable' => 19, 'TasMiInstanceVariable' => 20, 'TasMiCompleteVariable' => 21, 'TasAssignLocation' => 22, 'TasAssignLocationAdhoc' => 23, 'TasTransferFly' => 24, 'TasLastAssigned' => 25, 'TasUser' => 26, 'TasCanUpload' => 27, 'TasViewUpload' => 28, 'TasViewAdditionalDocumentation' => 29, 'TasCanCancel' => 30, 'TasOwnerApp' => 31, 'StgUid' => 32, 'TasCanPause' => 33, 'TasCanSendMessage' => 34, 'TasCanDeleteDocs' => 35, 'TasSelfService' => 36, 'TasStart' => 37, 'TasToLastUser' => 38, 'TasSendLastEmail' => 39, 'TasDerivation' => 40, 'TasPosx' => 41, 'TasPosy' => 42, 'TasWidth' => 43, 'TasHeight' => 44, 'TasColor' => 45, 'TasEvnUid' => 46, 'TasBoundary' => 47, 'TasDerivationScreenTpl' => 48, 'TasSelfserviceTimeout' => 49, 'TasSelfserviceTime' => 50, 'TasSelfserviceTimeUnit' => 51, 'TasSelfserviceTriggerUid' => 52, 'TasSelfserviceExecution' => 53, ), - BasePeer::TYPE_COLNAME => array (TaskPeer::PRO_UID => 0, TaskPeer::TAS_UID => 1, TaskPeer::TAS_TITLE => 2, TaskPeer::TAS_DESCRIPTION => 3, TaskPeer::TAS_DEF_TITLE => 4, TaskPeer::TAS_DEF_SUBJECT_MESSAGE => 5, TaskPeer::TAS_DEF_PROC_CODE => 6, TaskPeer::TAS_DEF_MESSAGE => 7, TaskPeer::TAS_DEF_DESCRIPTION => 8, TaskPeer::TAS_TYPE => 9, TaskPeer::TAS_DURATION => 10, TaskPeer::TAS_DELAY_TYPE => 11, TaskPeer::TAS_TEMPORIZER => 12, TaskPeer::TAS_TYPE_DAY => 13, TaskPeer::TAS_TIMEUNIT => 14, TaskPeer::TAS_ALERT => 15, TaskPeer::TAS_PRIORITY_VARIABLE => 16, TaskPeer::TAS_ASSIGN_TYPE => 17, TaskPeer::TAS_ASSIGN_VARIABLE => 18, TaskPeer::TAS_GROUP_VARIABLE => 19, TaskPeer::TAS_MI_INSTANCE_VARIABLE => 20, TaskPeer::TAS_MI_COMPLETE_VARIABLE => 21, TaskPeer::TAS_ASSIGN_LOCATION => 22, TaskPeer::TAS_ASSIGN_LOCATION_ADHOC => 23, TaskPeer::TAS_TRANSFER_FLY => 24, TaskPeer::TAS_LAST_ASSIGNED => 25, TaskPeer::TAS_USER => 26, TaskPeer::TAS_CAN_UPLOAD => 27, TaskPeer::TAS_VIEW_UPLOAD => 28, TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION => 29, TaskPeer::TAS_CAN_CANCEL => 30, TaskPeer::TAS_OWNER_APP => 31, TaskPeer::STG_UID => 32, TaskPeer::TAS_CAN_PAUSE => 33, TaskPeer::TAS_CAN_SEND_MESSAGE => 34, TaskPeer::TAS_CAN_DELETE_DOCS => 35, TaskPeer::TAS_SELF_SERVICE => 36, TaskPeer::TAS_START => 37, TaskPeer::TAS_TO_LAST_USER => 38, TaskPeer::TAS_SEND_LAST_EMAIL => 39, TaskPeer::TAS_DERIVATION => 40, TaskPeer::TAS_POSX => 41, TaskPeer::TAS_POSY => 42, TaskPeer::TAS_WIDTH => 43, TaskPeer::TAS_HEIGHT => 44, TaskPeer::TAS_COLOR => 45, TaskPeer::TAS_EVN_UID => 46, TaskPeer::TAS_BOUNDARY => 47, TaskPeer::TAS_DERIVATION_SCREEN_TPL => 48, TaskPeer::TAS_SELFSERVICE_TIMEOUT => 49, TaskPeer::TAS_SELFSERVICE_TIME => 50, TaskPeer::TAS_SELFSERVICE_TIME_UNIT => 51, TaskPeer::TAS_SELFSERVICE_TRIGGER_UID => 52, TaskPeer::TAS_SELFSERVICE_EXECUTION => 53, ), - BasePeer::TYPE_FIELDNAME => array ('PRO_UID' => 0, 'TAS_UID' => 1, 'TAS_TITLE' => 2, 'TAS_DESCRIPTION' => 3, 'TAS_DEF_TITLE' => 4, 'TAS_DEF_SUBJECT_MESSAGE' => 5, 'TAS_DEF_PROC_CODE' => 6, 'TAS_DEF_MESSAGE' => 7, 'TAS_DEF_DESCRIPTION' => 8, 'TAS_TYPE' => 9, 'TAS_DURATION' => 10, 'TAS_DELAY_TYPE' => 11, 'TAS_TEMPORIZER' => 12, 'TAS_TYPE_DAY' => 13, 'TAS_TIMEUNIT' => 14, 'TAS_ALERT' => 15, 'TAS_PRIORITY_VARIABLE' => 16, 'TAS_ASSIGN_TYPE' => 17, 'TAS_ASSIGN_VARIABLE' => 18, 'TAS_GROUP_VARIABLE' => 19, 'TAS_MI_INSTANCE_VARIABLE' => 20, 'TAS_MI_COMPLETE_VARIABLE' => 21, 'TAS_ASSIGN_LOCATION' => 22, 'TAS_ASSIGN_LOCATION_ADHOC' => 23, 'TAS_TRANSFER_FLY' => 24, 'TAS_LAST_ASSIGNED' => 25, 'TAS_USER' => 26, 'TAS_CAN_UPLOAD' => 27, 'TAS_VIEW_UPLOAD' => 28, 'TAS_VIEW_ADDITIONAL_DOCUMENTATION' => 29, 'TAS_CAN_CANCEL' => 30, 'TAS_OWNER_APP' => 31, 'STG_UID' => 32, 'TAS_CAN_PAUSE' => 33, 'TAS_CAN_SEND_MESSAGE' => 34, 'TAS_CAN_DELETE_DOCS' => 35, 'TAS_SELF_SERVICE' => 36, 'TAS_START' => 37, 'TAS_TO_LAST_USER' => 38, 'TAS_SEND_LAST_EMAIL' => 39, 'TAS_DERIVATION' => 40, 'TAS_POSX' => 41, 'TAS_POSY' => 42, 'TAS_WIDTH' => 43, 'TAS_HEIGHT' => 44, 'TAS_COLOR' => 45, 'TAS_EVN_UID' => 46, 'TAS_BOUNDARY' => 47, 'TAS_DERIVATION_SCREEN_TPL' => 48, 'TAS_SELFSERVICE_TIMEOUT' => 49, 'TAS_SELFSERVICE_TIME' => 50, 'TAS_SELFSERVICE_TIME_UNIT' => 51, 'TAS_SELFSERVICE_TRIGGER_UID' => 52, 'TAS_SELFSERVICE_EXECUTION' => 53, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, ) + BasePeer::TYPE_PHPNAME => array ('ProUid' => 0, 'TasUid' => 1, 'TasTitle' => 2, 'TasDescription' => 3, 'TasDefTitle' => 4, 'TasDefSubjectMessage' => 5, 'TasDefProcCode' => 6, 'TasDefMessage' => 7, 'TasDefDescription' => 8, 'TasType' => 9, 'TasDuration' => 10, 'TasDelayType' => 11, 'TasTemporizer' => 12, 'TasTypeDay' => 13, 'TasTimeunit' => 14, 'TasAlert' => 15, 'TasPriorityVariable' => 16, 'TasAssignType' => 17, 'TasAssignVariable' => 18, 'TasGroupVariable' => 19, 'TasMiInstanceVariable' => 20, 'TasMiCompleteVariable' => 21, 'TasAssignLocation' => 22, 'TasAssignLocationAdhoc' => 23, 'TasTransferFly' => 24, 'TasLastAssigned' => 25, 'TasUser' => 26, 'TasCanUpload' => 27, 'TasViewUpload' => 28, 'TasViewAdditionalDocumentation' => 29, 'TasCanCancel' => 30, 'TasOwnerApp' => 31, 'StgUid' => 32, 'TasCanPause' => 33, 'TasCanSendMessage' => 34, 'TasCanDeleteDocs' => 35, 'TasSelfService' => 36, 'TasStart' => 37, 'TasToLastUser' => 38, 'TasSendLastEmail' => 39, 'TasDerivation' => 40, 'TasPosx' => 41, 'TasPosy' => 42, 'TasWidth' => 43, 'TasHeight' => 44, 'TasColor' => 45, 'TasEvnUid' => 46, 'TasBoundary' => 47, 'TasDerivationScreenTpl' => 48, 'TasSelfserviceTimeout' => 49, 'TasSelfserviceTime' => 50, 'TasSelfserviceTimeUnit' => 51, 'TasSelfserviceTriggerUid' => 52, 'TasSelfserviceExecution' => 53, 'TasNotEmailFromFormat' => 54, ), + BasePeer::TYPE_COLNAME => array (TaskPeer::PRO_UID => 0, TaskPeer::TAS_UID => 1, TaskPeer::TAS_TITLE => 2, TaskPeer::TAS_DESCRIPTION => 3, TaskPeer::TAS_DEF_TITLE => 4, TaskPeer::TAS_DEF_SUBJECT_MESSAGE => 5, TaskPeer::TAS_DEF_PROC_CODE => 6, TaskPeer::TAS_DEF_MESSAGE => 7, TaskPeer::TAS_DEF_DESCRIPTION => 8, TaskPeer::TAS_TYPE => 9, TaskPeer::TAS_DURATION => 10, TaskPeer::TAS_DELAY_TYPE => 11, TaskPeer::TAS_TEMPORIZER => 12, TaskPeer::TAS_TYPE_DAY => 13, TaskPeer::TAS_TIMEUNIT => 14, TaskPeer::TAS_ALERT => 15, TaskPeer::TAS_PRIORITY_VARIABLE => 16, TaskPeer::TAS_ASSIGN_TYPE => 17, TaskPeer::TAS_ASSIGN_VARIABLE => 18, TaskPeer::TAS_GROUP_VARIABLE => 19, TaskPeer::TAS_MI_INSTANCE_VARIABLE => 20, TaskPeer::TAS_MI_COMPLETE_VARIABLE => 21, TaskPeer::TAS_ASSIGN_LOCATION => 22, TaskPeer::TAS_ASSIGN_LOCATION_ADHOC => 23, TaskPeer::TAS_TRANSFER_FLY => 24, TaskPeer::TAS_LAST_ASSIGNED => 25, TaskPeer::TAS_USER => 26, TaskPeer::TAS_CAN_UPLOAD => 27, TaskPeer::TAS_VIEW_UPLOAD => 28, TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION => 29, TaskPeer::TAS_CAN_CANCEL => 30, TaskPeer::TAS_OWNER_APP => 31, TaskPeer::STG_UID => 32, TaskPeer::TAS_CAN_PAUSE => 33, TaskPeer::TAS_CAN_SEND_MESSAGE => 34, TaskPeer::TAS_CAN_DELETE_DOCS => 35, TaskPeer::TAS_SELF_SERVICE => 36, TaskPeer::TAS_START => 37, TaskPeer::TAS_TO_LAST_USER => 38, TaskPeer::TAS_SEND_LAST_EMAIL => 39, TaskPeer::TAS_DERIVATION => 40, TaskPeer::TAS_POSX => 41, TaskPeer::TAS_POSY => 42, TaskPeer::TAS_WIDTH => 43, TaskPeer::TAS_HEIGHT => 44, TaskPeer::TAS_COLOR => 45, TaskPeer::TAS_EVN_UID => 46, TaskPeer::TAS_BOUNDARY => 47, TaskPeer::TAS_DERIVATION_SCREEN_TPL => 48, TaskPeer::TAS_SELFSERVICE_TIMEOUT => 49, TaskPeer::TAS_SELFSERVICE_TIME => 50, TaskPeer::TAS_SELFSERVICE_TIME_UNIT => 51, TaskPeer::TAS_SELFSERVICE_TRIGGER_UID => 52, TaskPeer::TAS_SELFSERVICE_EXECUTION => 53, TaskPeer::TAS_NOT_EMAIL_FROM_FORMAT => 54, ), + BasePeer::TYPE_FIELDNAME => array ('PRO_UID' => 0, 'TAS_UID' => 1, 'TAS_TITLE' => 2, 'TAS_DESCRIPTION' => 3, 'TAS_DEF_TITLE' => 4, 'TAS_DEF_SUBJECT_MESSAGE' => 5, 'TAS_DEF_PROC_CODE' => 6, 'TAS_DEF_MESSAGE' => 7, 'TAS_DEF_DESCRIPTION' => 8, 'TAS_TYPE' => 9, 'TAS_DURATION' => 10, 'TAS_DELAY_TYPE' => 11, 'TAS_TEMPORIZER' => 12, 'TAS_TYPE_DAY' => 13, 'TAS_TIMEUNIT' => 14, 'TAS_ALERT' => 15, 'TAS_PRIORITY_VARIABLE' => 16, 'TAS_ASSIGN_TYPE' => 17, 'TAS_ASSIGN_VARIABLE' => 18, 'TAS_GROUP_VARIABLE' => 19, 'TAS_MI_INSTANCE_VARIABLE' => 20, 'TAS_MI_COMPLETE_VARIABLE' => 21, 'TAS_ASSIGN_LOCATION' => 22, 'TAS_ASSIGN_LOCATION_ADHOC' => 23, 'TAS_TRANSFER_FLY' => 24, 'TAS_LAST_ASSIGNED' => 25, 'TAS_USER' => 26, 'TAS_CAN_UPLOAD' => 27, 'TAS_VIEW_UPLOAD' => 28, 'TAS_VIEW_ADDITIONAL_DOCUMENTATION' => 29, 'TAS_CAN_CANCEL' => 30, 'TAS_OWNER_APP' => 31, 'STG_UID' => 32, 'TAS_CAN_PAUSE' => 33, 'TAS_CAN_SEND_MESSAGE' => 34, 'TAS_CAN_DELETE_DOCS' => 35, 'TAS_SELF_SERVICE' => 36, 'TAS_START' => 37, 'TAS_TO_LAST_USER' => 38, 'TAS_SEND_LAST_EMAIL' => 39, 'TAS_DERIVATION' => 40, 'TAS_POSX' => 41, 'TAS_POSY' => 42, 'TAS_WIDTH' => 43, 'TAS_HEIGHT' => 44, 'TAS_COLOR' => 45, 'TAS_EVN_UID' => 46, 'TAS_BOUNDARY' => 47, 'TAS_DERIVATION_SCREEN_TPL' => 48, 'TAS_SELFSERVICE_TIMEOUT' => 49, 'TAS_SELFSERVICE_TIME' => 50, 'TAS_SELFSERVICE_TIME_UNIT' => 51, 'TAS_SELFSERVICE_TRIGGER_UID' => 52, 'TAS_SELFSERVICE_EXECUTION' => 53, 'TAS_NOT_EMAIL_FROM_FORMAT' => 54, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, ) ); /** @@ -429,6 +432,8 @@ abstract class BaseTaskPeer $criteria->addSelectColumn(TaskPeer::TAS_SELFSERVICE_EXECUTION); + $criteria->addSelectColumn(TaskPeer::TAS_NOT_EMAIL_FROM_FORMAT); + } const COUNT = 'COUNT(TASK.TAS_UID)'; diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index 1a44b5f04..79d5655bd 100755 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -1315,6 +1315,7 @@ + diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index ec8070a01..9202acd5d 100755 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -659,6 +659,7 @@ CREATE TABLE `TASK` `TAS_SELFSERVICE_TIME_UNIT` VARCHAR(15) default '', `TAS_SELFSERVICE_TRIGGER_UID` VARCHAR(32) default '', `TAS_SELFSERVICE_EXECUTION` VARCHAR(15) default 'EVERY_TIME', + `TAS_NOT_EMAIL_FROM_FORMAT` INTEGER default 0, PRIMARY KEY (`TAS_UID`), KEY `indexTasUid`(`TAS_UID`) )ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Task of workflow'; diff --git a/workflow/engine/methods/cases/cases_Derivate.php b/workflow/engine/methods/cases/cases_Derivate.php index c0fe09090..f637a19d9 100755 --- a/workflow/engine/methods/cases/cases_Derivate.php +++ b/workflow/engine/methods/cases/cases_Derivate.php @@ -165,8 +165,17 @@ try { // Send notifications - Start $oUser = new Users(); - $aUser = $oUser->load( $_SESSION['USER_LOGGED'] ); - $sFromName = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . ($aUser['USR_EMAIL'] != '' ? ' <' . $aUser['USR_EMAIL'] . '>' : ''); + $aUser = $oUser->load($_SESSION['USER_LOGGED']); + $fromName = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; + $oTask = new Task(); + $oTaskEmailSetting = $oTask->getEmailServerSettingsForNotification($_SESSION['PROCESS'], $_SESSION['TASK']); + if ($oTaskEmailSetting['TAS_NOT_EMAIL_FROM_FORMAT']) { + $oEmailServer = new \ProcessMaker\BusinessModel\EmailServer(); + $dataSettings = $oEmailServer->getEmailServerDefault(); + $aUser['USR_EMAIL'] = $dataSettings['MESS_FROM_MAIL']; + $fromName = $dataSettings['MESS_FROM_NAME']; + } + $sFromData = $fromName . ($aUser['USR_EMAIL'] != '' ? ' <' . $aUser['USR_EMAIL'] . '>' : ''); $flagGmail = false; /*----------------------------------********---------------------------------*/ @@ -192,7 +201,7 @@ try { /*----------------------------------********---------------------------------*/ try { - $oCase->sendNotifications( $_SESSION['TASK'], $_POST['form']['TASKS'], $appFields['APP_DATA'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $sFromName ); + $oCase->sendNotifications( $_SESSION['TASK'], $_POST['form']['TASKS'], $appFields['APP_DATA'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $sFromData ); } catch (Exception $e) { G::SendTemporalMessage( G::loadTranslation( 'ID_NOTIFICATION_ERROR' ) . ' - ' . $e->getMessage(), 'warning', 'string', null, '100%' ); } diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php index ae961df42..27929c6f4 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php @@ -356,5 +356,10 @@ class ActivityPropertiesStructure * @var string {@from body} {@required false} */ public $tas_def_message_template; + + /** + * @var int {@from body} {@required false} + */ + public $tas_not_email_from_format; }