You are here

function registration_checkin_state_form in Entity Registration 7.2

Form builder for the checkin state AJAX form.

Parameters

Registration $registration: The specific registration for which we are providing a select box for. Should be a fully-loaded Registration entity.

Return value

array A complete form array.

2 string references to 'registration_checkin_state_form'
registration_checkin_checkin_action_callback in modules/registration_checkin/registration_checkin.module
AJAX callback for checking in a specific registrant.
registration_checkin_get_registration_table_rows in modules/registration_checkin/registration_checkin.module
Helper function to build the registrant rows of the checkin table.

File

modules/registration_checkin/registration_checkin.module, line 69
Entity Registration registrant checkin workflow and UI for registration.

Code

function registration_checkin_state_form($form, &$form_state, Registration $registration) {
  $rid = $registration->registration_id;
  $form = array();
  $default_state = registration_get_default_state($registration->type);
  $states = registration_get_states_options(array(
    'show_on_form' => TRUE,
  ));

  // Ensure default state is in options or it won't be set.
  if (!in_array($default_state->label, $states)) {
    $states[$default_state->name] = $default_state->label;
  }
  $form['registration_state'] = array(
    '#type' => 'select',
    '#title' => 'Select state',
    '#title_display' => 'invisible',
    '#options' => $states,
    '#default_value' => $registration->state,
    '#ajax' => array(
      'callback' => 'registration_checkin_state_update_callback',
    ),
  );
  $form['registration_id'] = array(
    '#type' => 'hidden',
    '#value' => $rid,
  );
  $form['#attributes']['class'][] = 'registration-state--rid' . $rid;
  return $form;
}