/** * check method del() */ function testdel() { $params = array('name' => 'Donations', 'is_deductible' => 0, 'is_active' => 1); $ids = array(); $contributionType = CRM_Contribute_BAO_ContributionType::add($params, $ids); CRM_Contribute_BAO_ContributionType::del($contributionType->id); $params = array('id' => $contributionType->id); $result = CRM_Contribute_BAO_ContributionType::retrieve($params, $defaults); $this->assertEquals(empty($result), true, 'Verify contribution types record deletion.'); }
/** * Function to process the form * * @access public * * @return None */ public function postProcess() { if ($this->_action & CRM_Core_Action::DELETE) { CRM_Contribute_BAO_ContributionType::del($this->_id); CRM_Core_Session::setStatus(ts('Selected contribution type has been deleted.')); } else { $params = $ids = array(); // store the submitted values in an array $params = $this->exportValues(); if ($this->_action & CRM_Core_Action::UPDATE) { $ids['contributionType'] = $this->_id; } $contributionType = CRM_Contribute_BAO_ContributionType::add($params, $ids); CRM_Core_Session::setStatus(ts('The contribution type \'%1\' has been saved.', array(1 => $contributionType->name))); } }
/** * Add a contribution type * * @param array $params (reference ) input parameters * * @return array (reference ) contributionType id and other fields * @static void * @access public */ function &civicrm_contributiontype_add( &$params ) { _civicrm_initialize( ); $values = array( ); require_once 'CRM/Contribute/BAO/ContributionType.php'; $ids = array( ); if ( CRM_Utils_Array::value( 'id', $params ) ) { $ids['contributionType'] = $params['id']; unset($params['id']); // we don't need it in params } $contributionType = CRM_Contribute_BAO_ContributionType::add( $params, $ids ); if ( is_a( $contributionType, 'CRM_Core_Error' ) ) { return civicrm_create_error( ts( 'Failed to add contribution type' ) ); } _civicrm_object_to_array($contributionType, $contributeArray); return $contributeArray; }
/** * Function to delete contribution Types * * @param int $contributionTypeId */ function contributionTypeDelete($contributionTypeID) { require_once 'CRM/Contribute/BAO/ContributionType.php'; $del = CRM_Contribute_BAO_ContributionType::del($contributionTypeID); }
function loadRelatedObjects(&$input, &$ids, $required = FALSE, $loadAll = false) { if ($loadAll) { $ids = array_merge($this->getComponentDetails($this->id), $ids); if (empty($ids['contact']) && isset($this->contact_id)) { $ids['contact'] = $this->contact_id; } } if (empty($this->_component)) { if (!empty($ids['event'])) { $this->_component = 'event'; } else { $this->_component = strtolower(CRM_Utils_Array::value('component', $input, 'contribute')); } } $paymentProcessorID = CRM_Utils_Array::value('paymentProcessor', $ids); $contributionType = new CRM_Contribute_BAO_ContributionType(); $contributionType->id = $this->contribution_type_id; if (!$contributionType->find(TRUE)) { throw new Exception("Could not find contribution type record: " . $this->contribution_type_id); } if (!empty($ids['contact'])) { $this->_relatedObjects['contact'] = new CRM_Contact_BAO_Contact(); $this->_relatedObjects['contact']->id = $ids['contact']; $this->_relatedObjects['contact']->find(TRUE); } $this->_relatedObjects['contributionType'] = $contributionType; if ($this->_component == 'contribute') { // retrieve the other optional objects first so // stuff down the line can use this info and do things // CRM-6056 //in any case get the memberships associated with the contribution //because we now support multiple memberships w/ price set // see if there are any other memberships to be considered for same contribution. $query = "\nSELECT membership_id\nFROM civicrm_membership_payment\nWHERE contribution_id = %1 "; $params = array(1 => array($this->id, 'Integer')); $dao = CRM_Core_DAO::executeQuery($query, $params); while ($dao->fetch()) { if ($dao->membership_id) { if (!is_array($ids['membership'])) { $ids['membership'] = array(); } $ids['membership'][] = $dao->membership_id; } } if (array_key_exists('membership', $ids) && is_array($ids['membership'])) { foreach ($ids['membership'] as $id) { if (!empty($id)) { $membership = new CRM_Member_BAO_Membership(); $membership->id = $id; if (!$membership->find(TRUE)) { throw new Exception("Could not find membership record: {$id}"); } $membership->join_date = CRM_Utils_Date::isoToMysql($membership->join_date); $membership->start_date = CRM_Utils_Date::isoToMysql($membership->start_date); $membership->end_date = CRM_Utils_Date::isoToMysql($membership->end_date); $membership->reminder_date = CRM_Utils_Date::isoToMysql($membership->reminder_date); $this->_relatedObjects['membership'][$membership->membership_type_id] = $membership; $membership->free(); } } } if (!empty($ids['pledge_payment'])) { foreach ($ids['pledge_payment'] as $key => $paymentID) { if (empty($paymentID)) { continue; } $payment = new CRM_Pledge_BAO_PledgePayment(); $payment->id = $paymentID; if (!$payment->find(TRUE)) { throw new Exception("Could not find pledge payment record: " . $paymentID); } $this->_relatedObjects['pledge_payment'][] = $payment; } } if (!empty($ids['contributionRecur'])) { $recur = new CRM_Contribute_BAO_ContributionRecur(); $recur->id = $ids['contributionRecur']; if (!$recur->find(TRUE)) { throw new Exception("Could not find recur record: " . $ids['contributionRecur']); } $this->_relatedObjects['contributionRecur'] =& $recur; //get payment processor id from recur object. $paymentProcessorID = $recur->payment_processor_id; } //for normal contribution get the payment processor id. if (!$paymentProcessorID) { if ($this->contribution_page_id) { // get the payment processor id from contribution page $paymentProcessorID = CRM_Core_DAO::getFieldValue('CRM_Contribute_DAO_ContributionPage', $this->contribution_page_id, 'payment_processor'); } elseif (!CRM_Utils_Array::value('pledge_payment', $ids)) { $loadObjectSuccess = TRUE; if ($required) { throw new Exception("Could not find contribution page for contribution record: " . $this->id); } return $loadObjectSuccess; } } } else { // we are in event mode // make sure event exists and is valid $event = new CRM_Event_BAO_Event(); $event->id = $ids['event']; if ($ids['event'] && !$event->find(TRUE)) { throw new Exception("Could not find event: " . $ids['event']); } $this->_relatedObjects['event'] =& $event; $participant = new CRM_Event_BAO_Participant(); $participant->id = $ids['participant']; if ($ids['participant'] && !$participant->find(TRUE)) { throw new Exception("Could not find participant: " . $ids['participant']); } $participant->register_date = CRM_Utils_Date::isoToMysql($participant->register_date); $this->_relatedObjects['participant'] =& $participant; if (!$paymentProcessorID) { $paymentProcessorID = $this->_relatedObjects['event']->payment_processor; } } $loadObjectSuccess = TRUE; if ($paymentProcessorID) { $paymentProcessor = CRM_Core_BAO_PaymentProcessor::getPayment($paymentProcessorID, $this->is_test ? 'test' : 'live'); $ids['paymentProcessor'] = $paymentProcessorID; $this->_relatedObjects['paymentProcessor'] =& $paymentProcessor; } elseif ($required) { $loadObjectSuccess = FALSE; throw new Exception("Could not find payment processor for contribution record: " . $this->id); } return $loadObjectSuccess; }
/** * Function to process the form * * @access public * @return None */ function postProcess() { require_once 'CRM/Contribute/BAO/ContributionType.php'; if ($this->_action & CRM_CORE_ACTION_DELETE) { CRM_Contribute_BAO_ContributionType::del($this->_id); CRM_Core_Session::setStatus(ts('Selected contribution type has been deleted.')); } else { $params = $ids = array(); // store the submitted values in an array $params = $this->exportValues(); if ($this->_action & CRM_CORE_ACTION_UPDATE) { $ids['contributionType'] = $this->_id; } $contributionType = CRM_Contribute_BAO_ContributionType::add($params, $ids); CRM_Core_Session::setStatus(ts('The contribution type "%1" has been saved.', array(1 => $contributionType->name))); } }