BY-231 Al momento de crear un caso si no está configurado el serv. de email sale un error.

- Add validation email server
This commit is contained in:
Marco A. Nina Mena
2016-03-15 17:31:34 -04:00
parent 7e978e5d64
commit cd895ee87f

View File

@@ -82,14 +82,21 @@ class Pmgmail {
*/
public function sendEmail($app_uid, $mailToAddresses, $index, $arrayTask = null, $arrayData = null)
{
$mailCcAddresses = "";
//getting the default email server
$defaultEmail = $this->emailAccount();
if ($defaultEmail === null) {
error_log(G::LoadTranslation('ID_EMAIL_ENGINE_IS_NOT_ENABLED'));
return false;
}
$mailCcAddresses = "";
$oApplication = new \Application();
$formData = $oApplication->Load($app_uid);
$frmData = unserialize($formData['APP_DATA']);
$dataFormToShowString = "";
foreach ($frmData as $field=>$value){
if( ($field != 'SYS_LANG') &&
foreach ($frmData as $field => $value) {
if (($field != 'SYS_LANG') &&
($field != 'SYS_SKIN') &&
($field != 'SYS_SYS') &&
($field != 'APPLICATION') &&
@@ -99,14 +106,15 @@ class Pmgmail {
($field != 'USER_LOGGED') &&
($field != 'USR_USERNAME') &&
($field != 'DYN_CONTENT_HISTORY') &&
($field != 'PIN') &&
(!is_array($value))){
($field != 'PIN') &&
(!is_array($value))
) {
$dataFormToShowString .= " " . $field . " " . $value;
}
}
$appData = $this->getDraftApp($app_uid, $index);
foreach ($appData as $application){
foreach ($appData as $application) {
$appNumber = $application['APP_NUMBER'];
$appStatus = $application['APP_STATUS'];
$index = $application['DEL_INDEX'];
@@ -120,59 +128,60 @@ class Pmgmail {
$tasUid = $application['TAS_UID'];
$lastIndex = $application['DEL_LAST_INDEX'];
if($appStatus == "DRAFT"){
if ($appStatus == "DRAFT") {
$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']);
if ((string)$mailToAddresses === "") {
if ($arrayTask) {
$oCases = new \Cases();
foreach ($taskUsers as $user) {
$oUsers = new \Users();
$usrData = $oUsers->loadDetails($user);
$nextMail = $usrData['USR_EMAIL'];
$mailToAddresses .= ($mailToAddresses == '') ? $nextMail : ',' . $nextMail;
}
}
}
}
}else {
$oUsers = new \Users();
$usrData = $oUsers->loadDetails($nextUsr);
$mailToAddresses = $usrData['USR_EMAIL'];
}
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 {
$oUsers = new \Users();
$usrData = $oUsers->loadDetails($nextUsr);
$mailToAddresses = $usrData['USR_EMAIL'];
}
}
//first template
$pathTemplate = PATH_DATA_SITE . "mailTemplates" . PATH_SEP . "pmGmail.html";
if (!file_exists($pathTemplate)){
if (!file_exists($pathTemplate)) {
$file = @fopen($pathTemplate, "w");
fwrite($file, '<div>');
fwrite($file, '<span style="display: none !important;">');
@@ -194,7 +203,8 @@ class Pmgmail {
$change = array('[', ']', '"');
$fdata = str_replace($change, ' ', $dataFormToShowString);
$aFields = array('proName' => $proName,
$aFields = array(
'proName' => $proName,
'appNumber' => $appNumber,
'caseUid' => $app_uid,
'taskName' => $tasName,
@@ -207,10 +217,7 @@ class Pmgmail {
'oform' => $fdata
);
$subject = "[PM] " .$proName. " (" . $index . ") Case: ". $appNumber;
//getting the default email server
$defaultEmail = $this->emailAccount();
$subject = "[PM] " . $proName . " (" . $index . ") Case: " . $appNumber;
$ws = new \wsBase();