You are here

function views_bulk_operations_form_validate in Views Bulk Operations (VBO) 6.3

Same name and namespace in other branches
  1. 5 views_bulk_operations.module \views_bulk_operations_form_validate()
  2. 6 views_bulk_operations.module \views_bulk_operations_form_validate()
  3. 7.3 views_bulk_operations.module \views_bulk_operations_form_validate()

Validate the selected operation.

See also

views_bulk_operations_form()

1 string reference to 'views_bulk_operations_form_validate'
views_bulk_operations_form in ./views_bulk_operations.module
Define multistep form for selecting and executing an operation.

File

./views_bulk_operations.module, line 385
Allows operations to be performed on items selected in a view.

Code

function views_bulk_operations_form_validate($form, &$form_state) {
  switch ($form_state['values']['step']) {
    case VIEWS_BULK_OPS_STEP_VIEW:
      $_SESSION['vbo_values'][$_GET['q']] = $form_state['values'];
      if (!array_filter($form_state['values']['objects']['selection'])) {

        // If all 0, no row selected
        form_set_error('objects', t('No row selected. Please select one or more rows.'));
      }
      if (!empty($form_state['clicked_button']['#hash'])) {
        $form_state['values']['operation'] = $form_state['clicked_button']['#hash'];
      }
      if (!$form_state['values']['operation']) {

        // No action selected
        form_set_error('operation', t('No operation selected. Please select an operation to perform.'));
      }
      break;
    case VIEWS_BULK_OPS_STEP_SINGLE:
      $_SESSION['vbo_values'][$_GET['q']] = $form_state['values'];
      if (!array_filter($form_state['values']['objects']['selection'])) {

        // If all 0, no row selected
        form_set_error('objects', t('No row selected. Please select one or more rows.'));
      }
      $plugin = $form['#plugin'];
      $operation = $plugin
        ->get_operation_info($form_state['values']['operation']);
      if ($operation['configurable']) {
        _views_bulk_operations_action_validate($operation, $form, $form_state);
      }
      break;
    case VIEWS_BULK_OPS_STEP_CONFIG:
      $plugin = $form['#plugin'];
      $operation = $plugin
        ->get_operation_info($form_state['storage'][VIEWS_BULK_OPS_STEP_VIEW]['operation']);
      _views_bulk_operations_action_validate($operation, $form, $form_state);
      break;
  }
}