X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FPrice%2FBAO%2FPriceField.php;h=d9bf0668b3926f9b3d443c9f629564b74213cef0;hb=47c46b70913de41e5a16cbd31c85b0ce7b21a1f8;hp=859063d959e311965923e4d722a514e5a48cc927;hpb=71b84f9cd93a198d00322ddf2964b2b55482d221;p=civicrm-core.git diff --git a/CRM/Price/BAO/PriceField.php b/CRM/Price/BAO/PriceField.php index 859063d959..d9bf0668b3 100644 --- a/CRM/Price/BAO/PriceField.php +++ b/CRM/Price/BAO/PriceField.php @@ -23,7 +23,7 @@ | GNU Affero General Public License or the licensing of CiviCRM, | | see the CiviCRM license FAQ at http://civicrm.org/licensing | +--------------------------------------------------------------------+ -*/ + */ /** * @@ -42,7 +42,7 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { protected $_options; /** - * Takes an associative array and creates a price field object + * Takes an associative array and creates a price field object. * * the function extract all the params it needs to initialize the create a * price field object. the params array could contain additional unused name/value @@ -67,7 +67,7 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { } /** - * Takes an associative array and creates a price field object + * Takes an associative array and creates a price field object. * * This function is invoked from within the web form layer and also from the api layer * @@ -168,7 +168,7 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { } /** - * Fetch object based on array of properties + * Fetch object based on array of properties. * * @param array $params * (reference ) an assoc array of name/value pairs. @@ -182,7 +182,7 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { } /** - * Update the is_active flag in the db + * Update the is_active flag in the db. * * @param int $id * Id of the database record. @@ -190,13 +190,20 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { * Value we want to set the is_active field. * * @return Object - * DAO object on sucess, null otherwise - * + * DAO object on success, null otherwise. */ public static function setIsActive($id, $is_active) { return CRM_Core_DAO::setFieldValue('CRM_Price_DAO_PriceField', $id, 'is_active', $is_active); } + /** + * Freeze form if the event is full. + * + * @param $element + * @param $fieldOptions + * + * @return null + */ public static function freezeIfEnabled(&$element, $fieldOptions) { if (!empty($fieldOptions['is_full'])) { $element->freeze(); @@ -219,7 +226,7 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { } /** - * This function for building custom fields + * This function for building custom fields. * * @param CRM_Core_Form $qf * Form object (reference). @@ -346,7 +353,7 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { // CRM-6902 - Add "max" option for a price set field if (in_array($optionKey, $freezeOptions)) { - self::freezeIfEnabled($element, $freezeOptions); + self::freezeIfEnabled($element, $fieldOptions[$optionKey]); // CRM-14696 - Improve display for sold out price set options $element->setLabel($label . ' ' . ts('Sold out') . ''); } @@ -481,7 +488,6 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { } } - $selectOption[$opt['id']] = $opt['label']; $priceVal[$opt['id']] = implode($seperator, array($opt[$valueFieldName] + $taxAmount, $count, $max_value)); if (!in_array($opt['id'], $freezeOptions)) { @@ -489,6 +495,7 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { } // CRM-14696 - Improve display for sold out price set options else { + $opt['id'] = 'crm_disabled_opt-' . $opt['id']; $opt['label'] = $opt['label'] . ' (' . ts('Sold out') . ')'; } @@ -504,7 +511,7 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { '' => ts('- select -'), ) + $selectOption, $useRequired && $field->is_required, - array('price' => json_encode($priceVal)) + array('price' => json_encode($priceVal), 'class' => 'crm-select2') ); // CRM-6902 - Add "max" option for a price set field @@ -562,7 +569,7 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { } /** - * Retrieve a list of options for the specified field + * Retrieve a list of options for the specified field. * * @param int $fieldId * Price field ID. @@ -677,7 +684,7 @@ WHERE } /** - * Validate the priceset + * Validate the priceset. * * @param int $priceSetId * , array $fields. @@ -803,4 +810,5 @@ WHERE id IN (" . implode(',', array_keys($priceFields)) . ')'; return $label; } + }