CRM-16238 - Implement "Re-use Mailing"
[civicrm-core.git] / CRM / Mailing / Controller / Send.php
index 287ed71ad2352a4be9ee7dac713fa6ce829085d9..bd277a31fcac982d8f747472f8047de9eddb8d8d 100644 (file)
@@ -3,7 +3,7 @@
  +--------------------------------------------------------------------+
  | CiviCRM version 4.6                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014                                |
+ | Copyright CiviCRM LLC (c) 2004-2015                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
 /**
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2014
+ * @copyright CiviCRM LLC (c) 2004-2015
  * $Id$
  *
  */
 class CRM_Mailing_Controller_Send extends CRM_Core_Controller {
 
   /**
-   * Class constructor
+   * Class constructor.
    *
    * @param null $title
    * @param bool|int $action
@@ -56,11 +56,19 @@ class CRM_Mailing_Controller_Send extends CRM_Core_Controller {
         CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/a/', NULL, TRUE, '/mailing/new'));
       }
       if ($mid && $continue) {
-        CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/a/', NULL, TRUE, '/mailing/' . $mid));
+        //CRM-15979 - check if abtest exist for mailing then redirect accordingly
+        $abtest = CRM_Mailing_BAO_MailingAB::getABTest($mid);
+        if (!empty($abtest) && !empty($abtest->id)) {
+          $redirect = CRM_Utils_System::url('civicrm/a/', NULL, TRUE, '/abtest/' . $abtest->id);
+        }
+        else {
+          $redirect = CRM_Utils_System::url('civicrm/a/', NULL, TRUE, '/mailing/' . $mid);
+        }
+        CRM_Utils_System::redirect($redirect);
       }
       if ($mid && !$continue) {
-        CRM_Core_Error::fatal('Not implemented: Re-use mailing');
-        // CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/a/', NULL, TRUE, '/mailing/' . $mid));
+        $clone = civicrm_api3('Mailing', 'clone', array('id' => $mid));
+        CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/a/', NULL, TRUE, '/mailing/' . $clone['id']));
       }
     }