You are here

function civicrm_entity_price_set_field_field_widget_form in CiviCRM Entity 7.2

Implements hook_field_widget_form().

File

modules/civicrm_entity_price_set_field/civicrm_entity_price_set_field.module, line 617

Code

function civicrm_entity_price_set_field_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
  $orig_element = $element;
  switch ($instance['widget']['type']) {
    case 'civicrm_entity_price_set_field_simple_widget':
      if (!empty($items[$delta]['price_set_id'])) {
        $price_set_id = $items[$delta]['price_set_id'];
      }
      else {
        $price_set_id = 0;
      }
      $entity_type = $instance['entity_type'];
      $widget = $orig_element + array(
        '#type' => 'value',
        '#value' => $price_set_id,
      );
      $element['price_set_id'] = $widget;
      _civicrm_entity_price_set_field_prepare_simple_widget($price_set_id, $instance, $element);
      drupal_add_js(drupal_get_path('module', 'civicrm_entity_price_set_field') . '/js/civicrm_entity_price_set_field_simple_widget.js');
      break;
    case 'civicrm_entity_price_set_field_full_edit_widget':

      // To Be Developed -- this widget should have the works, multiple price fields, editing of price set settings, price field settings etc...
      if (!empty($items[$delta]['price_set_id'])) {
        $price_set_id = $items[$delta]['price_set_id'];
      }
      else {
        $price_set_id = 0;
      }
      $data = _civicrm_entity_price_set_field_get_relevant_entities($price_set_id);
      $widget = $orig_element + array(
        '#type' => 'value',
        '#value' => !empty($items[$delta]['price_set_id']) ? $items[$delta]['price_set_id'] : NULL,
      );
      $element['price_set_id'] = $widget;
      break;
  }
  return $element;
}