dev/core#560 Convert some more CRM_Core_Error::fatal to exception
authorSeamus Lee <seamuslee001@gmail.com>
Fri, 25 Oct 2019 20:53:52 +0000 (07:53 +1100)
committerSeamus Lee <seamuslee001@gmail.com>
Fri, 25 Oct 2019 22:41:34 +0000 (09:41 +1100)
Switch from statusBounce to Exception in CRM_Mailing_BAO_Mailing::checkPermission as not on form layer

14 files changed:
CRM/Mailing/BAO/Mailing.php
CRM/Mailing/BAO/MailingAB.php
CRM/Mailing/BAO/MailingJob.php
CRM/Mailing/Event/BAO/Subscribe.php
CRM/Mailing/Form/Approve.php
CRM/Mailing/Form/Browse.php
CRM/Mailing/Form/ForwardMailing.php
CRM/Mailing/Form/Optout.php
CRM/Mailing/Form/Subscribe.php
CRM/Mailing/Form/Unsubscribe.php
CRM/Mailing/Page/Browse.php
CRM/Mailing/Page/Common.php
CRM/Mailing/Page/Confirm.php
CRM/Mailing/Page/Event.php

index 9a24f8a9a821fff24f22d26346cd1a306dbd5d44..0cd5bb995482b61902581fd841782bbcffa8522c 100644 (file)
@@ -2251,7 +2251,7 @@ ORDER BY   civicrm_email.is_bulkmail DESC
     }
 
     if (!in_array($id, $mailingIDs)) {
-      CRM_Core_Error::fatal(ts('You do not have permission to access this mailing report'));
+      throw new CRM_Core_Exception(ts('You do not have permission to access this mailing report'));
     }
   }
 
@@ -2473,7 +2473,7 @@ LEFT JOIN civicrm_mailing_group g ON g.mailing_id   = m.id
    */
   public static function del($id) {
     if (empty($id)) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception(ts('No id passed to mailing del function'));
     }
 
     CRM_Utils_Hook::pre('delete', 'Mailing', $id, CRM_Core_DAO::$_nullArray);
@@ -2503,7 +2503,7 @@ LEFT JOIN civicrm_mailing_group g ON g.mailing_id   = m.id
    */
   public static function delJob($id) {
     if (empty($id)) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception(ts('No id passed to mailing delJob function'));
     }
 
     \Civi::log('This function is deprecated, use CRM_Mailing_BAO_MailingJob::del instead', ['civi.tag' => 'deprecated']);
index 2ff81ed5e92cdb480702d02d32d0caad3441cde2..34f8f4685013dae84aa216e20a09ec1dc7a3e5e1 100644 (file)
@@ -117,7 +117,7 @@ class CRM_Mailing_BAO_MailingAB extends CRM_Mailing_DAO_MailingAB {
    */
   public static function del($id) {
     if (empty($id)) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception(ts('No id passed to MailingAB del function'));
     }
     CRM_Core_Transaction::create()->run(function () use ($id) {
       CRM_Utils_Hook::pre('delete', 'MailingAB', $id, CRM_Core_DAO::$_nullArray);
index 58b58e4170c3e8c7d64e3cf85451e1d6780ea1ca..48f8adbb16782799173da92612376f4308d7f506 100644 (file)
@@ -585,7 +585,7 @@ VALUES (%1, %2, %3, %4, %5, %6, %7)
     static $smtpConnectionErrors = 0;
 
     if (!is_object($mailer) || empty($fields)) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('Either mailer is not an object or we don\'t have recipients to send to in this group');
     }
 
     // get the return properties
@@ -989,7 +989,7 @@ AND    status IN ( 'Scheduled', 'Running', 'Paused' )
           $activityTypeID = CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Bulk Email');
         }
         if (!$activityTypeID) {
-          CRM_Core_Error::fatal();
+          throw new CRM_Core_Execption(ts('No relevant activity type found when recording Mailing Event delivered Activity'));
         }
       }
 
index 7dcb99f9d63770bd89f8f16ba82056c14bc51a04..18a246d7ebd273dcec923b48be97b4a3f9985606 100644 (file)
@@ -137,7 +137,7 @@ SELECT     civicrm_email.id as email_id
     $dao = CRM_Core_DAO::executeQuery($query, $params);
 
     if (!$dao->fetch()) {
-      CRM_Core_Error::fatal('Please file an issue with the backtrace');
+      throw new CRM_Core_Exception('Please file an issue with the backtrace');
       return $success;
     }
 
