/** * Test the correct amount level is returned for an event which is not presented as a price set event. * * (these are denoted as 'quickConfig' in the code - but quickConfig is only supposed to refer to the * configuration interface - there should be no different post process. */ public function testGetAmountLevelTextAmount() { $priceSetID = $this->eventPriceSetCreate(9); $priceSet = CRM_Price_BAO_PriceSet::getCachedPriceSetDetail($priceSetID); $field = reset($priceSet['fields']); $params = array('priceSetId' => $priceSetID, 'price_' . $field['id'] => 1); $amountLevel = CRM_Price_BAO_PriceSet::getAmountLevelText($params); $this->assertEquals(CRM_Core_DAO::VALUE_SEPARATOR . 'Price Field - 1' . CRM_Core_DAO::VALUE_SEPARATOR, $amountLevel); }
/** * Get the amount level for the event payment. * * The amount level is the string stored on the contribution record that describes the purchase. * * @param array $params * @param int|null $discountID * * @return string */ protected function getAmountLevel($params, $discountID) { // @todo move handling of discount ID to the BAO function - preferably by converting it to a price_set with // time settings. if (!empty($this->_values['discount'][$discountID])) { return $this->_values['discount'][$discountID][$params['amount']]['label']; } return CRM_Price_BAO_PriceSet::getAmountLevelText($params); }
/** * Get the amount level for the event payment. * * The amount level is the string stored on the contribution record that describes the purchase. * * @param array $params * @param int|null $discountID * * @return string */ protected function getAmountLevel($params, $discountID) { // @todo move handling of discount ID to the BAO function - preferably by converting it to a price_set with // time settings. if (!empty($this->_values['discount'][$discountID])) { return $this->_values['discount'][$discountID][$params['amount']]['label']; } if (empty($params['priceSetId'])) { // CRM-17509 An example of this is where the person is being waitlisted & there is no payment. // ideally we would have calculated amount first & only call this is there is an // amount but the flow needs more changes for that. return ''; } return CRM_Price_BAO_PriceSet::getAmountLevelText($params); }