You are here

public function webform_workflow_views_handler_filter_state::get_value_options in Webform Workflow 7

Overrides parent::get_value_options().

Overrides views_handler_filter_in_operator::get_value_options

File

includes/views/handlers/webform_workflow_views_handler_filter_state.inc, line 15
Views filter handler for webform submission workflow states.

Class

webform_workflow_views_handler_filter_state
@file Views filter handler for webform submission workflow states.

Code

public function get_value_options() {
  if (isset($this->value_options)) {
    return $this->value_options;
  }
  $options = array(
    '[EMPTY]' => t('None'),
  );

  // Fetch the states for the specified webform, if possible.
  $node = $this
    ->getWebform();
  if ($node) {
    $states = webform_workflow_get_available_states($node);
    foreach ($states as $state) {
      $options[$state->wsid] = $state->label;
    }
  }
  elseif (strpos(current_path(), 'admin/structure/views') === 0) {
    $query = new EntityFieldQuery();
    $query
      ->entityCondition('entity_type', 'webform_workflow_state')
      ->propertyOrderBy('wsid')
      ->range(0, 25);
    $result = $query
      ->execute();
    if ($result && isset($result['webform_workflow_state'])) {
      $states = entity_load('webform_workflow_state', array_keys($result['webform_workflow_state']));
      foreach ($states as $state) {
        $options[$state->wsid] = $state->label;
      }
    }
  }
  $this->value_options = $options;
  return $options;
}