_userContext = $session->readUserContext(); CRM_Utils_System::setTitle(ts('File on Case')); } /** * Build the form object. * * * @return void */ public function buildQuickForm() { $this->add('text', 'unclosed_case_id', ts('Select Case'), array('class' => 'huge'), TRUE); $this->addDefaultButtons(ts('Save')); } /** * Add local and global form rules. * * * @return void */ public function addRules() { } /** * Process the form after the input has been submitted and validated. * * * @return void */ public function postProcess() { $formparams = $this->exportValues(); $caseId = $formparams['unclosed_case_id']; $filedActivities = 0; foreach ($this->_activityHolderIds as $key => $id) { $targetContactValues = $defaults = array(); $params = array('id' => $id); CRM_Activity_BAO_Activity::retrieve($params, $defaults); if (CRM_Case_BAO_Case::checkPermission($id, 'File On Case', $defaults['activity_type_id'])) { if (!CRM_Utils_Array::crmIsEmptyArray($defaults['target_contact'])) { $targetContactValues = array_combine(array_unique($defaults['target_contact']), explode(';', trim($defaults['target_contact_value'])) ); $targetContactValues = implode(',', array_keys($targetContactValues)); } $params = array( 'caseID' => $caseId, 'activityID' => $id, 'newSubject' => empty($defaults['subject']) ? '' : $defaults['subject'], 'targetContactIds' => $targetContactValues, 'mode' => 'file', ); $error_msg = CRM_Activity_Page_AJAX::_convertToCaseActivity($params); if (empty($error_msg['error_msg'])) { $filedActivities++; } else { CRM_Core_Session::setStatus($error_msg['error_msg'], ts("Error"), "error"); } } else { CRM_Core_Session::setStatus(ts('Not permitted to file activity %1 %2.', array( 1 => empty($defaults['subject']) ? '' : $defaults['subject'], 2 => $defaults['activity_date_time'], )), ts("Error"), "error"); } } CRM_Core_Session::setStatus($filedActivities, ts("Filed Activities"), "success"); CRM_Core_Session::setStatus("", ts('Total Selected Activities: %1', array(1 => count($this->_activityHolderIds))), "info"); } }