public function BulkForm::views_form_submit

Implements \Drupal\views\Plugin\views\Plugin\field\FieldPluginBase::views_form_submit().

File

drupal/core/modules/action/lib/Drupal/action/Plugin/views/field/BulkForm.php, line 97
Contains \Drupal\action\Plugin\views\field\BulkForm.

Class

BulkForm
Defines a simple bulk operation form element.

Namespace

Drupal\action\Plugin\views\field

Code

public function views_form_submit(&$form, &$form_state) {
  if ($form_state['step'] == 'views_form_views_form') {
    $action = $form_state['values']['action'];
    $action = action_load($action);
    $count = 0;

    // Filter only selected checkboxes.
    $selected = array_filter($form_state['values'][$this->options['id']]);
    if (!empty($selected)) {
      foreach (array_keys($selected) as $row_index) {
        $entity = $this
          ->get_entity($this->view->result[$row_index]);
        actions_do($action->aid, $entity);
        $entity
          ->save();
        $count++;
      }
    }
    if ($count) {
      drupal_set_message(t('%action action performed on %count item(s).', array(
        '%action' => $action->label,
        '%count' => $count,
      )));
    }
  }
}