return $properties;
}
+ /**
+ * @param CRM_Core_Form $form
+ */
static function buildSearchForm(&$form) {
$dataURLEvent = CRM_Utils_System::url('civicrm/ajax/event',
"reset=1",
$form->assign('dataURLEventFee', $dataURLEventFee);
$eventId = &$form->add('text', 'event_name', ts('Event Name'));
- $eventType = &$form->add('text', 'event_type', ts('Event Type'));
+ $eventType = $form->addEntityRef('event_type_id', ts('Event Type'), array(
+ 'entity' => 'option_value',
+ 'placeholder' => ts('- any -'),
+ 'select' => array('minimumInputLength' => 0),
+ 'api' => array(
+ 'params' => array('option_group_id' => 'event_type'),
+ ),
+ )
+ );
$participantFee = &$form->add('text', 'participant_fee_level', ts('Fee Level'));
//elements for assigning value operation
$eventNameId = &$form->add('hidden', 'event_id', '', array('id' => 'event_id'));
- $eventTypeId = &$form->add('hidden', 'event_type_id', '', array('id' => 'event_type_id'));
$participantFeeId = &$form->add('hidden', 'participant_fee_id', '', array('id' => 'participant_fee_id'));
CRM_Core_Form_Date::buildDateRange($form, 'event', 1, '_start_date_low', '_end_date_high', ts('From'), FALSE);
* @access public
* @see valid_date
*/
- function addRules() {
- $this->addFormRule(array('CRM_Event_Form_Search', 'formRule'));
- }
-
- /**
- * global validation rules for the form
- *
- * @param array $fields posted values of the form
- * @param array $errors list of errors to be posted back to the form
- *
- * @return void
- * @static
- * @access public
- */
- static function formRule($fields) {
- $errors = array();
-
- if ($fields['event_name'] && !is_numeric($fields['event_id'])) {
- $errors['event_id'] = ts('Please select valid event.');
- }
-
- if ($fields['event_type'] && !is_numeric($fields['event_type_id'])) {
- $errors['event_type'] = ts('Please select valid event type.');
- }
- if (!empty($errors)) {
- return $errors;
- }
-
- return TRUE;
- }
+ function addRules() {}
/**
* Set the default form values
CRM_Core_Page_AJAX::autocompleteResults($results);
}
- /**
- * Function for building Event Type combo box
- */
- function eventType() {
- $name = trim(CRM_Utils_Type::escape($_GET['s'], 'String'));
- if (!$name) {
- $name = '%';
- }
- $whereClause = " v.label LIKE '$name%' ";
-
- $query = "
-SELECT v.label ,v.value
-FROM civicrm_option_value v,
- civicrm_option_group g
-WHERE v.option_group_id = g.id
-AND g.name = 'event_type'
-AND v.is_active = 1
-AND {$whereClause}
-ORDER by v.weight";
-
- $dao = CRM_Core_DAO::executeQuery($query);
- $results = array();
- while ($dao->fetch()) {
- $results[$dao->value] = $dao->label;
- }
- CRM_Core_Page_AJAX::autocompleteResults($results);
- }
-
/**
* Function for building EventFee combo box
*/
<page_callback>CRM_Event_Page_AJAX::event</page_callback>
<access_arguments>access CiviCRM,access CiviEvent</access_arguments>
</item>
- <item>
- <path>civicrm/ajax/eventType</path>
- <page_callback>CRM_Event_Page_AJAX::eventType</page_callback>
- <access_arguments>access CiviCRM,access CiviEvent</access_arguments>
- </item>
<item>
<path>civicrm/ajax/eventFee</path>
<page_callback>CRM_Event_Page_AJAX::eventFee</page_callback>
+--------------------------------------------------------------------+
*}
<tr>
- <td class="crm-event-form-block-event_type"> {$form.event_name.label} <br />{$form.event_name.html|crmAddClass:huge} </td>
- <td class="crm-event-form-block-event_type"> {$form.event_type.label}<br />{$form.event_type.html} </td>
+ <td class="crm-event-form-block-event_name"> {$form.event_name.label} <br />{$form.event_name.html|crmAddClass:huge} </td>
+ <td class="crm-event-form-block-event_type_id"> {$form.event_type_id.label}<br />{$form.event_type_id.html} </td>
</tr>
<tr>
<td colspan="2"><label>{ts}Event Dates{/ts}</label></td>
{literal}
<script type="text/javascript">
var eventUrl = "{/literal}{$dataURLEvent}{literal}";
-var typeUrl = "{/literal}{$dataURLEventType}{literal}";
var feeUrl = "{/literal}{$dataURLEventFee}{literal}";
cj('#event_name').autocomplete( eventUrl, { width : 280, selectFirst : false, matchContains: true
}).result( function(event, data, formatted) { cj( "input#event_id" ).val( data[1] );
}).bind( 'click', function( ) { cj( "input#event_id" ).val(''); });
-cj('#event_type').autocomplete( typeUrl, { width : 180, selectFirst : false, matchContains: true
-}).result(function(event, data, formatted) { cj( "input#event_type_id" ).val( data[1] );
- }).bind( 'click', function( ) { cj( "input#event_type_id" ).val(''); });
-
cj('#participant_fee_level').autocomplete( feeUrl, { width : 180, selectFirst : false, matchContains: true
}).result(function(event, data, formatted) { cj( "input#participant_fee_id" ).val( data[1] );
}).bind( 'click', function( ) { cj( "input#participant_fee_id" ).val(''); });