Merged in dheeyi/processmaker/HOR-773 (pull request #4100)

HOR-773
This commit is contained in:
Julio Cesar Laura Avendaño
2016-04-18 14:00:59 -04:00
4 changed files with 27 additions and 4 deletions

View File

@@ -5059,6 +5059,12 @@ msgstr "Language deleted successfully!"
msgid "There is {0} cases started with this language, delete action canceled!" msgid "There is {0} cases started with this language, delete action canceled!"
msgstr "There is {0} cases started with this language, delete action canceled!" msgstr "There is {0} cases started with this language, delete action canceled!"
# TRANSLATION
# LABEL/ID_CANNOT_REMOVE_TEMPLATE_EMAIL_EVENT
#: LABEL/ID_CANNOT_REMOVE_TEMPLATE_EMAIL_EVENT
msgid "You can not delete the template {0} because it has a relationship with Email Event"
msgstr "You can not delete the template {0} because it has a relationship with Email Event"
# TRANSLATION # TRANSLATION
# LABEL/ID_TOTAL_CASES # LABEL/ID_TOTAL_CASES
#: LABEL/ID_TOTAL_CASES #: LABEL/ID_TOTAL_CASES

View File

@@ -2271,6 +2271,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_DELETE_LANGUAGE','en','Remove','2014-01-15') , ( 'LABEL','ID_DELETE_LANGUAGE','en','Remove','2014-01-15') ,
( 'LABEL','ID_LANGUAGE_DELETED_SUCCESSFULLY','en','Language deleted successfully!','2014-01-15') , ( 'LABEL','ID_LANGUAGE_DELETED_SUCCESSFULLY','en','Language deleted successfully!','2014-01-15') ,
( 'LABEL','ID_LANGUAGE_CANT_DELETE','en','There is {0} cases started with this language, delete action canceled!','2014-01-15') , ( 'LABEL','ID_LANGUAGE_CANT_DELETE','en','There is {0} cases started with this language, delete action canceled!','2014-01-15') ,
( 'LABEL','ID_CANNOT_REMOVE_TEMPLATE_EMAIL_EVENT','en','You can not delete the template {0} because it has a relationship with Email Event','2014-01-15') ,
( 'LABEL','ID_TOTAL_CASES','en','Total Cases','2014-01-15') , ( 'LABEL','ID_TOTAL_CASES','en','Total Cases','2014-01-15') ,
( 'LABEL','ID_HEARTBEAT_CONFIG','en','Heart Beat','2014-01-15') , ( 'LABEL','ID_HEARTBEAT_CONFIG','en','Heart Beat','2014-01-15') ,
( 'LABEL','ID_PM_HEARTBEAT_SETTINGS_TITLE','en','Heart Beat Configuration','2014-01-15') , ( 'LABEL','ID_PM_HEARTBEAT_SETTINGS_TITLE','en','Heart Beat Configuration','2014-01-15') ,

View File

@@ -247,16 +247,16 @@ class EmailEvent
{ {
try { try {
//Verify data //Verify data
if($passValidation) { if ($passValidation) {
$this->verifyIfEmailEventExists($emailEventUid); $this->verifyIfEmailEventExists($emailEventUid);
//Delete file //Delete file
$filesManager = new \ProcessMaker\BusinessModel\FilesManager(); $filesManager = new \ProcessMaker\BusinessModel\FilesManager();
$arrayData = $this->getEmailEventDataByUid($pro_uid, $emailEventUid); $arrayData = $this->getEmailEventDataByUid($pro_uid, $emailEventUid);
$arrayData = array_change_key_case($arrayData, CASE_UPPER); $arrayData = array_change_key_case($arrayData, CASE_UPPER);
if(sizeof($arrayData)) { if (sizeof($arrayData)) {
$prfUid = $arrayData['PRF_UID']; $prfUid = $arrayData['PRF_UID'];
$filesManager->deleteProcessFilesManager($pro_uid,$prfUid); $filesManager->deleteProcessFilesManager($pro_uid, $prfUid, true);
} }
} }
//Delete Email event //Delete Email event

View File

@@ -495,7 +495,7 @@ class FilesManager
* *
* @access public * @access public
*/ */
public function deleteProcessFilesManager($sProcessUID, $prfUid) public function deleteProcessFilesManager($sProcessUID, $prfUid, $verifyingRelationship = false)
{ {
try { try {
$path = ''; $path = '';
@@ -513,6 +513,22 @@ class FilesManager
throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array('prf_uid'))); throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array('prf_uid')));
} }
$relationshipEmailEvent = false;
$criteria = new \Criteria("workflow");
$criteria->addSelectColumn(\EmailEventPeer::PRF_UID);
$criteria->add(\EmailEventPeer::PRF_UID, $prfUid, \Criteria::EQUAL);
$rsCriteria = \EmailEventPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$rsCriteria->next();
while ($aRow = $rsCriteria->getRow()) {
$relationshipEmailEvent = true;
$rsCriteria->next();
}
if ($relationshipEmailEvent && !$verifyingRelationship) {
throw new \Exception(\G::LoadTranslation(G::LoadTranslation('ID_CANNOT_REMOVE_TEMPLATE_EMAIL_EVENT',
array(end(explode(DIRECTORY_SEPARATOR,$path))))));
}
$sFile = end(explode(DIRECTORY_SEPARATOR,$path)); $sFile = end(explode(DIRECTORY_SEPARATOR,$path));
$path = PATH_DATA_MAILTEMPLATES.$sProcessUID.DIRECTORY_SEPARATOR.$sFile; $path = PATH_DATA_MAILTEMPLATES.$sProcessUID.DIRECTORY_SEPARATOR.$sFile;