index acf0b9218f3bdbb5cc59abbc6d3c71427416fe07..2cbc5051e5569983a796a402951d77fd3db1ad8a 100644 (file)
@@ -154,7 +154,7 @@ class CRM_Mailing_Form_Approve extends CRM_Core_Form {
     }
 
     if (!$ids['mailing_id']) {
-      CRM_Core_Error::fatal();
+      CRM_Core_Error::statusBounce(ts('No mailing id has been able to be determined'));
     }
 
     $params['approver_id'] = $this->_contactID;
index bb52d77a1fbf756036ebb2d5cef091b4b03977cb..37b1b6eef0e7c0ad4bee0474976b2a76fb0131b7 100644 (file)
@@ -46,7 +46,7 @@ class CRM_Mailing_Form_Browse extends CRM_Core_Form {
 
     // check for action permissions.
     if (!CRM_Core_Permission::checkActionPermission('CiviMail', $this->_action)) {
-      CRM_Core_Error::fatal(ts('You do not have permission to access this page.'));
+      CRM_Core_Error::statusBounce(ts('You do not have permission to access this page.'));
     }
 
     $mailing = new CRM_Mailing_BAO_Mailing();
index 3d7a04cf2c4861210090f9713b85726b3ff7e135..95d0c889a56924ddbf9c2970f21bf34271a406cc 100644 (file)
@@ -48,7 +48,7 @@ class CRM_Mailing_Form_ForwardMailing extends CRM_Core_Form {
     if ($q == NULL) {
 
       // ERROR.
-      CRM_Core_Error::fatal(ts('Invalid form parameters.'));
+      throw new CRM_Core_Exception(ts('Invalid form parameters.'));
       CRM_Core_Error::statusBounce(ts('Invalid form parameters.'));
     }
     $mailing = &$q->getMailing();
index 7473fe3af3bc3f36de7fbe462a9f0a4b4b9fbef0..ce9cdf3c21f499dc58610a9c26bd6e47c7b5d3a5 100644 (file)
@@ -44,13 +44,13 @@ class CRM_Mailing_Form_Optout extends CRM_Core_Form {
       !$queue_id ||
       !$hash
     ) {
-      CRM_Core_Error::fatal(ts("Missing input parameters"));
+      throw new CRM_Core_Exception(ts("Missing input parameters"));
     }
 
     // verify that the three numbers above match
     $q = CRM_Mailing_Event_BAO_Queue::verify($job_id, $queue_id, $hash);
     if (!$q) {
-      CRM_Core_Error::fatal(ts("There was an error in your request"));
+      throw new CRM_Core_Exception(ts("There was an error in your request"));
     }
 
     list($displayName, $email) = CRM_Mailing_Event_BAO_Queue::getContactInfo($queue_id);
index 56e34f1e26910fc2980d85ba31ecad8eca924d21..ba617aac09532a9edc4b583a40a45576d943b4a5 100644 (file)
@@ -115,7 +115,7 @@ ORDER BY title";
         $rows[] = $row;
       }
       if (empty($rows)) {
-        CRM_Core_Error::fatal(ts('There are no public mailing list groups to display.'));
+        throw new CRM_Core_Exception(ts('There are no public mailing list groups to display.'));
       }
       $this->assign('rows', $rows);
       $this->addFormRule(['CRM_Mailing_Form_Subscribe', 'formRule']);
index 33cee130f289725ca007e031b75980bf15bd5be4..3de1e0181ec1bdbb0847f8483831c37ec4c4ca78 100644 (file)
@@ -44,13 +44,13 @@ class CRM_Mailing_Form_Unsubscribe extends CRM_Core_Form {
       !$queue_id ||
       !$hash
     ) {
-      CRM_Core_Error::fatal(ts("Missing Parameters"));
+      throw new CRM_Core_Exception(ts('Missing Parameters'));
     }
 
     // verify that the three numbers above match
     $q = CRM_Mailing_Event_BAO_Queue::verify($job_id, $queue_id, $hash);
     if (!$q) {
-      CRM_Core_Error::fatal(ts("There was an error in your request"));
+      throw new CRM_Core_Exception(ts("There was an error in your request"));
     }
 
     list($displayName, $email) = CRM_Mailing_Event_BAO_Queue::getContactInfo($queue_id);
index abb1428e2aae2b15a2be9c4f313cb97e2dee6191..b97bd23d9aa3f40c8b513985b692f81866716127 100644 (file)
@@ -87,7 +87,7 @@ class CRM_Mailing_Page_Browse extends CRM_Core_Page {
     if ($this->_sms) {
       // if this is an SMS page, check that the user has permission to browse SMS
       if (!CRM_Core_Permission::check('send SMS')) {
-        CRM_Core_Error::fatal(ts('You do not have permission to send SMS'));
+        CRM_Core_Error::statusBounce(ts('You do not have permission to send SMS'));
       }
     }
     else {
@@ -95,7 +95,7 @@ class CRM_Mailing_Page_Browse extends CRM_Core_Page {
       // permission (specific permissions have been copied from
       // CRM/Mailing/xml/Menu/Mailing.xml)
       if (!CRM_Core_Permission::check([['access CiviMail', 'approve mailings', 'create mailings', 'schedule mailings']])) {
-        CRM_Core_Error::fatal(ts('You do not have permission to view this page.'));
+        CRM_Core_Error::statusBounce(ts('You do not have permission to view this page.'));
       }
     }
 
@@ -195,7 +195,7 @@ class CRM_Mailing_Page_Browse extends CRM_Core_Page {
     }
     elseif ($this->_action & CRM_Core_Action::CLOSE) {
       if (!CRM_Core_Permission::checkActionPermission('CiviMail', CRM_Core_Action::CLOSE)) {
-        CRM_Core_Error::fatal(ts('You do not have permission to access this page.'));
+        CRM_Core_Error::statusBounce(ts('You do not have permission to access this page.'));
       }
       CRM_Mailing_BAO_MailingJob::pause($this->_mailingId);
       CRM_Core_Session::setStatus(ts('The mailing has been paused. Active message deliveries may continue for a few minutes, but CiviMail will not begin delivery of any more batches.'), ts('Paused'), 'success');
@@ -203,7 +203,7 @@ class CRM_Mailing_Page_Browse extends CRM_Core_Page {
     }
     elseif ($this->_action & CRM_Core_Action::REOPEN) {
       if (!CRM_Core_Permission::checkActionPermission('CiviMail', CRM_Core_Action::CLOSE)) {
-        CRM_Core_Error::fatal(ts('You do not have permission to access this page.'));
+        CRM_Core_Error::statusBounce(ts('You do not have permission to access this page.'));
       }
       CRM_Mailing_BAO_MailingJob::resume($this->_mailingId);
       CRM_Core_Session::setStatus(ts('The mailing has been resumed.'), ts('Resumed'), 'success');
@@ -214,7 +214,7 @@ class CRM_Mailing_Page_Browse extends CRM_Core_Page {
 
         // check for action permissions.
         if (!CRM_Core_Permission::checkActionPermission('CiviMail', $this->_action)) {
-          CRM_Core_Error::fatal(ts('You do not have permission to access this page.'));
+          CRM_Core_Error::statusBounce(ts('You do not have permission to access this page.'));
         }
 
         CRM_Mailing_BAO_Mailing::del($this->_mailingId);
index f420a0698ce338817cc662af8afcd8586cc055b6..e9ea561c828e8fc0e712f736cf13d00aa45266fb 100644 (file)
@@ -50,13 +50,13 @@ class CRM_Mailing_Page_Common extends CRM_Core_Page {
       !$queue_id ||
       !$hash
     ) {
-      CRM_Core_Error::fatal(ts("Missing input parameters"));
+      throw new CRM_Core_Exception(ts("Missing input parameters"));
     }
 
     // verify that the three numbers above match
     $q = CRM_Mailing_Event_BAO_Queue::verify($job_id, $queue_id, $hash);
     if (!$q) {
-      CRM_Core_Error::fatal(ts("There was an error in your request"));
+      throw new CRM_Core_Exception(ts("There was an error in your request"));
     }
 
     $cancel = CRM_Utils_Request::retrieve("_qf_{$this->_type}_cancel", 'String', CRM_Core_DAO::$_nullObject,
index b126dac4281f721274fd500a358044694bee23ce..261ac97ba30006d484f9918e2a3a98d0505b1a11 100644 (file)
@@ -47,7 +47,7 @@ class CRM_Mailing_Page_Confirm extends CRM_Core_Page {
       !$subscribe_id ||
       !$hash
     ) {
-      CRM_Core_Error::fatal(ts("Missing input parameters"));
+      throw new CRM_Core_Exception(ts("Missing input parameters"));
     }
 
     $result = CRM_Mailing_Event_BAO_Confirm::confirm($contact_id, $subscribe_id, $hash);
index 762e015d359c5114f853caf18bb2574e3a16c9d2..c0339daf2723e86237a2566a3f0ac849a7bdda2c 100644 (file)
@@ -78,7 +78,7 @@ class CRM_Mailing_Page_Event extends CRM_Core_Page {
     elseif ($context == 'angPage') {
       $angPage = CRM_Utils_Request::retrieve('angPage', 'String', $this);
       if (!preg_match(':^[a-zA-Z0-9\-_/]+$:', $angPage)) {
-        CRM_Core_Error::fatal('Malformed return URL');
+        throw new CRM_Core_Exception('Malformed return URL');
       }
       $backUrl = CRM_Utils_System::url('civicrm/a/#/' . $angPage);
       $backUrlTitle = ts('Back to Report');