/** * Set default values for the form. * * For edit/view mode he default values are retrieved from the database. */ public function setDefaultValues() { $defaults = parent::setDefaultValues(); // in update mode, we need to set custom data subtype to tpl if (!empty($defaults['event_type_id'])) { $this->assign('customDataSubType', $defaults['event_type_id']); } $this->_showHide = new CRM_Core_ShowHideBlocks(); // Show waitlist features or event_full_text if max participants set if (!empty($defaults['max_participants'])) { $this->_showHide->addShow('id-waitlist'); if (!empty($defaults['has_waitlist'])) { $this->_showHide->addShow('id-waitlist-text'); $this->_showHide->addHide('id-event_full'); } else { $this->_showHide->addHide('id-waitlist-text'); $this->_showHide->addShow('id-event_full'); } } else { $this->_showHide->addHide('id-event_full'); $this->_showHide->addHide('id-waitlist'); $this->_showHide->addHide('id-waitlist-text'); } $this->_showHide->addToTemplate(); $this->assign('elemType', 'table-row'); $this->assign('description', CRM_Utils_Array::value('description', $defaults)); // Provide suggested text for event full and waitlist messages if they're empty $defaults['event_full_text'] = CRM_Utils_Array::value('event_full_text', $defaults, ts('This event is currently full.')); $defaults['waitlist_text'] = CRM_Utils_Array::value('waitlist_text', $defaults, ts('This event is currently full. However you can register now and get added to a waiting list. You will be notified if spaces become available.')); list($defaults['start_date'], $defaults['start_date_time']) = CRM_Utils_Date::setDateDefaults(CRM_Utils_Array::value('start_date', $defaults), 'activityDateTime'); if (!empty($defaults['end_date'])) { list($defaults['end_date'], $defaults['end_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['end_date'], 'activityDateTime'); } return $defaults; }
/** * This function sets the default values for the form. For edit/view mode * the default values are retrieved from the database * * @access public * * @return void */ function setDefaultValues() { $parentDefaults = parent::setDefaultValues(); $eventId = $this->_id; $params = array(); $defaults = array(); if (isset($eventId)) { $params = array('id' => $eventId); } CRM_Event_BAO_Event::retrieve($params, $defaults); $defaults = array_merge($defaults, $parentDefaults); $defaults['id'] = $eventId; return $defaults; }
/** * This function sets the default values for the form. * the default values are retrieved from the database * * @access public * @return None */ function setDefaultValues() { $eventId = $this->_id; $defaults = parent::setDefaultValues(); $this->setShowHide($defaults); if (isset($eventId)) { $params = array('id' => $eventId); CRM_Event_BAO_Event::retrieve($params, $defaults); require_once 'CRM/Core/BAO/UFJoin.php'; $ufJoinParams = array('entity_table' => 'civicrm_event', 'module' => 'CiviEvent', 'entity_id' => $eventId); list($defaults['custom_pre_id'], $defaults['custom_post_id']) = CRM_Core_BAO_UFJoin::getUFGroupIds($ufJoinParams); if ($defaults['is_multiple_registrations']) { // CRM-4377: set additional participants’ profiles – set to ‘none’ if explicitly unset (non-active) $ufJoin = new CRM_Core_DAO_UFJoin(); $ufJoin->module = 'CiviEvent_Additional'; $ufJoin->entity_table = 'civicrm_event'; $ufJoin->entity_id = $eventId; $ufJoin->orderBy('weight'); $ufJoin->find(); $custom = array(1 => 'additional_custom_pre_id', 2 => 'additional_custom_post_id'); while ($ufJoin->fetch()) { $defaults[$custom[$ufJoin->weight]] = $ufJoin->is_active ? $ufJoin->uf_group_id : 'none'; } } } else { $defaults['is_email_confirm'] = 0; } // provide defaults for required fields if empty (and as a 'hint' for approval message field) $defaults['registration_link_text'] = CRM_Utils_Array::value('registration_link_text', $defaults, ts('Register Now')); $defaults['confirm_title'] = CRM_Utils_Array::value('confirm_title', $defaults, ts('Confirm Your Registration Information')); $defaults['thankyou_title'] = CRM_Utils_Array::value('thankyou_title', $defaults, ts('Thank You for Registering')); $defaults['approval_req_text'] = CRM_Utils_Array::value('approval_req_text', $defaults, ts('Participation in this event requires approval. Submit your registration request here. Once approved, you will receive an email with a link to a web page where you can complete the registration process.')); if (CRM_Utils_Array::value('registration_start_date', $defaults)) { list($defaults['registration_start_date'], $defaults['registration_start_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['registration_start_date'], 'activityDateTime'); } if (CRM_Utils_Array::value('registration_end_date', $defaults)) { list($defaults['registration_end_date'], $defaults['registration_end_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['registration_end_date'], 'activityDateTime'); } return $defaults; }
/** * Set default values for the form. * * For edit/view mode the default values are retrieved from the database. */ public function setDefaultValues() { $parentDefaults = parent::setDefaultValues(); $eventId = $this->_id; $params = array(); $defaults = array(); if (isset($eventId)) { $params = array('id' => $eventId); } CRM_Event_BAO_Event::retrieve($params, $defaults); if (isset($eventId)) { $price_set_id = CRM_Price_BAO_PriceSet::getFor('civicrm_event', $eventId, NULL, 1); if ($price_set_id) { $defaults['price_set_id'] = $price_set_id; } else { $priceSetId = CRM_Price_BAO_PriceSet::getFor('civicrm_event', $eventId, NULL); if ($priceSetId) { if ($isQuick = CRM_Core_DAO::getFieldValue('CRM_Price_DAO_PriceSet', $priceSetId, 'is_quick_config')) { $this->assign('isQuick', $isQuick); $priceField = CRM_Core_DAO::getFieldValue('CRM_Price_DAO_PriceField', $priceSetId, 'id', 'price_set_id'); $options = array(); $priceFieldOptions = CRM_Price_BAO_PriceFieldValue::getValues($priceField, $options, 'weight', TRUE); $defaults['price_field_id'] = $priceField; $countRow = 0; foreach ($options as $optionId => $optionValue) { $countRow++; $defaults['value'][$countRow] = CRM_Utils_Money::format($optionValue['amount'], NULL, '%a'); $defaults['label'][$countRow] = $optionValue['label']; $defaults['name'][$countRow] = $optionValue['name']; $defaults['weight'][$countRow] = $optionValue['weight']; $defaults['price_field_value'][$countRow] = $optionValue['id']; if ($optionValue['is_default']) { $defaults['default'] = $countRow; } } } } } } //check if discounted $discountedEvent = CRM_Core_BAO_Discount::getOptionGroup($this->_id, 'civicrm_event'); if (!empty($discountedEvent)) { $defaults['is_discount'] = $i = 1; $totalLables = $maxSize = $defaultDiscounts = array(); foreach ($discountedEvent as $optionGroupId) { $defaults['discount_price_set'][] = $optionGroupId; $name = $defaults["discount_name[{$i}]"] = CRM_Core_DAO::getFieldValue('CRM_Price_DAO_PriceSet', $optionGroupId, 'title'); list($defaults["discount_start_date[{$i}]"]) = CRM_Utils_Date::setDateDefaults(CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Discount', $optionGroupId, 'start_date', 'price_set_id')); list($defaults["discount_end_date[{$i}]"]) = CRM_Utils_Date::setDateDefaults(CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Discount', $optionGroupId, 'end_date', 'price_set_id')); $defaultDiscounts[] = CRM_Price_BAO_PriceSet::getSetDetail($optionGroupId); $i++; } //avoid moving up value of lable when some labels don't //have a value ,fixed for CRM-3088 $rowCount = 1; foreach ($defaultDiscounts as $val) { $discountFields = current($val); $discountFields = current($discountFields['fields']); foreach ($discountFields['options'] as $discountFieldsval) { $defaults['discounted_label'][$discountFieldsval['weight']] = $discountFieldsval['label']; $defaults['discounted_value'][$discountFieldsval['weight']][$rowCount] = CRM_Utils_Money::format($discountFieldsval['amount'], NULL, '%a'); $defaults['discount_option_id'][$rowCount][$discountFieldsval['weight']] = $discountFieldsval['id']; if (!empty($discountFieldsval['is_default'])) { $defaults['discounted_default'] = $discountFieldsval['weight']; } } $rowCount++; } //CRM-12970 ksort($defaults['discounted_value']); ksort($defaults['discounted_label']); $rowCount = 1; foreach ($defaults['discounted_label'] as $key => $value) { if ($key != $rowCount) { $defaults['discounted_label'][$rowCount] = $value; $defaults['discounted_value'][$rowCount] = $defaults['discounted_value'][$key]; unset($defaults['discounted_value'][$key]); unset($defaults['discounted_label'][$key]); foreach ($defaults['discount_option_id'] as &$optionIds) { if (array_key_exists($key, $optionIds)) { $optionIds[$rowCount] = $optionIds[$key]; unset($optionIds[$key]); } } } $rowCount++; } $this->set('discountSection', 1); $this->buildQuickForm(); } elseif (!empty($defaults['label'])) { //if Regular Fees are present in DB and event fee page is in update mode $defaults['discounted_label'] = $defaults['label']; } elseif (!empty($this->_submitValues['label'])) { //if event is newly created, use submitted values for //discount labels if (is_array($this->_submitValues['label'])) { $k = 1; foreach ($this->_submitValues['label'] as $value) { if ($value) { $defaults['discounted_label'][$k] = $value; $k++; } } } } $defaults['id'] = $eventId; if (!empty($totalLables)) { $maxKey = count($totalLables) - 1; if (isset($maxKey) && !empty($totalLables[$maxKey]['value'])) { foreach ($totalLables[$maxKey]['value'] as $i => $v) { if ($totalLables[$maxKey]['amount_id'][$i] == CRM_Utils_Array::value('default_discount_fee_id', $defaults)) { $defaults['discounted_default'] = $i; break; } } } } if (!isset($defaults['discounted_default'])) { $defaults['discounted_default'] = 1; } if (!isset($defaults['is_monetary'])) { $defaults['is_monetary'] = 1; } if (!isset($defaults['fee_label'])) { $defaults['fee_label'] = ts('Event Fee(s)'); } if (!isset($defaults['pay_later_text']) || empty($defaults['pay_later_text'])) { $defaults['pay_later_text'] = ts('I will send payment by check'); } $this->_showHide = new CRM_Core_ShowHideBlocks(); if (!$defaults['is_monetary']) { $this->_showHide->addHide('event-fees'); } if (isset($defaults['price_set_id'])) { $this->_showHide->addHide('map-field'); } $this->_showHide->addToTemplate(); $this->assign('inDate', $this->_inDate); if (!empty($defaults['payment_processor'])) { $defaults['payment_processor'] = str_replace(CRM_Core_DAO::VALUE_SEPARATOR, ',', $defaults['payment_processor']); } return $defaults; }
/** * Set default values for the form. * the default values are retrieved from the database * * * @return void */ public function setDefaultValues() { if ($this->_addProfileBottom || $this->_addProfileBottomAdd) { return; } $eventId = $this->_id; $defaults = parent::setDefaultValues(); $this->setShowHide($defaults); if (isset($eventId)) { $params = array('id' => $eventId); CRM_Event_BAO_Event::retrieve($params, $defaults); $ufJoinParams = array('entity_table' => 'civicrm_event', 'module' => 'CiviEvent', 'entity_id' => $eventId); list($defaults['custom_pre_id'], $defaults['custom_post']) = CRM_Core_BAO_UFJoin::getUFGroupIds($ufJoinParams); // Get the id for the event registration profile $eventRegistrationIdParams = $eventRegistrationIdDefaults = array('name' => 'event_registration'); CRM_Core_BAO_UFGroup::retrieve($eventRegistrationIdParams, $eventRegistrationIdDefaults); // Set event registration as the default profile if none selected if (!$defaults['custom_pre_id'] && count($defaults['custom_post']) == 0) { $defaults['custom_pre_id'] = CRM_Utils_Array::value('id', $eventRegistrationIdDefaults); } if (isset($defaults['custom_post']) && is_numeric($defaults['custom_post'])) { $defaults['custom_post_id'] = $defaults['custom_post']; } elseif (!empty($defaults['custom_post'])) { $defaults['custom_post_id'] = $defaults['custom_post'][0]; unset($defaults['custom_post'][0]); $this->_profilePostMultiple = $defaults['custom_post']; foreach ($defaults['custom_post'] as $key => $value) { self::buildMultipleProfileBottom($this, $key); $defaults["custom_post_id_multiple[{$key}]"] = $value; } } $this->assign('profilePostMultiple', CRM_Utils_Array::value('custom_post', $defaults)); if (!empty($defaults['is_multiple_registrations'])) { // CRM-4377: set additional participants’ profiles – set to ‘none’ if explicitly unset (non-active) $ufJoinAddParams = array('entity_table' => 'civicrm_event', 'module' => 'CiviEvent_Additional', 'entity_id' => $eventId); list($defaults['additional_custom_pre_id'], $defaults['additional_custom_post']) = CRM_Core_BAO_UFJoin::getUFGroupIds($ufJoinAddParams); if (isset($defaults['additional_custom_post']) && is_numeric($defaults['additional_custom_post'])) { $defaults['additional_custom_post_id'] = $defaults['additional_custom_post']; } elseif (!empty($defaults['additional_custom_post'])) { $defaults['additional_custom_post_id'] = $defaults['additional_custom_post'][0]; unset($defaults['additional_custom_post'][0]); $this->_profilePostMultipleAdd = $defaults['additional_custom_post']; foreach ($defaults['additional_custom_post'] as $key => $value) { self::buildMultipleProfileBottom($this, $key, 'additional_', ts('Profile for Additional Participants')); $defaults["additional_custom_post_id_multiple[{$key}]"] = $value; } } $this->assign('profilePostMultipleAdd', CRM_Utils_Array::value('additional_custom_post', $defaults)); } } else { $defaults['is_email_confirm'] = 0; } // provide defaults for required fields if empty (and as a 'hint' for approval message field) $defaults['registration_link_text'] = CRM_Utils_Array::value('registration_link_text', $defaults, ts('Register Now')); $defaults['confirm_title'] = CRM_Utils_Array::value('confirm_title', $defaults, ts('Confirm Your Registration Information')); $defaults['thankyou_title'] = CRM_Utils_Array::value('thankyou_title', $defaults, ts('Thank You for Registering')); $defaults['approval_req_text'] = CRM_Utils_Array::value('approval_req_text', $defaults, ts('Participation in this event requires approval. Submit your registration request here. Once approved, you will receive an email with a link to a web page where you can complete the registration process.')); if (!empty($defaults['registration_start_date'])) { list($defaults['registration_start_date'], $defaults['registration_start_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['registration_start_date'], 'activityDateTime'); } if (!empty($defaults['registration_end_date'])) { list($defaults['registration_end_date'], $defaults['registration_end_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['registration_end_date'], 'activityDateTime'); } return $defaults; }
/** * This function sets the default values for the form. For edit/view mode * the default values are retrieved from the database * * @access public * @return None */ function setDefaultValues() { if ($this->_cdType) { $tempId = (int) CRM_Utils_Request::retrieve('template_id', 'Integer', $this); // set template custom data as a default for event, CRM-5596 if ($tempId && !$this->_id) { $defaults = $this->templateCustomDataValues($tempId); } else { $defaults = CRM_Custom_Form_CustomData::setDefaultValues($this); } return $defaults; } $defaults = parent::setDefaultValues(); // in update mode, we need to set custom data subtype to tpl if (CRM_Utils_Array::value('event_type_id', $defaults)) { $this->assign('customDataSubType', $defaults["event_type_id"]); } require_once 'CRM/Core/ShowHideBlocks.php'; $this->_showHide =& new CRM_Core_ShowHideBlocks(); // Show waitlist features or event_full_text if max participants set if (CRM_Utils_Array::value('max_participants', $defaults)) { $this->_showHide->addShow('id-waitlist'); if (CRM_Utils_Array::value('has_waitlist', $defaults)) { $this->_showHide->addShow('id-waitlist-text'); $this->_showHide->addHide('id-event_full'); } else { $this->_showHide->addHide('id-waitlist-text'); $this->_showHide->addShow('id-event_full'); } } else { $this->_showHide->addHide('id-event_full'); $this->_showHide->addHide('id-waitlist'); $this->_showHide->addHide('id-waitlist-text'); } $this->_showHide->addToTemplate(); $this->assign('elemType', 'table-row'); $this->assign('description', CRM_Utils_Array::value('description', $defaults)); // Provide suggested text for event full and waitlist messages if they're empty $defaults['event_full_text'] = CRM_Utils_Array::value('event_full_text', $defaults, ts('This event is currently full.')); $defaults['waitlist_text'] = CRM_Utils_Array::value('waitlist_text', $defaults, ts('This event is currently full. However you can register now and get added to a waiting list. You will be notified if spaces become available.')); list($defaults['start_date'], $defaults['start_date_time']) = CRM_Utils_Date::setDateDefaults(CRM_Utils_Array::value('start_date', $defaults), 'activityDateTime'); if (CRM_Utils_Array::value('end_date', $defaults)) { list($defaults['end_date'], $defaults['end_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['end_date'], 'activityDateTime'); } return $defaults; }
/** * This function sets the default values for the form. For edit/view mode * the default values are retrieved from the database * * @access public * @return None */ function setDefaultValues() { $parentDefaults = parent::setDefaultValues(); $eventId = $this->_id; $params = array(); $defaults = array(); if (isset($eventId)) { $params = array('id' => $eventId); } CRM_Event_BAO_Event::retrieve($params, $defaults); if (isset($eventId)) { require_once 'CRM/Price/BAO/Set.php'; $price_set_id = CRM_Price_BAO_Set::getFor('civicrm_event', $eventId); if ($price_set_id) { $defaults['price_set_id'] = $price_set_id; } else { require_once 'CRM/Core/OptionGroup.php'; CRM_Core_OptionGroup::getAssoc("civicrm_event.amount.{$eventId}", $defaults); } } //check if discounted require_once 'CRM/Core/BAO/Discount.php'; $discountedEvent = CRM_Core_BAO_Discount::getOptionGroup($this->_id, "civicrm_event"); if (!empty($discountedEvent)) { $defaults['is_discount'] = $i = 1; $totalLables = $maxSize = $defaultDiscounts = array(); foreach ($discountedEvent as $optionGroupId) { $name = $defaults["discount_name[{$i}]"] = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup', $optionGroupId, 'label'); $defaults["discount_start_date[{$i}]"] = CRM_Utils_Date::unformat(CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Discount', $optionGroupId, 'start_date', 'option_group_id')); $defaults["discount_end_date[{$i}]"] = CRM_Utils_Date::unformat(CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Discount', $optionGroupId, 'end_date', 'option_group_id')); CRM_Core_OptionGroup::getAssoc("civicrm_event.amount.{$eventId}.discount.{$name}", $defaultDiscounts[]); $i++; } //avoid moving up value of lable when some labels don't //have a value ,fixed for CRM-3088 foreach ($defaultDiscounts as $key => $val) { $totalLables[$key]['label'] = $val['label']; $totalLables[$key]['value'] = $val['value']; $totalLables[$key]['amount_id'] = $val['amount_id']; foreach ($val['weight'] as $v) { //take array of weight for setdefault $discountWeight[$key][] = $v; } foreach ($val['value'] as $v) { //take array of available value for particular //discount set $discountValue[$key][] = $v; } //combining the weight with amount array for set default $discountDefualt[] = array_combine($discountWeight[$key], $discountValue[$key]); foreach ($discountDefualt[$key] as $k => $v) { $defaults["discounted_value"][$k][$key + 1] = $v; } $maxSize[$key] = sizeof($val['label']); } $maxKey = CRM_Utils_Array::key(max($maxSize), $maxSize); $defaults["discounted_label"] = $totalLables[$maxKey]['label']; $this->set('discountSection', 1); $this->buildQuickForm(); } else { if (!empty($defaults['label'])) { //if Regular Fees are present in DB and event fee page is in update mode $defaults["discounted_label"] = $defaults['label']; } else { if (CRM_Utils_Array::value('label', $this->_submitValues)) { //if event is newly created, use submitted values for //discount labels if (is_array($this->_submitValues['label'])) { $k = 1; foreach ($this->_submitValues['label'] as $value) { if ($value) { $defaults["discounted_label"][$k] = $value; $k++; } } } } } } $defaults = array_merge($defaults, $parentDefaults); $defaults['id'] = $eventId; if (CRM_Utils_Array::value('value', $defaults)) { foreach ($defaults['value'] as $i => $v) { if ($defaults['amount_id'][$i] == $defaults['default_fee_id']) { $defaults['default'] = $i; break; } } } if (!empty($totalLables)) { $maxKey = count($totalLables) - 1; if (isset($maxKey) && CRM_Utils_Array::value('value', $totalLables[$maxKey])) { foreach ($totalLables[$maxKey]['value'] as $i => $v) { if ($totalLables[$maxKey]['amount_id'][$i] == CRM_Utils_Array::value('default_discount_fee_id', $defaults)) { $defaults['discounted_default'] = $i; break; } } } } if (!isset($defaults['default'])) { $defaults['default'] = 1; } if (!isset($defaults['discounted_default'])) { $defaults['discounted_default'] = 1; } if (!isset($defaults['is_monetary'])) { $defaults['is_monetary'] = 1; } if (!isset($defaults['fee_label'])) { $defaults['fee_label'] = ts('Event Fee(s)'); } if (!isset($defaults['pay_later_text']) || empty($defaults['pay_later_text'])) { $defaults['pay_later_text'] = ts('I will send payment by check'); } require_once 'CRM/Core/ShowHideBlocks.php'; $this->_showHide =& new CRM_Core_ShowHideBlocks(); if (!$defaults['is_monetary']) { $this->_showHide->addHide('event-fees'); } if (isset($defaults['price_set_id'])) { $this->_showHide->addHide('map-field'); } $this->_showHide->addToTemplate(); $this->assign('inDate', $this->_inDate); return $defaults; }