Merged in jennydmz/processmaker/BY-166 (pull request #3929)

Deleting Sub Process send email  functionality in PMGmail
This commit is contained in:
Dante Loayza
2016-03-23 17:46:28 -04:00
5 changed files with 114 additions and 209 deletions

View File

@@ -5344,15 +5344,15 @@ class Cases
$sTo = $respTo['to']; $sTo = $respTo['to'];
$sCc = $respTo['cc']; $sCc = $respTo['cc'];
if($aTask["TAS_ASSIGN_TYPE"] === "SELF_SERVICE"){ if ($aTask ["TAS_ASSIGN_TYPE"] === "SELF_SERVICE") {
if ($swtplDefault == 1) { if ($swtplDefault == 1) {
G::verifyPath($pathEmail, true); //Create if it does not exist G::verifyPath ( $pathEmail, true ); // Create if it does not exist
$fileTemplate = $pathEmail . G::LoadTranslation('ID_UNASSIGNED_MESSAGE'); $fileTemplate = $pathEmail . G::LoadTranslation ( 'ID_UNASSIGNED_MESSAGE' );
if ((!file_exists($fileTemplate)) && file_exists(PATH_TPL . "mails" . PATH_SEP . G::LoadTranslation('ID_UNASSIGNED_MESSAGE'))) { if ((! file_exists ( $fileTemplate )) && file_exists ( PATH_TPL . "mails" . PATH_SEP . G::LoadTranslation ( 'ID_UNASSIGNED_MESSAGE' ) )) {
@copy(PATH_TPL . "mails" . PATH_SEP . G::LoadTranslation('ID_UNASSIGNED_MESSAGE'), $fileTemplate); @copy ( PATH_TPL . "mails" . PATH_SEP . G::LoadTranslation ( 'ID_UNASSIGNED_MESSAGE' ), $fileTemplate );
} }
$sBody2 = G::replaceDataField(file_get_contents($fileTemplate), $arrayData2); $sBody2 = G::replaceDataField ( file_get_contents ( $fileTemplate ), $arrayData2 );
} }
} }

View File

@@ -37,52 +37,6 @@ class SubApplication extends BaseSubApplication
} }
} }
public function loadSubProUidByParent($appUidParent, $delThreadParent, $delIndexParent )
{
try {
$criteria = new Criteria("workflow");
$criteria->addSelectColumn(SubApplicationPeer::APP_UID);
$criteria->add(SubApplicationPeer::APP_PARENT, $appUidParent);
$criteria->add(SubApplicationPeer::DEL_INDEX_PARENT, $delIndexParent);
$criteria->add(SubApplicationPeer::DEL_THREAD_PARENT, $delThreadParent);
$rsCriteria = SubApplicationPeer::doSelectRs($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
}
if(is_array( $row )){
return($row['APP_UID']);
}
return "";
} catch (Exception $oError) {
throw($oError);
}
}
public function loadSubProUidBySon($appUidSon, $delThreadParent, $delIndexParent )
{
try {
$criteria = new Criteria("workflow");
$criteria->addSelectColumn(SubApplicationPeer::APP_PARENT);
$criteria->add(SubApplicationPeer::APP_UID, $appUidSon);
$criteria->add(SubApplicationPeer::DEL_INDEX_PARENT, $delIndexParent);
$criteria->add(SubApplicationPeer::DEL_THREAD_PARENT, $delThreadParent);
$rsCriteria = SubApplicationPeer::doSelectRs($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
}
if(is_array( $row )){
return($row['APP_PARENT']);
}
return "";
} catch (Exception $oError) {
throw($oError);
}
}
public function create($aData) public function create($aData)
{ {
$oConnection = Propel::getConnection(SubApplicationPeer::DATABASE_NAME); $oConnection = Propel::getConnection(SubApplicationPeer::DATABASE_NAME);

View File

@@ -167,24 +167,24 @@ try {
$flagGmail = false; $flagGmail = false;
/*----------------------------------********---------------------------------*/ /*----------------------------------********---------------------------------*/
$licensedFeatures = &PMLicensedFeatures::getSingleton(); $licensedFeatures = &PMLicensedFeatures::getSingleton ();
if($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')){ if ($licensedFeatures->verifyfeature ( '7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09' )) {
G::LoadClass( "pmGoogleApi" ); G::LoadClass ( "pmGoogleApi" );
$pmGoogle = new PMGoogleApi(); $pmGoogle = new PMGoogleApi ();
if($pmGoogle->getServiceGmailStatus()){ if ($pmGoogle->getServiceGmailStatus ()) {
$flagGmail = true; $flagGmail = true;
$appDel = new AppDelegation(); $appDel = new AppDelegation ();
$actualThread = $appDel->Load($_SESSION['APPLICATION'], $_SESSION['INDEX']); $actualThread = $appDel->Load ( $_SESSION ['APPLICATION'], $_SESSION ['INDEX'] );
$appDelPrev = $appDel->LoadParallel($_SESSION['APPLICATION']); $appDelPrev = $appDel->LoadParallel ( $_SESSION ['APPLICATION'] );
$Pmgmail = new \ProcessMaker\BusinessModel\Pmgmail(); $Pmgmail = new \ProcessMaker\BusinessModel\Pmgmail ();
if(!$appDelPrev){ if (! $appDelPrev) {
$Pmgmail->sendEmail($_SESSION['APPLICATION'], "", $_SESSION['INDEX'], $_POST['form']['TASKS'], $appFields['APP_DATA']); $Pmgmail->sendEmail ( $_SESSION ['APPLICATION'], "", $_SESSION ['INDEX'], $_POST ['form'] ['TASKS'], $appFields ['APP_DATA'] );
}else{ } else {
foreach ($appDelPrev as $app){ foreach ( $appDelPrev as $app ) {
if( ($app['DEL_INDEX'] != $_SESSION['INDEX']) && ($app['DEL_PREVIOUS'] != $actualThread['DEL_PREVIOUS']) ){ if (($app ['DEL_INDEX'] != $_SESSION ['INDEX']) && ($app ['DEL_PREVIOUS'] != $actualThread ['DEL_PREVIOUS'])) {
$Pmgmail->sendEmail($_SESSION['APPLICATION'], "", $app['DEL_INDEX'], $_POST['form']['TASKS'], $appFields['APP_DATA']); $Pmgmail->sendEmail ( $_SESSION ['APPLICATION'], "", $app ['DEL_INDEX'], $_POST ['form'] ['TASKS'], $appFields ['APP_DATA'] );
} }
} }
} }
@@ -254,13 +254,13 @@ try {
$debuggerAvailable = true; $debuggerAvailable = true;
$casesRedirector = 'casesListExtJsRedirector'; $casesRedirector = 'casesListExtJsRedirector';
if (isset( $_SESSION['user_experience'] ) && $flagGmail === false ) { if (isset ( $_SESSION ['user_experience'] ) && $flagGmail === false) {
$aNextStep['PAGE'] = $casesRedirector.'?ux=' . $_SESSION['user_experience']; $aNextStep ['PAGE'] = $casesRedirector . '?ux=' . $_SESSION ['user_experience'];
$debuggerAvailable = false; $debuggerAvailable = false;
} else if( $flagGmail == true ){ } else if ($flagGmail == true) {
$aNextStep['PAGE'] = $casesRedirector.'?gmail=1'; $aNextStep ['PAGE'] = $casesRedirector . '?gmail=1';
} else { } else {
$aNextStep['PAGE'] = $casesRedirector; $aNextStep ['PAGE'] = $casesRedirector;
} }
if (isset( $_SESSION['PMDEBUGGER'] ) && $_SESSION['PMDEBUGGER'] && $debuggerAvailable) { if (isset( $_SESSION['PMDEBUGGER'] ) && $_SESSION['PMDEBUGGER'] && $debuggerAvailable) {

View File

@@ -115,10 +115,6 @@ class Pmgmail {
} }
$appData = $this->getDraftApp($app_uid, $index); $appData = $this->getDraftApp($app_uid, $index);
if (!$appData){
$appData = $this->getDraftApp($app_uid, $index-1);
}
foreach ($appData as $application) { foreach ($appData as $application) {
$appNumber = $application['APP_NUMBER']; $appNumber = $application['APP_NUMBER'];
$appStatus = $application['APP_STATUS']; $appStatus = $application['APP_STATUS'];
@@ -139,99 +135,52 @@ class Pmgmail {
$labelID = "PMIBX"; $labelID = "PMIBX";
} }
if ((string)$mailToAddresses === "") { if (( string ) $mailToAddresses === "") {
if ($arrayTask) { if ($arrayTask) {
$oCases = new \Cases(); $oCases = new \Cases ();
foreach ($arrayTask as $aTask) { foreach ( $arrayTask as $aTask ) {
if(!isset($aTask["USR_UID"])){ if (! isset ( $aTask ["USR_UID"] )) {
$aTask["USR_UID"] = ""; $aTask ["USR_UID"] = "";
} }
$respTo = $oCases->getTo($aTask["TAS_ASSIGN_TYPE"], $aTask["TAS_UID"], $aTask["USR_UID"], $arrayData); $respTo = $oCases->getTo ( $aTask ["TAS_ASSIGN_TYPE"], $aTask ["TAS_UID"], $aTask ["USR_UID"], $arrayData );
$mailToAddresses = $respTo['to']; $mailToAddresses = $respTo ['to'];
$mailCcAddresses = $respTo['cc']; $mailCcAddresses = $respTo ['cc'];
if($aTask["TAS_ASSIGN_TYPE"] === "SELF_SERVICE"){ if ($aTask ["TAS_ASSIGN_TYPE"] === "SELF_SERVICE") {
$labelID = "PMUASS"; $labelID = "PMUASS";
if ((string)$mailToAddresses === ""){ // Self Service Value Based if (( string ) $mailToAddresses === "") { // Self Service Value Based
$criteria = new \Criteria("workflow"); $criteria = new \Criteria ( "workflow" );
$criteria->addSelectColumn(\AppAssignSelfServiceValuePeer::GRP_UID); $criteria->addSelectColumn ( \AppAssignSelfServiceValuePeer::GRP_UID );
$criteria->add(\AppAssignSelfServiceValuePeer::APP_UID, $app_uid); $criteria->add ( \AppAssignSelfServiceValuePeer::APP_UID, $app_uid );
$rsCriteria = \AppAssignSelfServiceValuePeer::doSelectRs($criteria); $rsCriteria = \AppAssignSelfServiceValuePeer::doSelectRs ( $criteria );
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $rsCriteria->setFetchmode ( \ResultSet::FETCHMODE_ASSOC );
while ($rsCriteria->next()) { while ( $rsCriteria->next () ) {
$row = $rsCriteria->getRow(); $row = $rsCriteria->getRow ();
} }
$taskUsers = unserialize($row['GRP_UID']); $taskUsers = unserialize ( $row ['GRP_UID'] );
$oUsers = new \Users ();
foreach ($taskUsers as $user) { if ($taskUsers !== false){
$oUsers = new \Users(); foreach ( $taskUsers as $user ) {
$usrData = $oUsers->loadDetails($user); $usrData = $oUsers->loadDetails ( $user );
$nextMail = $usrData['USR_EMAIL']; $nextMail = $usrData ['USR_EMAIL'];
$mailToAddresses .= ($mailToAddresses == '') ? $nextMail : ',' . $nextMail; $mailToAddresses .= ($mailToAddresses == '') ? $nextMail : ',' . $nextMail;
} }
} else {
$usrData = $oUsers->loadDetails ( $user );
$mailToAddresses = $usrData ['USR_EMAIL'];
}
}
}
} }
} else { } else {
if (!$aTask["TAS_PARENT"]){ $oUsers = new \Users ();
$aTask["TAS_PARENT"] = $tasUid;
}
$oTask = new \Task();
$aTaskInfo = $oTask->load($aTask["TAS_PARENT"]);
$oSubPro = new \SubApplication(); $usrData = $oUsers->loadDetails ( $nextUsr );
$subProAppUid = ""; $mailToAddresses = $usrData ['USR_EMAIL'];
if( ($aTaskInfo["TAS_TYPE"] === "SUBPROCESS") ){
$subProAppUid = $oSubPro->loadSubProUidByParent($app_uid, $index, $index+1);
} else if($aTask['TAS_UID'] == -1 && $aTask['TAS_ASSIGN_TYPE'] == "nobody"){
$subProAppUid = $oSubPro->loadSubProUidBySon($app_uid, $index, $index+1);
$appDel = new \AppDelegation();
$actualThread = $appDel->Load($subProAppUid, $index+1);
$index = $actualThread['DEL_INDEX']+1;
$aCriteria = new \Criteria("workflow");
$aCriteria->addSelectColumn(\RoutePeer::ROU_NEXT_TASK);
$aCriteria->add(\RoutePeer::TAS_UID, $actualThread['TAS_UID']);
$roCriteria = \RoutePeer::doSelectRs($aCriteria);
$roCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
while ($roCriteria->next()) {
$rowTas = $roCriteria->getRow();
}
$aTaskInfo = $oTask->load($rowTas['ROU_NEXT_TASK']);
$newTask = new \Tasks();
$aTaskUsers = $newTask->getUsersOfTask($rowTas['ROU_NEXT_TASK'],1);
foreach ($aTaskUsers as $user) {
$nextMail = $user['USR_EMAIL'];
$mailToAddresses .= ($mailToAddresses == '') ? $nextMail : ',' . $nextMail;
}
}
if($subProAppUid !== ""){
$subProData = $oApplication->Load($subProAppUid);
$oProcess = new \Processes();
$proInfo = $oProcess->getProcessRow($subProData['PRO_UID']);
$appNumber = $subProData['APP_NUMBER'];
$app_uid = $subProAppUid;
$tasName = $aTaskInfo["TAS_TITLE"];
$appStatus = $subProData['APP_STATUS'];
$prvUsr = $nextUsr;
$delegateDate = $subProData['APP_CREATE_DATE'];
$proName = $proInfo['PRO_TITLE'];
}
}
}
}else {
$oUsers = new \Users();
$usrData = $oUsers->loadDetails($nextUsr);
$mailToAddresses = $usrData['USR_EMAIL'];
} }
} }

View File

@@ -26,15 +26,15 @@ curl_setopt( $gCurl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($gCurl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($gCurl, CURLOPT_SSL_VERIFYHOST, false);
if(curl_exec($gCurl) === false){ if (curl_exec ( $gCurl ) === false) {
echo 'Curl error: ' . curl_error($gCurl); echo 'Curl error: ' . curl_error ( $gCurl );
} else { } else {
$gCurl_response = curl_exec($gCurl); $gCurl_response = curl_exec ( $gCurl );
curl_close($gCurl); curl_close ( $gCurl );
$gResp = G::json_decode($gCurl_response); $gResp = G::json_decode ( $gCurl_response );
if ($gResp === false) { if ($gResp === false) {
echo Bootstrap::LoadTranslation('ID_NO_LICENSE_FEATURE_ENABLED'); echo Bootstrap::LoadTranslation ( 'ID_NO_LICENSE_FEATURE_ENABLED' );
die; die ();
} }
} }
set_time_limit(60); set_time_limit(60);
@@ -125,12 +125,14 @@ if( !isset($_SESSION['USER_LOGGED']) || $_SESSION['USER_LOGGED'] != $decodedResp
if ($action == "draft"){ if ($action == "draft"){
//sending the email //sending the email
$curlApp = curl_init( 'https://' . $server . '/api/1.0/' . $pmws . '/gmailIntegration/sendEmail/' . $appUid . '/to/' . $gmail . '/index/' . $delIndex ); $curlApp = curl_init( 'https://' . $server . '/api/1.0/' . $pmws . '/gmailIntegration/sendEmail/' . $appUid . '/to/' . $gmail . '/index/' . $delIndex );
curl_setopt( $curlApp, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $pmtoken ) ); curl_setopt ( $curlApp, CURLOPT_HTTPHEADER, array (
curl_setopt( $curlApp, CURLOPT_CUSTOMREQUEST, "POST"); 'Authorization: Bearer ' . $pmtoken
curl_setopt( $curlApp, CURLOPT_RETURNTRANSFER, true); ) );
curl_setopt( $curlApp, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ( $curlApp, CURLOPT_CUSTOMREQUEST, "POST" );
curl_setopt( $curlApp, CURLOPT_SSL_VERIFYHOST, false); curl_setopt ( $curlApp, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curlApp, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt ( $curlApp, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt ( $curlApp, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt ( $curlApp, CURLOPT_CONNECTTIMEOUT, 0 );
$curl_response_app = curl_exec( $curlApp ); $curl_response_app = curl_exec( $curlApp );
curl_close( $curlApp ); curl_close( $curlApp );