Example #1
0
 /**
  * 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);
 }
Example #2
0
 /**
  * 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);
 }
Example #3
0
 /**
  * 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);
 }