// store the fact that this is a membership and membership type is selected
$processMembership = FALSE;
+ $priceFieldIds = $this->get('memberPriceFieldIDS');
if ((!empty($membershipParams['selectMembership']) &&
$membershipParams['selectMembership'] != 'no_thanks'
) ||
- $this->_useForMember
+ ( $this->_useForMember && !empty($priceFieldIds) )
) {
$processMembership = TRUE;
if ($self->_useForMember == 1 && !empty($check) && $membershipIsActive) {
$priceFieldIDS = array();
$priceFieldMemTypes = array();
+ $priceFieldIsRequired = array();
foreach ($self->_priceSet['fields'] as $priceId => $value) {
if (!empty($fields['price_' . $priceId]) || ($self->_quickConfig && $value['name'] == 'membership_amount' && empty($self->_membershipBlock['is_required']))) {
)
) {
$priceFieldMemTypes[] = $val['membership_type_id'];
+ $priceFieldIsRequired[$priceId] = $value['is_required'];
}
}
}
}
}
- if (empty($priceFieldMemTypes)) {
+ $priceFieldIsRequired = array_filter($priceFieldIsRequired);
+ if (empty($priceFieldMemTypes) && !empty($priceFieldIsRequired)) {
$errors['_qf_default'] = ts('Please select at least one membership option.');
}
}
}
else {
$none = ts('- none -');
+ if (!empty($qf->_membershipBlock) && empty($qf->_quickConfig)) {
+ foreach($fieldOptions as $fieldOption) {
+ if (CRM_Utils_Array::value('membership_type_id', $fieldOption) ) {
+ $none = ts('No thank you');
+ }
+ }
+ }
}
$choice[] = $qf->createElement('radio', NULL, '', $none, '0',