/** * Delete Jobss and all its associated records * related to test Mailings * * @param int $id * Id of the Job to delete. * * @return void */ public static function delJob($id) { if (empty($id)) { CRM_Core_Error::fatal(); } $dao = new CRM_Mailing_BAO_MailingJob(); $dao->id = $id; $dao->delete(); }
/** * Process the posted form values. Approve /reject a mailing. */ public function postProcess() { // get the submitted form values. $params = $this->controller->exportValues($this->_name); $ids = array(); if (isset($this->_mailingID)) { $ids['mailing_id'] = $this->_mailingID; } else { $ids['mailing_id'] = $this->get('mailing_id'); } if (!$ids['mailing_id']) { CRM_Core_Error::fatal(); } $params['approver_id'] = $this->_contactID; $params['approval_date'] = date('YmdHis'); // if rejected, then we need to reset the scheduled date and scheduled id $rejectOptionID = CRM_Core_OptionGroup::getValue('mail_approval_status', 'Rejected', 'name'); if ($rejectOptionID && $params['approval_status_id'] == $rejectOptionID) { $params['scheduled_id'] = 'null'; $params['scheduled_date'] = 'null'; // also delete any jobs associated with this mailing $job = new CRM_Mailing_BAO_MailingJob(); $job->mailing_id = $ids['mailing_id']; $job->delete(); } else { $mailing = new CRM_Mailing_BAO_Mailing(); $mailing->id = $ids['mailing_id']; $mailing->find(TRUE); $params['scheduled_date'] = CRM_Utils_Date::processDate($mailing->scheduled_date); } CRM_Mailing_BAO_Mailing::create($params, $ids); //when user perform mailing from search context //redirect it to search result CRM-3711 $ssID = $this->get('ssID'); if ($ssID && $this->_searchBasedMailing) { if ($this->_action == CRM_Core_Action::BASIC) { $fragment = 'search'; } elseif ($this->_action == CRM_Core_Action::PROFILE) { $fragment = 'search/builder'; } elseif ($this->_action == CRM_Core_Action::ADVANCED) { $fragment = 'search/advanced'; } else { $fragment = 'search/custom'; } $context = $this->get('context'); if (!CRM_Contact_Form_Search::isSearchContext($context)) { $context = 'search'; } $urlParams = "force=1&reset=1&ssID={$ssID}&context={$context}"; $qfKey = CRM_Utils_Request::retrieve('qfKey', 'String', $this); if (CRM_Utils_Rule::qfKey($qfKey)) { $urlParams .= "&qfKey={$qfKey}"; } $url = CRM_Utils_System::url('civicrm/contact/' . $fragment, $urlParams); return $this->controller->setDestination($url); } $session = CRM_Core_Session::singleton(); $session->pushUserContext(CRM_Utils_System::url('civicrm/mailing/browse/scheduled', 'reset=1&scheduled=true')); }