Deleting Sub Process send email functionality in PMGmail
This commit is contained in:
@@ -5342,18 +5342,18 @@ class Cases
|
||||
|
||||
$respTo = $this->getTo($aTask["TAS_ASSIGN_TYPE"], $aTask["TAS_UID"], $aTask["USR_UID"], $arrayData);
|
||||
$sTo = $respTo['to'];
|
||||
$sCc = $respTo['cc'];
|
||||
|
||||
if($aTask["TAS_ASSIGN_TYPE"] === "SELF_SERVICE"){
|
||||
if ($swtplDefault == 1) {
|
||||
G::verifyPath($pathEmail, true); //Create if it does not exist
|
||||
$fileTemplate = $pathEmail . 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);
|
||||
}
|
||||
$sBody2 = G::replaceDataField(file_get_contents($fileTemplate), $arrayData2);
|
||||
}
|
||||
$sCc = $respTo['cc'];
|
||||
|
||||
if ($aTask ["TAS_ASSIGN_TYPE"] === "SELF_SERVICE") {
|
||||
if ($swtplDefault == 1) {
|
||||
G::verifyPath ( $pathEmail, true ); // Create if it does not exist
|
||||
$fileTemplate = $pathEmail . 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 );
|
||||
}
|
||||
$sBody2 = G::replaceDataField ( file_get_contents ( $fileTemplate ), $arrayData2 );
|
||||
}
|
||||
}
|
||||
|
||||
if ($sTo != null) {
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
$oConnection = Propel::getConnection(SubApplicationPeer::DATABASE_NAME);
|
||||
|
||||
@@ -163,32 +163,32 @@ 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'] . '>' : '');
|
||||
|
||||
$flagGmail = false;
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$licensedFeatures = &PMLicensedFeatures::getSingleton();
|
||||
if($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')){
|
||||
G::LoadClass( "pmGoogleApi" );
|
||||
$pmGoogle = new PMGoogleApi();
|
||||
if($pmGoogle->getServiceGmailStatus()){
|
||||
$flagGmail = true;
|
||||
|
||||
$appDel = new AppDelegation();
|
||||
$actualThread = $appDel->Load($_SESSION['APPLICATION'], $_SESSION['INDEX']);
|
||||
$sFromName = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . ($aUser['USR_EMAIL'] != '' ? ' <' . $aUser['USR_EMAIL'] . '>' : '');
|
||||
|
||||
$appDelPrev = $appDel->LoadParallel($_SESSION['APPLICATION']);
|
||||
$Pmgmail = new \ProcessMaker\BusinessModel\Pmgmail();
|
||||
if(!$appDelPrev){
|
||||
$Pmgmail->sendEmail($_SESSION['APPLICATION'], "", $_SESSION['INDEX'], $_POST['form']['TASKS'], $appFields['APP_DATA']);
|
||||
}else{
|
||||
foreach ($appDelPrev as $app){
|
||||
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']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$flagGmail = false;
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$licensedFeatures = &PMLicensedFeatures::getSingleton ();
|
||||
if ($licensedFeatures->verifyfeature ( '7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09' )) {
|
||||
G::LoadClass ( "pmGoogleApi" );
|
||||
$pmGoogle = new PMGoogleApi ();
|
||||
if ($pmGoogle->getServiceGmailStatus ()) {
|
||||
$flagGmail = true;
|
||||
|
||||
$appDel = new AppDelegation ();
|
||||
$actualThread = $appDel->Load ( $_SESSION ['APPLICATION'], $_SESSION ['INDEX'] );
|
||||
|
||||
$appDelPrev = $appDel->LoadParallel ( $_SESSION ['APPLICATION'] );
|
||||
$Pmgmail = new \ProcessMaker\BusinessModel\Pmgmail ();
|
||||
if (! $appDelPrev) {
|
||||
$Pmgmail->sendEmail ( $_SESSION ['APPLICATION'], "", $_SESSION ['INDEX'], $_POST ['form'] ['TASKS'], $appFields ['APP_DATA'] );
|
||||
} else {
|
||||
foreach ( $appDelPrev as $app ) {
|
||||
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'] );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
@@ -251,16 +251,16 @@ try {
|
||||
// Set users drive - End
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
$debuggerAvailable = true;
|
||||
|
||||
$casesRedirector = 'casesListExtJsRedirector';
|
||||
if (isset( $_SESSION['user_experience'] ) && $flagGmail === false ) {
|
||||
$aNextStep['PAGE'] = $casesRedirector.'?ux=' . $_SESSION['user_experience'];
|
||||
$debuggerAvailable = false;
|
||||
} else if( $flagGmail == true ){
|
||||
$aNextStep['PAGE'] = $casesRedirector.'?gmail=1';
|
||||
} else {
|
||||
$aNextStep['PAGE'] = $casesRedirector;
|
||||
$debuggerAvailable = true;
|
||||
|
||||
$casesRedirector = 'casesListExtJsRedirector';
|
||||
if (isset ( $_SESSION ['user_experience'] ) && $flagGmail === false) {
|
||||
$aNextStep ['PAGE'] = $casesRedirector . '?ux=' . $_SESSION ['user_experience'];
|
||||
$debuggerAvailable = false;
|
||||
} else if ($flagGmail == true) {
|
||||
$aNextStep ['PAGE'] = $casesRedirector . '?gmail=1';
|
||||
} else {
|
||||
$aNextStep ['PAGE'] = $casesRedirector;
|
||||
}
|
||||
|
||||
if (isset( $_SESSION['PMDEBUGGER'] ) && $_SESSION['PMDEBUGGER'] && $debuggerAvailable) {
|
||||
|
||||
@@ -115,10 +115,6 @@ class Pmgmail {
|
||||
}
|
||||
$appData = $this->getDraftApp($app_uid, $index);
|
||||
|
||||
if (!$appData){
|
||||
$appData = $this->getDraftApp($app_uid, $index-1);
|
||||
}
|
||||
|
||||
foreach ($appData as $application) {
|
||||
$appNumber = $application['APP_NUMBER'];
|
||||
$appStatus = $application['APP_STATUS'];
|
||||
@@ -137,102 +133,55 @@ class Pmgmail {
|
||||
$labelID = "PMDRFT";
|
||||
} else {
|
||||
$labelID = "PMIBX";
|
||||
}
|
||||
|
||||
if ((string)$mailToAddresses === "") {
|
||||
if ($arrayTask) {
|
||||
$oCases = new \Cases();
|
||||
}
|
||||
|
||||
foreach ($arrayTask as $aTask) {
|
||||
if(!isset($aTask["USR_UID"])){
|
||||
$aTask["USR_UID"] = "";
|
||||
}
|
||||
$respTo = $oCases->getTo($aTask["TAS_ASSIGN_TYPE"], $aTask["TAS_UID"], $aTask["USR_UID"], $arrayData);
|
||||
$mailToAddresses = $respTo['to'];
|
||||
$mailCcAddresses = $respTo['cc'];
|
||||
|
||||
if($aTask["TAS_ASSIGN_TYPE"] === "SELF_SERVICE"){
|
||||
$labelID = "PMUASS";
|
||||
if ((string)$mailToAddresses === ""){ // Self Service Value Based
|
||||
$criteria = new \Criteria("workflow");
|
||||
$criteria->addSelectColumn(\AppAssignSelfServiceValuePeer::GRP_UID);
|
||||
$criteria->add(\AppAssignSelfServiceValuePeer::APP_UID, $app_uid);
|
||||
|
||||
$rsCriteria = \AppAssignSelfServiceValuePeer::doSelectRs($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while ($rsCriteria->next()) {
|
||||
$row = $rsCriteria->getRow();
|
||||
}
|
||||
$taskUsers = unserialize($row['GRP_UID']);
|
||||
|
||||
foreach ($taskUsers as $user) {
|
||||
$oUsers = new \Users();
|
||||
$usrData = $oUsers->loadDetails($user);
|
||||
$nextMail = $usrData['USR_EMAIL'];
|
||||
$mailToAddresses .= ($mailToAddresses == '') ? $nextMail : ',' . $nextMail;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!$aTask["TAS_PARENT"]){
|
||||
$aTask["TAS_PARENT"] = $tasUid;
|
||||
}
|
||||
$oTask = new \Task();
|
||||
$aTaskInfo = $oTask->load($aTask["TAS_PARENT"]);
|
||||
if (( string ) $mailToAddresses === "") {
|
||||
if ($arrayTask) {
|
||||
$oCases = new \Cases ();
|
||||
|
||||
$oSubPro = new \SubApplication();
|
||||
$subProAppUid = "";
|
||||
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);
|
||||
foreach ( $arrayTask as $aTask ) {
|
||||
if (! isset ( $aTask ["USR_UID"] )) {
|
||||
$aTask ["USR_UID"] = "";
|
||||
}
|
||||
$respTo = $oCases->getTo ( $aTask ["TAS_ASSIGN_TYPE"], $aTask ["TAS_UID"], $aTask ["USR_UID"], $arrayData );
|
||||
$mailToAddresses = $respTo ['to'];
|
||||
$mailCcAddresses = $respTo ['cc'];
|
||||
|
||||
if ($aTask ["TAS_ASSIGN_TYPE"] === "SELF_SERVICE") {
|
||||
$labelID = "PMUASS";
|
||||
if (( string ) $mailToAddresses === "") { // Self Service Value Based
|
||||
$criteria = new \Criteria ( "workflow" );
|
||||
$criteria->addSelectColumn ( \AppAssignSelfServiceValuePeer::GRP_UID );
|
||||
$criteria->add ( \AppAssignSelfServiceValuePeer::APP_UID, $app_uid );
|
||||
|
||||
$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']);
|
||||
$rsCriteria = \AppAssignSelfServiceValuePeer::doSelectRs ( $criteria );
|
||||
$rsCriteria->setFetchmode ( \ResultSet::FETCHMODE_ASSOC );
|
||||
|
||||
$roCriteria = \RoutePeer::doSelectRs($aCriteria);
|
||||
$roCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
while ( $rsCriteria->next () ) {
|
||||
$row = $rsCriteria->getRow ();
|
||||
}
|
||||
$taskUsers = unserialize ( $row ['GRP_UID'] );
|
||||
$oUsers = new \Users ();
|
||||
if ($taskUsers !== false){
|
||||
foreach ( $taskUsers as $user ) {
|
||||
$usrData = $oUsers->loadDetails ( $user );
|
||||
$nextMail = $usrData ['USR_EMAIL'];
|
||||
$mailToAddresses .= ($mailToAddresses == '') ? $nextMail : ',' . $nextMail;
|
||||
}
|
||||
} else {
|
||||
$usrData = $oUsers->loadDetails ( $user );
|
||||
$mailToAddresses = $usrData ['USR_EMAIL'];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$oUsers = new \Users ();
|
||||
|
||||
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'];
|
||||
}
|
||||
$usrData = $oUsers->loadDetails ( $nextUsr );
|
||||
$mailToAddresses = $usrData ['USR_EMAIL'];
|
||||
}
|
||||
}
|
||||
|
||||
//first template
|
||||
|
||||
@@ -26,16 +26,16 @@ curl_setopt( $gCurl, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT, 0);
|
||||
curl_setopt($gCurl, CURLOPT_SSL_VERIFYHOST, false);
|
||||
|
||||
if(curl_exec($gCurl) === false){
|
||||
echo 'Curl error: ' . curl_error($gCurl);
|
||||
if (curl_exec ( $gCurl ) === false) {
|
||||
echo 'Curl error: ' . curl_error ( $gCurl );
|
||||
} else {
|
||||
$gCurl_response = curl_exec($gCurl);
|
||||
curl_close($gCurl);
|
||||
$gResp = G::json_decode($gCurl_response);
|
||||
if ($gResp === false) {
|
||||
echo Bootstrap::LoadTranslation('ID_NO_LICENSE_FEATURE_ENABLED');
|
||||
die;
|
||||
}
|
||||
$gCurl_response = curl_exec ( $gCurl );
|
||||
curl_close ( $gCurl );
|
||||
$gResp = G::json_decode ( $gCurl_response );
|
||||
if ($gResp === false) {
|
||||
echo Bootstrap::LoadTranslation ( 'ID_NO_LICENSE_FEATURE_ENABLED' );
|
||||
die ();
|
||||
}
|
||||
}
|
||||
set_time_limit(60);
|
||||
|
||||
@@ -72,11 +72,11 @@ if( !isset($_SESSION['USER_LOGGED']) || $_SESSION['USER_LOGGED'] != $decodedResp
|
||||
// init curl object
|
||||
$ch = curl_init();
|
||||
// define options
|
||||
$optArray = array(
|
||||
CURLOPT_URL => $url,
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_SSL_VERIFYPEER => false,
|
||||
CURLOPT_SSL_VERIFYHOST => false
|
||||
$optArray = array(
|
||||
CURLOPT_URL => $url,
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_SSL_VERIFYPEER => false,
|
||||
CURLOPT_SSL_VERIFYHOST => false
|
||||
);
|
||||
// apply those options
|
||||
curl_setopt_array($ch, $optArray);
|
||||
@@ -124,13 +124,15 @@ if( !isset($_SESSION['USER_LOGGED']) || $_SESSION['USER_LOGGED'] != $decodedResp
|
||||
|
||||
if ($action == "draft"){
|
||||
//sending the email
|
||||
$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_CUSTOMREQUEST, "POST");
|
||||
curl_setopt( $curlApp, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt( $curlApp, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt( $curlApp, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt( $curlApp, CURLOPT_CONNECTTIMEOUT, 0);
|
||||
$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_CUSTOMREQUEST, "POST" );
|
||||
curl_setopt ( $curlApp, CURLOPT_RETURNTRANSFER, true );
|
||||
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_close( $curlApp );
|
||||
|
||||
Reference in New Issue
Block a user