Issue #1414696 by bojanz: Allow action forms to use #ajax.
authorBojan Zivanovic
Mon, 23 Jan 2012 22:34:22 +0000 (23:34 +0100)
committerBojan Zivanovic
Mon, 23 Jan 2012 22:34:22 +0000 (23:34 +0100)
plugins/operation_types/action.class.php

index 9a191e8..c8ca213 100644 (file)
@@ -76,9 +76,15 @@ class ViewsBulkOperationsAction extends ViewsBulkOperationsBaseOperation {
    *   An array of related data provided by the caller.
    */
   public function form($form, &$form_state, array $context) {
+    // Some modules (including this one) place their action callbacks
+    // into separate files. At this point those files might no longer be
+    // included due to an #ajax rebuild, so we call actions_list() to trigger
+    // inclusion. The same thing is done by actions_do() on execute.
+    actions_list();
+
     $context['settings'] = $this->getAdminOption('settings', array());
     $form_callback = $this->operationInfo['callback'] . '_form';
-    return $form_callback($context);
+    return $form_callback($context, $form_state);
   }
 
   /**