diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 2860e080d..88c828943 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -463,7 +463,7 @@ class Cases return $rows; } - public function isSelfService($USR_UID, $TAS_UID) + public function isSelfService($USR_UID, $TAS_UID, $APP_UID = '') { $tasks = $this->getSelfServiceTasks($USR_UID); @@ -472,6 +472,23 @@ class Cases return true; } } + + if ($APP_UID != '') { + $groupsInstance = new Groups(); + $groups = $groupsInstance->getActiveGroupsForAnUser($USR_UID); + $taskInstance = new Task(); + $taskData = $taskInstance->Load($TAS_UID); + $tasGroupVariable = str_replace(array('@', '#'), '', $taskData['TAS_GROUP_VARIABLE']); + $caseData = $this->LoadCase($APP_UID); + if (isset($caseData['APP_DATA'][$tasGroupVariable])) { + if (trim($caseData['APP_DATA'][$tasGroupVariable]) != '') { + if (in_array(trim($caseData['APP_DATA'][$tasGroupVariable]), $groups)) { + return true; + } + } + } + } + return false; } diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index ce50d9733..31152fdbc 100755 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -1438,6 +1438,13 @@ class processMap { //If the function returns a DEFAULT calendar it means that this object doesn't have assigned any calendar $aFields ['TAS_CALENDAR'] = $calendarInfo ['CALENDAR_APPLIED'] != 'DEFAULT' ? $calendarInfo ['CALENDAR_UID'] : ""; } + + if ($iForm == 2) { + if ($aFields['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE' && $aFields['TAS_GROUP_VARIABLE'] != '') { + $aFields['TAS_ASSIGN_TYPE'] = 'SELF_SERVICE_EVALUATE'; + } + } + global $G_PUBLISH; G::LoadClass('xmlfield_InputPM'); $G_PUBLISH = new Publisher ( ); @@ -3164,7 +3171,7 @@ class processMap { $oCriteria->addSelectColumn(ProcessUserPeer::USR_UID); $oCriteria->addSelectColumn(ProcessUserPeer::PRO_UID); $oCriteria->addAsColumn('GRP_TITLE', ContentPeer::CON_VALUE); - + $aConditions [] = array(ProcessUserPeer::USR_UID, ContentPeer::CON_ID); $aConditions [] = array(ContentPeer::CON_CATEGORY, DBAdapter::getStringDelimiter () . 'GRP_TITLE' . DBAdapter::getStringDelimiter ()); $aConditions [] = array(ContentPeer::CON_LANG, DBAdapter::getStringDelimiter () . SYS_LANG . DBAdapter::getStringDelimiter ()); @@ -3263,10 +3270,10 @@ class processMap { $oCriteria->addSelectColumn(GroupwfPeer::GRP_UID); $oCriteria->addAsColumn('GRP_TITLE', ContentPeer::CON_VALUE); - $aConditions [] = array(GroupwfPeer::GRP_UID, ContentPeer::CON_ID); + $aConditions [] = array(GroupwfPeer::GRP_UID, ContentPeer::CON_ID); $aConditions [] = array(ContentPeer::CON_CATEGORY, DBAdapter::getStringDelimiter () . 'GRP_TITLE' . DBAdapter::getStringDelimiter ()); $aConditions [] = array(ContentPeer::CON_LANG, DBAdapter::getStringDelimiter () . SYS_LANG . DBAdapter::getStringDelimiter ()); - + $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $oCriteria->add(GroupwfPeer::GRP_UID, $aGRUS, Criteria::NOT_IN); diff --git a/workflow/engine/classes/model/AppCacheView.php b/workflow/engine/classes/model/AppCacheView.php index efccb691b..ea6795387 100755 --- a/workflow/engine/classes/model/AppCacheView.php +++ b/workflow/engine/classes/model/AppCacheView.php @@ -304,6 +304,61 @@ class AppCacheView extends BaseAppCacheView return $tasks; } + public function getSelfServiceCasesByEvaluate($userUid) { + $cases = array(); + + //check groups assigned to SelfService task + G::LoadClass('groups'); + $group = new Groups(); + $aGroups = $group->getActiveGroupsForAnUser($userUid); + + $c = new Criteria(); + $c->clearSelectColumns(); + $c->addSelectColumn(TaskPeer::TAS_UID); + $c->addSelectColumn(TaskPeer::PRO_UID); + $c->addSelectColumn(TaskPeer::TAS_GROUP_VARIABLE); + $c->addJoin(TaskPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN); + $c->addJoin(TaskPeer::TAS_UID, TaskUserPeer::TAS_UID, Criteria::LEFT_JOIN); + $c->add(ProcessPeer::PRO_STATUS, 'ACTIVE'); + $c->add(TaskPeer::TAS_ASSIGN_TYPE, 'SELF_SERVICE'); + $c->add(TaskPeer::TAS_GROUP_VARIABLE, '', Criteria::NOT_EQUAL); + $rs = TaskPeer::doSelectRS($c); + $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $rs->next(); + + if ($rs->getRecordCount() > 0) { + if (!class_exists('Cases')) { + G::loadClass('case'); + } + $caseInstance = new Cases(); + while ($row = $rs->getRow()) { + $tasGroupVariable = str_replace(array('@', '#'), '', $row['TAS_GROUP_VARIABLE']); + $c2 = new Criteria(); + $c2->clearSelectColumns(); + $c2->addSelectColumn(AppDelegationPeer::APP_UID); + $c2->add(AppDelegationPeer::TAS_UID, $row['TAS_UID']); + $c2->add(AppDelegationPeer::USR_UID, ''); + $c2->add(AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN'); + $rs2 = AppDelegationPeer::doSelectRS($c2); + $rs2->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $rs2->next(); + while ($row2 = $rs2->getRow()) { + $caseData = $caseInstance->LoadCase($row2['APP_UID']); + if (isset($caseData['APP_DATA'][$tasGroupVariable])) { + if (trim($caseData['APP_DATA'][$tasGroupVariable]) != '') { + if (in_array(trim($caseData['APP_DATA'][$tasGroupVariable]), $aGroups)) { + $cases[] = $row2['APP_UID']; + } + } + } + $rs2->next(); + } + $rs->next(); + } + } + return $cases; + } + /** * gets the UNASSIGNED cases list criteria * param $userUid the current userUid @@ -327,14 +382,18 @@ class AppCacheView extends BaseAppCacheView $criteria = $this->addPMFieldsToCriteria('unassigned'); } - //$criteria->add(AppCacheViewPeer::APP_STATUS, "TO_DO"); - $criteria->add(AppCacheViewPeer::DEL_FINISH_DATE, null, Criteria::ISNULL); - //$criteria->add(AppCacheViewPeer::APP_THREAD_STATUS, 'OPEN'); - //$criteria->add(AppCacheViewPeer::DEL_THREAD_STATUS, 'OPEN'); - $criteria->add(AppCacheViewPeer::USR_UID, ''); - $criteria->add(AppCacheViewPeer::TAS_UID, $tasks, Criteria::IN); + + $cases = $this->getSelfServiceCasesByEvaluate($userUid); + if (!empty($cases)) { + $criteria->add( + $criteria->getNewCriterion(AppCacheViewPeer::TAS_UID, $tasks, Criteria::IN)-> + addOr($criteria->getNewCriterion(AppCacheViewPeer::APP_UID, $cases, Criteria::IN)) + ); + } else { + $criteria->add(AppCacheViewPeer::TAS_UID, $tasks, Criteria::IN); + } return $criteria; } diff --git a/workflow/engine/classes/model/map/TaskMapBuilder.php b/workflow/engine/classes/model/map/TaskMapBuilder.php index 598e3d9b6..6ae043282 100755 --- a/workflow/engine/classes/model/map/TaskMapBuilder.php +++ b/workflow/engine/classes/model/map/TaskMapBuilder.php @@ -89,6 +89,8 @@ class TaskMapBuilder $tMap->addColumn('TAS_ASSIGN_VARIABLE', 'TasAssignVariable', 'string', CreoleTypes::VARCHAR, true, 100); + $tMap->addColumn('TAS_GROUP_VARIABLE', 'TasGroupVariable', 'string', CreoleTypes::VARCHAR, false, 100); + $tMap->addColumn('TAS_MI_INSTANCE_VARIABLE', 'TasMiInstanceVariable', 'string', CreoleTypes::VARCHAR, true, 100); $tMap->addColumn('TAS_MI_COMPLETE_VARIABLE', 'TasMiCompleteVariable', 'string', CreoleTypes::VARCHAR, true, 100); diff --git a/workflow/engine/classes/model/om/BaseTask.php b/workflow/engine/classes/model/om/BaseTask.php index bc17ffea4..e2b1c5b43 100755 --- a/workflow/engine/classes/model/om/BaseTask.php +++ b/workflow/engine/classes/model/om/BaseTask.php @@ -99,6 +99,12 @@ abstract class BaseTask extends BaseObject implements Persistent */ protected $tas_assign_variable = '@@SYS_NEXT_USER_TO_BE_ASSIGNED'; + /** + * The value for the tas_group_variable field. + * @var string + */ + protected $tas_group_variable = '@@SYS_GROUP_TO_BE_ASSIGNED'; + /** * The value for the tas_mi_instance_variable field. * @var string @@ -419,6 +425,17 @@ abstract class BaseTask extends BaseObject implements Persistent return $this->tas_assign_variable; } + /** + * Get the [tas_group_variable] column value. + * + * @return string + */ + public function getTasGroupVariable() + { + + return $this->tas_group_variable; + } + /** * Get the [tas_mi_instance_variable] column value. * @@ -990,6 +1007,28 @@ abstract class BaseTask extends BaseObject implements Persistent } // setTasAssignVariable() + /** + * Set the value of [tas_group_variable] column. + * + * @param string $v new value + * @return void + */ + public function setTasGroupVariable($v) + { + + // Since the native PHP type for this column is string, + // we will cast the input to a string (if it is not). + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->tas_group_variable !== $v || $v === '@@SYS_GROUP_TO_BE_ASSIGNED') { + $this->tas_group_variable = $v; + $this->modifiedColumns[] = TaskPeer::TAS_GROUP_VARIABLE; + } + + } // setTasGroupVariable() + /** * Set the value of [tas_mi_instance_variable] column. * @@ -1669,70 +1708,72 @@ abstract class BaseTask extends BaseObject implements Persistent $this->tas_assign_variable = $rs->getString($startcol + 11); - $this->tas_mi_instance_variable = $rs->getString($startcol + 12); + $this->tas_group_variable = $rs->getString($startcol + 12); - $this->tas_mi_complete_variable = $rs->getString($startcol + 13); + $this->tas_mi_instance_variable = $rs->getString($startcol + 13); - $this->tas_assign_location = $rs->getString($startcol + 14); + $this->tas_mi_complete_variable = $rs->getString($startcol + 14); - $this->tas_assign_location_adhoc = $rs->getString($startcol + 15); + $this->tas_assign_location = $rs->getString($startcol + 15); - $this->tas_transfer_fly = $rs->getString($startcol + 16); + $this->tas_assign_location_adhoc = $rs->getString($startcol + 16); - $this->tas_last_assigned = $rs->getString($startcol + 17); + $this->tas_transfer_fly = $rs->getString($startcol + 17); - $this->tas_user = $rs->getString($startcol + 18); + $this->tas_last_assigned = $rs->getString($startcol + 18); - $this->tas_can_upload = $rs->getString($startcol + 19); + $this->tas_user = $rs->getString($startcol + 19); - $this->tas_view_upload = $rs->getString($startcol + 20); + $this->tas_can_upload = $rs->getString($startcol + 20); - $this->tas_view_additional_documentation = $rs->getString($startcol + 21); + $this->tas_view_upload = $rs->getString($startcol + 21); - $this->tas_can_cancel = $rs->getString($startcol + 22); + $this->tas_view_additional_documentation = $rs->getString($startcol + 22); - $this->tas_owner_app = $rs->getString($startcol + 23); + $this->tas_can_cancel = $rs->getString($startcol + 23); - $this->stg_uid = $rs->getString($startcol + 24); + $this->tas_owner_app = $rs->getString($startcol + 24); - $this->tas_can_pause = $rs->getString($startcol + 25); + $this->stg_uid = $rs->getString($startcol + 25); - $this->tas_can_send_message = $rs->getString($startcol + 26); + $this->tas_can_pause = $rs->getString($startcol + 26); - $this->tas_can_delete_docs = $rs->getString($startcol + 27); + $this->tas_can_send_message = $rs->getString($startcol + 27); - $this->tas_self_service = $rs->getString($startcol + 28); + $this->tas_can_delete_docs = $rs->getString($startcol + 28); - $this->tas_start = $rs->getString($startcol + 29); + $this->tas_self_service = $rs->getString($startcol + 29); - $this->tas_to_last_user = $rs->getString($startcol + 30); + $this->tas_start = $rs->getString($startcol + 30); - $this->tas_send_last_email = $rs->getString($startcol + 31); + $this->tas_to_last_user = $rs->getString($startcol + 31); - $this->tas_derivation = $rs->getString($startcol + 32); + $this->tas_send_last_email = $rs->getString($startcol + 32); - $this->tas_posx = $rs->getInt($startcol + 33); + $this->tas_derivation = $rs->getString($startcol + 33); - $this->tas_posy = $rs->getInt($startcol + 34); + $this->tas_posx = $rs->getInt($startcol + 34); - $this->tas_width = $rs->getInt($startcol + 35); + $this->tas_posy = $rs->getInt($startcol + 35); - $this->tas_height = $rs->getInt($startcol + 36); + $this->tas_width = $rs->getInt($startcol + 36); - $this->tas_color = $rs->getString($startcol + 37); + $this->tas_height = $rs->getInt($startcol + 37); - $this->tas_evn_uid = $rs->getString($startcol + 38); + $this->tas_color = $rs->getString($startcol + 38); - $this->tas_boundary = $rs->getString($startcol + 39); + $this->tas_evn_uid = $rs->getString($startcol + 39); - $this->tas_derivation_screen_tpl = $rs->getString($startcol + 40); + $this->tas_boundary = $rs->getString($startcol + 40); + + $this->tas_derivation_screen_tpl = $rs->getString($startcol + 41); $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 41; // 41 = TaskPeer::NUM_COLUMNS - TaskPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 42; // 42 = TaskPeer::NUM_COLUMNS - TaskPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating Task object", $e); @@ -1973,90 +2014,93 @@ abstract class BaseTask extends BaseObject implements Persistent return $this->getTasAssignVariable(); break; case 12: - return $this->getTasMiInstanceVariable(); + return $this->getTasGroupVariable(); break; case 13: - return $this->getTasMiCompleteVariable(); + return $this->getTasMiInstanceVariable(); break; case 14: - return $this->getTasAssignLocation(); + return $this->getTasMiCompleteVariable(); break; case 15: - return $this->getTasAssignLocationAdhoc(); + return $this->getTasAssignLocation(); break; case 16: - return $this->getTasTransferFly(); + return $this->getTasAssignLocationAdhoc(); break; case 17: - return $this->getTasLastAssigned(); + return $this->getTasTransferFly(); break; case 18: - return $this->getTasUser(); + return $this->getTasLastAssigned(); break; case 19: - return $this->getTasCanUpload(); + return $this->getTasUser(); break; case 20: - return $this->getTasViewUpload(); + return $this->getTasCanUpload(); break; case 21: - return $this->getTasViewAdditionalDocumentation(); + return $this->getTasViewUpload(); break; case 22: - return $this->getTasCanCancel(); + return $this->getTasViewAdditionalDocumentation(); break; case 23: - return $this->getTasOwnerApp(); + return $this->getTasCanCancel(); break; case 24: - return $this->getStgUid(); + return $this->getTasOwnerApp(); break; case 25: - return $this->getTasCanPause(); + return $this->getStgUid(); break; case 26: - return $this->getTasCanSendMessage(); + return $this->getTasCanPause(); break; case 27: - return $this->getTasCanDeleteDocs(); + return $this->getTasCanSendMessage(); break; case 28: - return $this->getTasSelfService(); + return $this->getTasCanDeleteDocs(); break; case 29: - return $this->getTasStart(); + return $this->getTasSelfService(); break; case 30: - return $this->getTasToLastUser(); + return $this->getTasStart(); break; case 31: - return $this->getTasSendLastEmail(); + return $this->getTasToLastUser(); break; case 32: - return $this->getTasDerivation(); + return $this->getTasSendLastEmail(); break; case 33: - return $this->getTasPosx(); + return $this->getTasDerivation(); break; case 34: - return $this->getTasPosy(); + return $this->getTasPosx(); break; case 35: - return $this->getTasWidth(); + return $this->getTasPosy(); break; case 36: - return $this->getTasHeight(); + return $this->getTasWidth(); break; case 37: - return $this->getTasColor(); + return $this->getTasHeight(); break; case 38: - return $this->getTasEvnUid(); + return $this->getTasColor(); break; case 39: - return $this->getTasBoundary(); + return $this->getTasEvnUid(); break; case 40: + return $this->getTasBoundary(); + break; + case 41: return $this->getTasDerivationScreenTpl(); break; default: @@ -2091,35 +2135,36 @@ abstract class BaseTask extends BaseObject implements Persistent $keys[9] => $this->getTasPriorityVariable(), $keys[10] => $this->getTasAssignType(), $keys[11] => $this->getTasAssignVariable(), - $keys[12] => $this->getTasMiInstanceVariable(), - $keys[13] => $this->getTasMiCompleteVariable(), - $keys[14] => $this->getTasAssignLocation(), - $keys[15] => $this->getTasAssignLocationAdhoc(), - $keys[16] => $this->getTasTransferFly(), - $keys[17] => $this->getTasLastAssigned(), - $keys[18] => $this->getTasUser(), - $keys[19] => $this->getTasCanUpload(), - $keys[20] => $this->getTasViewUpload(), - $keys[21] => $this->getTasViewAdditionalDocumentation(), - $keys[22] => $this->getTasCanCancel(), - $keys[23] => $this->getTasOwnerApp(), - $keys[24] => $this->getStgUid(), - $keys[25] => $this->getTasCanPause(), - $keys[26] => $this->getTasCanSendMessage(), - $keys[27] => $this->getTasCanDeleteDocs(), - $keys[28] => $this->getTasSelfService(), - $keys[29] => $this->getTasStart(), - $keys[30] => $this->getTasToLastUser(), - $keys[31] => $this->getTasSendLastEmail(), - $keys[32] => $this->getTasDerivation(), - $keys[33] => $this->getTasPosx(), - $keys[34] => $this->getTasPosy(), - $keys[35] => $this->getTasWidth(), - $keys[36] => $this->getTasHeight(), - $keys[37] => $this->getTasColor(), - $keys[38] => $this->getTasEvnUid(), - $keys[39] => $this->getTasBoundary(), - $keys[40] => $this->getTasDerivationScreenTpl(), + $keys[12] => $this->getTasGroupVariable(), + $keys[13] => $this->getTasMiInstanceVariable(), + $keys[14] => $this->getTasMiCompleteVariable(), + $keys[15] => $this->getTasAssignLocation(), + $keys[16] => $this->getTasAssignLocationAdhoc(), + $keys[17] => $this->getTasTransferFly(), + $keys[18] => $this->getTasLastAssigned(), + $keys[19] => $this->getTasUser(), + $keys[20] => $this->getTasCanUpload(), + $keys[21] => $this->getTasViewUpload(), + $keys[22] => $this->getTasViewAdditionalDocumentation(), + $keys[23] => $this->getTasCanCancel(), + $keys[24] => $this->getTasOwnerApp(), + $keys[25] => $this->getStgUid(), + $keys[26] => $this->getTasCanPause(), + $keys[27] => $this->getTasCanSendMessage(), + $keys[28] => $this->getTasCanDeleteDocs(), + $keys[29] => $this->getTasSelfService(), + $keys[30] => $this->getTasStart(), + $keys[31] => $this->getTasToLastUser(), + $keys[32] => $this->getTasSendLastEmail(), + $keys[33] => $this->getTasDerivation(), + $keys[34] => $this->getTasPosx(), + $keys[35] => $this->getTasPosy(), + $keys[36] => $this->getTasWidth(), + $keys[37] => $this->getTasHeight(), + $keys[38] => $this->getTasColor(), + $keys[39] => $this->getTasEvnUid(), + $keys[40] => $this->getTasBoundary(), + $keys[41] => $this->getTasDerivationScreenTpl(), ); return $result; } @@ -2188,90 +2233,93 @@ abstract class BaseTask extends BaseObject implements Persistent $this->setTasAssignVariable($value); break; case 12: - $this->setTasMiInstanceVariable($value); + $this->setTasGroupVariable($value); break; case 13: - $this->setTasMiCompleteVariable($value); + $this->setTasMiInstanceVariable($value); break; case 14: - $this->setTasAssignLocation($value); + $this->setTasMiCompleteVariable($value); break; case 15: - $this->setTasAssignLocationAdhoc($value); + $this->setTasAssignLocation($value); break; case 16: - $this->setTasTransferFly($value); + $this->setTasAssignLocationAdhoc($value); break; case 17: - $this->setTasLastAssigned($value); + $this->setTasTransferFly($value); break; case 18: - $this->setTasUser($value); + $this->setTasLastAssigned($value); break; case 19: - $this->setTasCanUpload($value); + $this->setTasUser($value); break; case 20: - $this->setTasViewUpload($value); + $this->setTasCanUpload($value); break; case 21: - $this->setTasViewAdditionalDocumentation($value); + $this->setTasViewUpload($value); break; case 22: - $this->setTasCanCancel($value); + $this->setTasViewAdditionalDocumentation($value); break; case 23: - $this->setTasOwnerApp($value); + $this->setTasCanCancel($value); break; case 24: - $this->setStgUid($value); + $this->setTasOwnerApp($value); break; case 25: - $this->setTasCanPause($value); + $this->setStgUid($value); break; case 26: - $this->setTasCanSendMessage($value); + $this->setTasCanPause($value); break; case 27: - $this->setTasCanDeleteDocs($value); + $this->setTasCanSendMessage($value); break; case 28: - $this->setTasSelfService($value); + $this->setTasCanDeleteDocs($value); break; case 29: - $this->setTasStart($value); + $this->setTasSelfService($value); break; case 30: - $this->setTasToLastUser($value); + $this->setTasStart($value); break; case 31: - $this->setTasSendLastEmail($value); + $this->setTasToLastUser($value); break; case 32: - $this->setTasDerivation($value); + $this->setTasSendLastEmail($value); break; case 33: - $this->setTasPosx($value); + $this->setTasDerivation($value); break; case 34: - $this->setTasPosy($value); + $this->setTasPosx($value); break; case 35: - $this->setTasWidth($value); + $this->setTasPosy($value); break; case 36: - $this->setTasHeight($value); + $this->setTasWidth($value); break; case 37: - $this->setTasColor($value); + $this->setTasHeight($value); break; case 38: - $this->setTasEvnUid($value); + $this->setTasColor($value); break; case 39: - $this->setTasBoundary($value); + $this->setTasEvnUid($value); break; case 40: + $this->setTasBoundary($value); + break; + case 41: $this->setTasDerivationScreenTpl($value); break; } // switch() @@ -2346,119 +2394,123 @@ abstract class BaseTask extends BaseObject implements Persistent } if (array_key_exists($keys[12], $arr)) { - $this->setTasMiInstanceVariable($arr[$keys[12]]); + $this->setTasGroupVariable($arr[$keys[12]]); } if (array_key_exists($keys[13], $arr)) { - $this->setTasMiCompleteVariable($arr[$keys[13]]); + $this->setTasMiInstanceVariable($arr[$keys[13]]); } if (array_key_exists($keys[14], $arr)) { - $this->setTasAssignLocation($arr[$keys[14]]); + $this->setTasMiCompleteVariable($arr[$keys[14]]); } if (array_key_exists($keys[15], $arr)) { - $this->setTasAssignLocationAdhoc($arr[$keys[15]]); + $this->setTasAssignLocation($arr[$keys[15]]); } if (array_key_exists($keys[16], $arr)) { - $this->setTasTransferFly($arr[$keys[16]]); + $this->setTasAssignLocationAdhoc($arr[$keys[16]]); } if (array_key_exists($keys[17], $arr)) { - $this->setTasLastAssigned($arr[$keys[17]]); + $this->setTasTransferFly($arr[$keys[17]]); } if (array_key_exists($keys[18], $arr)) { - $this->setTasUser($arr[$keys[18]]); + $this->setTasLastAssigned($arr[$keys[18]]); } if (array_key_exists($keys[19], $arr)) { - $this->setTasCanUpload($arr[$keys[19]]); + $this->setTasUser($arr[$keys[19]]); } if (array_key_exists($keys[20], $arr)) { - $this->setTasViewUpload($arr[$keys[20]]); + $this->setTasCanUpload($arr[$keys[20]]); } if (array_key_exists($keys[21], $arr)) { - $this->setTasViewAdditionalDocumentation($arr[$keys[21]]); + $this->setTasViewUpload($arr[$keys[21]]); } if (array_key_exists($keys[22], $arr)) { - $this->setTasCanCancel($arr[$keys[22]]); + $this->setTasViewAdditionalDocumentation($arr[$keys[22]]); } if (array_key_exists($keys[23], $arr)) { - $this->setTasOwnerApp($arr[$keys[23]]); + $this->setTasCanCancel($arr[$keys[23]]); } if (array_key_exists($keys[24], $arr)) { - $this->setStgUid($arr[$keys[24]]); + $this->setTasOwnerApp($arr[$keys[24]]); } if (array_key_exists($keys[25], $arr)) { - $this->setTasCanPause($arr[$keys[25]]); + $this->setStgUid($arr[$keys[25]]); } if (array_key_exists($keys[26], $arr)) { - $this->setTasCanSendMessage($arr[$keys[26]]); + $this->setTasCanPause($arr[$keys[26]]); } if (array_key_exists($keys[27], $arr)) { - $this->setTasCanDeleteDocs($arr[$keys[27]]); + $this->setTasCanSendMessage($arr[$keys[27]]); } if (array_key_exists($keys[28], $arr)) { - $this->setTasSelfService($arr[$keys[28]]); + $this->setTasCanDeleteDocs($arr[$keys[28]]); } if (array_key_exists($keys[29], $arr)) { - $this->setTasStart($arr[$keys[29]]); + $this->setTasSelfService($arr[$keys[29]]); } if (array_key_exists($keys[30], $arr)) { - $this->setTasToLastUser($arr[$keys[30]]); + $this->setTasStart($arr[$keys[30]]); } if (array_key_exists($keys[31], $arr)) { - $this->setTasSendLastEmail($arr[$keys[31]]); + $this->setTasToLastUser($arr[$keys[31]]); } if (array_key_exists($keys[32], $arr)) { - $this->setTasDerivation($arr[$keys[32]]); + $this->setTasSendLastEmail($arr[$keys[32]]); } if (array_key_exists($keys[33], $arr)) { - $this->setTasPosx($arr[$keys[33]]); + $this->setTasDerivation($arr[$keys[33]]); } if (array_key_exists($keys[34], $arr)) { - $this->setTasPosy($arr[$keys[34]]); + $this->setTasPosx($arr[$keys[34]]); } if (array_key_exists($keys[35], $arr)) { - $this->setTasWidth($arr[$keys[35]]); + $this->setTasPosy($arr[$keys[35]]); } if (array_key_exists($keys[36], $arr)) { - $this->setTasHeight($arr[$keys[36]]); + $this->setTasWidth($arr[$keys[36]]); } if (array_key_exists($keys[37], $arr)) { - $this->setTasColor($arr[$keys[37]]); + $this->setTasHeight($arr[$keys[37]]); } if (array_key_exists($keys[38], $arr)) { - $this->setTasEvnUid($arr[$keys[38]]); + $this->setTasColor($arr[$keys[38]]); } if (array_key_exists($keys[39], $arr)) { - $this->setTasBoundary($arr[$keys[39]]); + $this->setTasEvnUid($arr[$keys[39]]); } if (array_key_exists($keys[40], $arr)) { - $this->setTasDerivationScreenTpl($arr[$keys[40]]); + $this->setTasBoundary($arr[$keys[40]]); + } + + if (array_key_exists($keys[41], $arr)) { + $this->setTasDerivationScreenTpl($arr[$keys[41]]); } } @@ -2520,6 +2572,10 @@ abstract class BaseTask extends BaseObject implements Persistent $criteria->add(TaskPeer::TAS_ASSIGN_VARIABLE, $this->tas_assign_variable); } + if ($this->isColumnModified(TaskPeer::TAS_GROUP_VARIABLE)) { + $criteria->add(TaskPeer::TAS_GROUP_VARIABLE, $this->tas_group_variable); + } + if ($this->isColumnModified(TaskPeer::TAS_MI_INSTANCE_VARIABLE)) { $criteria->add(TaskPeer::TAS_MI_INSTANCE_VARIABLE, $this->tas_mi_instance_variable); } @@ -2712,6 +2768,8 @@ abstract class BaseTask extends BaseObject implements Persistent $copyObj->setTasAssignVariable($this->tas_assign_variable); + $copyObj->setTasGroupVariable($this->tas_group_variable); + $copyObj->setTasMiInstanceVariable($this->tas_mi_instance_variable); $copyObj->setTasMiCompleteVariable($this->tas_mi_complete_variable); diff --git a/workflow/engine/classes/model/om/BaseTaskPeer.php b/workflow/engine/classes/model/om/BaseTaskPeer.php index e0a034320..39385d448 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 = 41; + const NUM_COLUMNS = 42; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -67,6 +67,9 @@ abstract class BaseTaskPeer /** the column name for the TAS_ASSIGN_VARIABLE field */ const TAS_ASSIGN_VARIABLE = 'TASK.TAS_ASSIGN_VARIABLE'; + /** the column name for the TAS_GROUP_VARIABLE field */ + const TAS_GROUP_VARIABLE = 'TASK.TAS_GROUP_VARIABLE'; + /** the column name for the TAS_MI_INSTANCE_VARIABLE field */ const TAS_MI_INSTANCE_VARIABLE = 'TASK.TAS_MI_INSTANCE_VARIABLE'; @@ -165,10 +168,10 @@ abstract class BaseTaskPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('ProUid', 'TasUid', 'TasType', 'TasDuration', 'TasDelayType', 'TasTemporizer', 'TasTypeDay', 'TasTimeunit', 'TasAlert', 'TasPriorityVariable', 'TasAssignType', 'TasAssignVariable', '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', ), - BasePeer::TYPE_COLNAME => array (TaskPeer::PRO_UID, TaskPeer::TAS_UID, 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_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, ), - BasePeer::TYPE_FIELDNAME => array ('PRO_UID', 'TAS_UID', '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_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', ), - 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, ) + BasePeer::TYPE_PHPNAME => array ('ProUid', 'TasUid', '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', ), + BasePeer::TYPE_COLNAME => array (TaskPeer::PRO_UID, TaskPeer::TAS_UID, 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, ), + BasePeer::TYPE_FIELDNAME => array ('PRO_UID', 'TAS_UID', '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', ), + 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, ) ); /** @@ -178,10 +181,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, 'TasType' => 2, 'TasDuration' => 3, 'TasDelayType' => 4, 'TasTemporizer' => 5, 'TasTypeDay' => 6, 'TasTimeunit' => 7, 'TasAlert' => 8, 'TasPriorityVariable' => 9, 'TasAssignType' => 10, 'TasAssignVariable' => 11, 'TasMiInstanceVariable' => 12, 'TasMiCompleteVariable' => 13, 'TasAssignLocation' => 14, 'TasAssignLocationAdhoc' => 15, 'TasTransferFly' => 16, 'TasLastAssigned' => 17, 'TasUser' => 18, 'TasCanUpload' => 19, 'TasViewUpload' => 20, 'TasViewAdditionalDocumentation' => 21, 'TasCanCancel' => 22, 'TasOwnerApp' => 23, 'StgUid' => 24, 'TasCanPause' => 25, 'TasCanSendMessage' => 26, 'TasCanDeleteDocs' => 27, 'TasSelfService' => 28, 'TasStart' => 29, 'TasToLastUser' => 30, 'TasSendLastEmail' => 31, 'TasDerivation' => 32, 'TasPosx' => 33, 'TasPosy' => 34, 'TasWidth' => 35, 'TasHeight' => 36, 'TasColor' => 37, 'TasEvnUid' => 38, 'TasBoundary' => 39, 'TasDerivationScreenTpl' => 40, ), - BasePeer::TYPE_COLNAME => array (TaskPeer::PRO_UID => 0, TaskPeer::TAS_UID => 1, TaskPeer::TAS_TYPE => 2, TaskPeer::TAS_DURATION => 3, TaskPeer::TAS_DELAY_TYPE => 4, TaskPeer::TAS_TEMPORIZER => 5, TaskPeer::TAS_TYPE_DAY => 6, TaskPeer::TAS_TIMEUNIT => 7, TaskPeer::TAS_ALERT => 8, TaskPeer::TAS_PRIORITY_VARIABLE => 9, TaskPeer::TAS_ASSIGN_TYPE => 10, TaskPeer::TAS_ASSIGN_VARIABLE => 11, TaskPeer::TAS_MI_INSTANCE_VARIABLE => 12, TaskPeer::TAS_MI_COMPLETE_VARIABLE => 13, TaskPeer::TAS_ASSIGN_LOCATION => 14, TaskPeer::TAS_ASSIGN_LOCATION_ADHOC => 15, TaskPeer::TAS_TRANSFER_FLY => 16, TaskPeer::TAS_LAST_ASSIGNED => 17, TaskPeer::TAS_USER => 18, TaskPeer::TAS_CAN_UPLOAD => 19, TaskPeer::TAS_VIEW_UPLOAD => 20, TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION => 21, TaskPeer::TAS_CAN_CANCEL => 22, TaskPeer::TAS_OWNER_APP => 23, TaskPeer::STG_UID => 24, TaskPeer::TAS_CAN_PAUSE => 25, TaskPeer::TAS_CAN_SEND_MESSAGE => 26, TaskPeer::TAS_CAN_DELETE_DOCS => 27, TaskPeer::TAS_SELF_SERVICE => 28, TaskPeer::TAS_START => 29, TaskPeer::TAS_TO_LAST_USER => 30, TaskPeer::TAS_SEND_LAST_EMAIL => 31, TaskPeer::TAS_DERIVATION => 32, TaskPeer::TAS_POSX => 33, TaskPeer::TAS_POSY => 34, TaskPeer::TAS_WIDTH => 35, TaskPeer::TAS_HEIGHT => 36, TaskPeer::TAS_COLOR => 37, TaskPeer::TAS_EVN_UID => 38, TaskPeer::TAS_BOUNDARY => 39, TaskPeer::TAS_DERIVATION_SCREEN_TPL => 40, ), - BasePeer::TYPE_FIELDNAME => array ('PRO_UID' => 0, 'TAS_UID' => 1, 'TAS_TYPE' => 2, 'TAS_DURATION' => 3, 'TAS_DELAY_TYPE' => 4, 'TAS_TEMPORIZER' => 5, 'TAS_TYPE_DAY' => 6, 'TAS_TIMEUNIT' => 7, 'TAS_ALERT' => 8, 'TAS_PRIORITY_VARIABLE' => 9, 'TAS_ASSIGN_TYPE' => 10, 'TAS_ASSIGN_VARIABLE' => 11, 'TAS_MI_INSTANCE_VARIABLE' => 12, 'TAS_MI_COMPLETE_VARIABLE' => 13, 'TAS_ASSIGN_LOCATION' => 14, 'TAS_ASSIGN_LOCATION_ADHOC' => 15, 'TAS_TRANSFER_FLY' => 16, 'TAS_LAST_ASSIGNED' => 17, 'TAS_USER' => 18, 'TAS_CAN_UPLOAD' => 19, 'TAS_VIEW_UPLOAD' => 20, 'TAS_VIEW_ADDITIONAL_DOCUMENTATION' => 21, 'TAS_CAN_CANCEL' => 22, 'TAS_OWNER_APP' => 23, 'STG_UID' => 24, 'TAS_CAN_PAUSE' => 25, 'TAS_CAN_SEND_MESSAGE' => 26, 'TAS_CAN_DELETE_DOCS' => 27, 'TAS_SELF_SERVICE' => 28, 'TAS_START' => 29, 'TAS_TO_LAST_USER' => 30, 'TAS_SEND_LAST_EMAIL' => 31, 'TAS_DERIVATION' => 32, 'TAS_POSX' => 33, 'TAS_POSY' => 34, 'TAS_WIDTH' => 35, 'TAS_HEIGHT' => 36, 'TAS_COLOR' => 37, 'TAS_EVN_UID' => 38, 'TAS_BOUNDARY' => 39, 'TAS_DERIVATION_SCREEN_TPL' => 40, ), - 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, ) + BasePeer::TYPE_PHPNAME => array ('ProUid' => 0, 'TasUid' => 1, 'TasType' => 2, 'TasDuration' => 3, 'TasDelayType' => 4, 'TasTemporizer' => 5, 'TasTypeDay' => 6, 'TasTimeunit' => 7, 'TasAlert' => 8, 'TasPriorityVariable' => 9, 'TasAssignType' => 10, 'TasAssignVariable' => 11, 'TasGroupVariable' => 12, 'TasMiInstanceVariable' => 13, 'TasMiCompleteVariable' => 14, 'TasAssignLocation' => 15, 'TasAssignLocationAdhoc' => 16, 'TasTransferFly' => 17, 'TasLastAssigned' => 18, 'TasUser' => 19, 'TasCanUpload' => 20, 'TasViewUpload' => 21, 'TasViewAdditionalDocumentation' => 22, 'TasCanCancel' => 23, 'TasOwnerApp' => 24, 'StgUid' => 25, 'TasCanPause' => 26, 'TasCanSendMessage' => 27, 'TasCanDeleteDocs' => 28, 'TasSelfService' => 29, 'TasStart' => 30, 'TasToLastUser' => 31, 'TasSendLastEmail' => 32, 'TasDerivation' => 33, 'TasPosx' => 34, 'TasPosy' => 35, 'TasWidth' => 36, 'TasHeight' => 37, 'TasColor' => 38, 'TasEvnUid' => 39, 'TasBoundary' => 40, 'TasDerivationScreenTpl' => 41, ), + BasePeer::TYPE_COLNAME => array (TaskPeer::PRO_UID => 0, TaskPeer::TAS_UID => 1, TaskPeer::TAS_TYPE => 2, TaskPeer::TAS_DURATION => 3, TaskPeer::TAS_DELAY_TYPE => 4, TaskPeer::TAS_TEMPORIZER => 5, TaskPeer::TAS_TYPE_DAY => 6, TaskPeer::TAS_TIMEUNIT => 7, TaskPeer::TAS_ALERT => 8, TaskPeer::TAS_PRIORITY_VARIABLE => 9, TaskPeer::TAS_ASSIGN_TYPE => 10, TaskPeer::TAS_ASSIGN_VARIABLE => 11, TaskPeer::TAS_GROUP_VARIABLE => 12, TaskPeer::TAS_MI_INSTANCE_VARIABLE => 13, TaskPeer::TAS_MI_COMPLETE_VARIABLE => 14, TaskPeer::TAS_ASSIGN_LOCATION => 15, TaskPeer::TAS_ASSIGN_LOCATION_ADHOC => 16, TaskPeer::TAS_TRANSFER_FLY => 17, TaskPeer::TAS_LAST_ASSIGNED => 18, TaskPeer::TAS_USER => 19, TaskPeer::TAS_CAN_UPLOAD => 20, TaskPeer::TAS_VIEW_UPLOAD => 21, TaskPeer::TAS_VIEW_ADDITIONAL_DOCUMENTATION => 22, TaskPeer::TAS_CAN_CANCEL => 23, TaskPeer::TAS_OWNER_APP => 24, TaskPeer::STG_UID => 25, TaskPeer::TAS_CAN_PAUSE => 26, TaskPeer::TAS_CAN_SEND_MESSAGE => 27, TaskPeer::TAS_CAN_DELETE_DOCS => 28, TaskPeer::TAS_SELF_SERVICE => 29, TaskPeer::TAS_START => 30, TaskPeer::TAS_TO_LAST_USER => 31, TaskPeer::TAS_SEND_LAST_EMAIL => 32, TaskPeer::TAS_DERIVATION => 33, TaskPeer::TAS_POSX => 34, TaskPeer::TAS_POSY => 35, TaskPeer::TAS_WIDTH => 36, TaskPeer::TAS_HEIGHT => 37, TaskPeer::TAS_COLOR => 38, TaskPeer::TAS_EVN_UID => 39, TaskPeer::TAS_BOUNDARY => 40, TaskPeer::TAS_DERIVATION_SCREEN_TPL => 41, ), + BasePeer::TYPE_FIELDNAME => array ('PRO_UID' => 0, 'TAS_UID' => 1, 'TAS_TYPE' => 2, 'TAS_DURATION' => 3, 'TAS_DELAY_TYPE' => 4, 'TAS_TEMPORIZER' => 5, 'TAS_TYPE_DAY' => 6, 'TAS_TIMEUNIT' => 7, 'TAS_ALERT' => 8, 'TAS_PRIORITY_VARIABLE' => 9, 'TAS_ASSIGN_TYPE' => 10, 'TAS_ASSIGN_VARIABLE' => 11, 'TAS_GROUP_VARIABLE' => 12, 'TAS_MI_INSTANCE_VARIABLE' => 13, 'TAS_MI_COMPLETE_VARIABLE' => 14, 'TAS_ASSIGN_LOCATION' => 15, 'TAS_ASSIGN_LOCATION_ADHOC' => 16, 'TAS_TRANSFER_FLY' => 17, 'TAS_LAST_ASSIGNED' => 18, 'TAS_USER' => 19, 'TAS_CAN_UPLOAD' => 20, 'TAS_VIEW_UPLOAD' => 21, 'TAS_VIEW_ADDITIONAL_DOCUMENTATION' => 22, 'TAS_CAN_CANCEL' => 23, 'TAS_OWNER_APP' => 24, 'STG_UID' => 25, 'TAS_CAN_PAUSE' => 26, 'TAS_CAN_SEND_MESSAGE' => 27, 'TAS_CAN_DELETE_DOCS' => 28, 'TAS_SELF_SERVICE' => 29, 'TAS_START' => 30, 'TAS_TO_LAST_USER' => 31, 'TAS_SEND_LAST_EMAIL' => 32, 'TAS_DERIVATION' => 33, 'TAS_POSX' => 34, 'TAS_POSY' => 35, 'TAS_WIDTH' => 36, 'TAS_HEIGHT' => 37, 'TAS_COLOR' => 38, 'TAS_EVN_UID' => 39, 'TAS_BOUNDARY' => 40, 'TAS_DERIVATION_SCREEN_TPL' => 41, ), + 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, ) ); /** @@ -306,6 +309,8 @@ abstract class BaseTaskPeer $criteria->addSelectColumn(TaskPeer::TAS_ASSIGN_VARIABLE); + $criteria->addSelectColumn(TaskPeer::TAS_GROUP_VARIABLE); + $criteria->addSelectColumn(TaskPeer::TAS_MI_INSTANCE_VARIABLE); $criteria->addSelectColumn(TaskPeer::TAS_MI_COMPLETE_VARIABLE); diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index 35e958697..a9ad1b4c1 100755 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -1162,6 +1162,7 @@ + diff --git a/workflow/engine/js/processmap/core/processes_Map.js b/workflow/engine/js/processmap/core/processes_Map.js index abebaa013..16c8eb8ca 100755 --- a/workflow/engine/js/processmap/core/processes_Map.js +++ b/workflow/engine/js/processmap/core/processes_Map.js @@ -39,6 +39,10 @@ var saveDataTaskTemporal = function(iForm) { oTaskData.TAS_ASSIGN_TYPE = 'SELF_SERVICE'; } + if (getField('TAS_ASSIGN_TYPE][SELF_SERVICE_EVALUATE').checked) + { + oTaskData.TAS_ASSIGN_TYPE = 'SELF_SERVICE_EVALUATE'; + } if (getField('TAS_ASSIGN_TYPE][REPORT_TO').checked) { oTaskData.TAS_ASSIGN_TYPE = 'REPORT_TO'; @@ -65,6 +69,7 @@ var saveDataTaskTemporal = function(iForm) oTaskData.TAS_ASSIGN_TYPE = 'CANCEL_MI'; }*/ oTaskData.TAS_ASSIGN_VARIABLE = getField('TAS_ASSIGN_VARIABLE').value; + oTaskData.TAS_GROUP_VARIABLE = getField('TAS_GROUP_VARIABLE').value; /* this feature is temporarily disabled oTaskData.TAS_MI_INSTANCE_VARIABLE = getField('TAS_MI_INSTANCE_VARIABLE').value; oTaskData.TAS_MI_COMPLETE_VARIABLE = getField('TAS_MI_COMPLETE_VARIABLE').value;*/ diff --git a/workflow/engine/methods/cases/cases_Open.php b/workflow/engine/methods/cases/cases_Open.php index d2ce533d4..48490449a 100755 --- a/workflow/engine/methods/cases/cases_Open.php +++ b/workflow/engine/methods/cases/cases_Open.php @@ -142,10 +142,11 @@ try { $_SESSION['CURRENT_TASK'] = $aFields['TAS_UID']; //if the task is in the valid selfservice tasks for this user, then catch the case, else just view the resume - if( $oCase->isSelfService($_SESSION['USER_LOGGED'], $aFields['TAS_UID']) ) { + if( $oCase->isSelfService($_SESSION['USER_LOGGED'], $aFields['TAS_UID'], $sAppUid) ) { require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_CatchSelfService.php'); - } else + } else { require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php'); + } exit; } diff --git a/workflow/engine/methods/tasks/tasks_Ajax.php b/workflow/engine/methods/tasks/tasks_Ajax.php index 2ae7bb15f..dd75579cd 100755 --- a/workflow/engine/methods/tasks/tasks_Ajax.php +++ b/workflow/engine/methods/tasks/tasks_Ajax.php @@ -64,6 +64,13 @@ try { unset($aData['TAS_DEF_MESSAGE_TEMPLATE']); } + //Validating TAS_ASSIGN_VARIABLE value + if ($aData['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE_EVALUATE') { + $aData['TAS_ASSIGN_TYPE'] = 'SELF_SERVICE'; + } else { + $aData['TAS_GROUP_VARIABLE'] = ''; + } + $result = $oTask->update($aData); $response["status"] = "OK"; diff --git a/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml b/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml index b62ac8f92..f6db54ecc 100755 --- a/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml +++ b/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml @@ -12,9 +12,13 @@ - Case to be assigned by + Case to be assigned by + + + + @@ -24,6 +28,10 @@ Variable for Value Based Assignment + + + Variable for Self Service Value Based Assignment +