You are here

class workbench_workflows_ui in Workbench Moderation 7.2

Hierarchy

Expanded class hierarchy of workbench_workflows_ui

File

modules/workbench_workflows/plugins/export_ui/workbench_workflows_ui.class.php, line 11

View source
class workbench_workflows_ui extends workbench_base_ui {
  function init($plugin) {
    parent::init($plugin);
    ctools_include('context');
  }

  /*
   function list_form(&$form, &$form_state) {

     parent::list_form($form, $form_state);

     foreach ($this->items as $item) {
       $categories[$item->category] = $item->category ? $item->category : t('workbench workflows');
     }

     $form['top row']['category'] = array(
       '#type' => 'select',
       '#title' => t('Category'),
       '#options' => $categories,
       '#default_value' => 'all',
       '#weight' => -10,
     );

   }

   function list_filter($form_state, $item) {
     if ($form_state['values']['category'] != 'all' && $form_state['values']['category'] != $item->category) {
       return TRUE;
     }


     return parent::list_filter($form_state, $item);
   }
  */
  function list_sort_options() {
    return array(
      'disabled' => t('Enabled, title'),
      'title' => t('Title'),
      'name' => t('Name'),
      'category' => t('Category'),
      'storage' => t('Storage'),
      'weight' => t('Weight'),
    );
  }
  function list_build_row($item, &$form_state, $operations) {

    // Set up sorting
    switch ($form_state['values']['order']) {
      case 'disabled':
        $this->sorts[$item->name] = empty($item->disabled) . $item->admin_title;
        break;
      case 'title':
        $this->sorts[$item->name] = $item->admin_title;
        break;
      case 'name':
        $this->sorts[$item->name] = $item->name;
        break;
      case 'category':
        $this->sorts[$item->name] = ($item->category ? $item->category : t('workbench workflows')) . $item->admin_title;
        break;
      case 'weight':
        $this->sorts[$item->name] = $item->weight;
        break;
      case 'storage':
        $this->sorts[$item->name] = $item->type . $item->admin_title;
        break;
    }
    $category = $item->category ? check_plain($item->category) : t('workbench workflows');
    $this->rows[$item->name] = array(
      'data' => array(
        array(
          'data' => check_plain($item->admin_title),
          'class' => array(
            'ctools-export-ui-title',
          ),
        ),
        array(
          'data' => check_plain($item->name),
          'class' => array(
            'ctools-export-ui-name',
          ),
        ),
        array(
          'data' => $category,
          'class' => array(
            'ctools-export-ui-category',
          ),
        ),
        array(
          'data' => $item->type,
          'class' => array(
            'ctools-export-ui-storage',
          ),
        ),
        array(
          'data' => $item->weight,
          'class' => array(
            'ctools-export-ui-weight',
          ),
        ),
        array(
          'data' => theme('links', array(
            'links' => $operations,
          )),
          'class' => array(
            'ctools-export-ui-operations',
          ),
        ),
      ),
      'title' => !empty($item->admin_description) ? check_plain($item->admin_description) : '',
      'class' => array(
        !empty($item->disabled) ? 'ctools-export-ui-disabled' : 'ctools-export-ui-enabled',
      ),
    );
  }
  function list_table_header() {
    return array(
      array(
        'data' => t('Title'),
        'class' => array(
          'ctools-export-ui-title',
        ),
      ),
      array(
        'data' => t('Name'),
        'class' => array(
          'ctools-export-ui-name',
        ),
      ),
      array(
        'data' => t('Category'),
        'class' => array(
          'ctools-export-ui-category',
        ),
      ),
      array(
        'data' => t('Storage'),
        'class' => array(
          'ctools-export-ui-storage',
        ),
      ),
      array(
        'data' => t('Weight'),
        'class' => array(
          'ctools-export-ui-weight',
        ),
      ),
      array(
        'data' => t('Operations'),
        'class' => array(
          'ctools-export-ui-operations',
        ),
      ),
    );
  }
  function edit_form(&$form, &$form_state) {

    // Get the basic edit form
    parent::edit_form($form, $form_state);
    $form['title']['#title'] = t('Title');
    $form['title']['#description'] = t('The title for this workbench workflow.');
    $form['states'] = array(
      '#type' => 'checkboxes',
      '#options' => workbench_workflows_options('states'),
      '#default_value' => $form_state['item']->states,
      '#title' => t('States'),
      '#description' => t("States available in this workflow."),
    );
    $form['default_state'] = array(
      '#type' => 'radios',
      '#options' => workbench_workflows_options('states'),
      '#default_value' => isset($form_state['item']->default_state) ? $form_state['item']->default_state : NULL,
      '#title' => t('Default state'),
      '#description' => t("The starting state of the workflow."),
    );
  }

  /**
   * Validate submission of the workbench workflow edit form.
   *
   * @todo evaluate need to validate states here.
   */
  function edit_form_basic_validate($form, &$form_state) {
    parent::edit_form_validate($form, $form_state);

    //  if (preg_match("/[^A-Za-z0-9 ]/", $form_state['values']['category'])) {
    //      form_error($form['category'], t('Categories may contain only alphanumerics or spaces.'));
    // }
  }
  function edit_form_events(&$form, &$form_state) {
    $available_states = array();
    foreach ($form_state['item']->states as $key => $value) {
      if (!empty($value)) {
        $available_states[$key] = $value;
      }
    }
    ctools_include('export');
    $workbench_events = workbench_workflows_load_all('events');
    $event_options = array();
    $unavailable_events = array();
    $unavailable_text_string = '';
    $unavailable_events_replacements = array();
    foreach ($workbench_events as $workbench_event) {

      // @todo
      // Exclude events when there is not an origin state in the workflow.
      if (in_array($workbench_event->target_state, $available_states)) {
        $event_options[$workbench_event->name] = $workbench_event->admin_title;
      }
      else {
        $unavailable_text_string .= '%' . $workbench_event->name . ', ';
        $unavailable_events[$workbench_event->name] = $workbench_event->admin_title;
        $unavailable_events_replacements['%' . $workbench_event->name] = $workbench_event->admin_title;
      }
    }
    $form['events'] = array(
      '#type' => 'checkboxes',
      '#options' => $event_options,
      '#default_value' => $form_state['item']->events,
      '#title' => t('Events'),
    );

    // @@TODO
    // Handle pluralization of event/events
    if (!empty($unavailable_text_string)) {
      $form['events']['#description'] = t("Unavailable events include: " . $unavailable_text_string, $unavailable_events_replacements);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ctools_export_ui::$name property
ctools_export_ui::$options property
ctools_export_ui::$plugin property
ctools_export_ui::access public function Menu callback to determine if an operation is accessible. 1
ctools_export_ui::add_page public function
ctools_export_ui::build_operations public function Builds the operation links for a specific exportable item.
ctools_export_ui::clone_page public function Main entry point to clone an item.
ctools_export_ui::delete_form_submit public function Deletes exportable items from the database.
ctools_export_ui::delete_page public function Page callback to delete an exportable item.
ctools_export_ui::disable_page public function Callback to disable a page.
ctools_export_ui::edit_cache_clear public function Clear the object cache for the currently edited item.
ctools_export_ui::edit_cache_get public function Retrieve the item currently being edited from the object cache.
ctools_export_ui::edit_cache_get_key public function Figure out what the cache key is for this object.
ctools_export_ui::edit_cache_set public function Cache the item currently currently being edited.
ctools_export_ui::edit_cache_set_key public function
ctools_export_ui::edit_execute_form public function Execute the form.
ctools_export_ui::edit_execute_form_standard public function Execute the standard form for editing.
ctools_export_ui::edit_execute_form_wizard public function Execute the wizard for editing.
ctools_export_ui::edit_finish_validate public function Perform a final validation check before allowing the form to be finished.
ctools_export_ui::edit_form_import public function Import form. Provides simple helptext instructions and textarea for pasting a export definition.
ctools_export_ui::edit_form_import_submit public function Submit callback for import form.
ctools_export_ui::edit_form_import_validate public function Import form validate handler.
ctools_export_ui::edit_form_submit public function Handle the submission of the edit form. 2
ctools_export_ui::edit_form_validate public function Validate callback for the edit form.
ctools_export_ui::edit_page public function Main entry point to edit an item.
ctools_export_ui::edit_wizard_back public function Wizard 'back' callback when using a wizard to edit an item.
ctools_export_ui::edit_wizard_cancel public function Wizard 'cancel' callback when using a wizard to edit an item.
ctools_export_ui::edit_wizard_finish public function Wizard 'cancel' callback when using a wizard to edit an item. 1
ctools_export_ui::edit_wizard_next public function Wizard 'next' callback when using a wizard to edit an item. 1
ctools_export_ui::enable_page public function Callback to enable a page.
ctools_export_ui::export_page public function Page callback to display export information for an exportable item.
ctools_export_ui::get_page_title public function Get a page title for the current page from our plugin strings.
ctools_export_ui::get_wizard_info public function Get the form info for the wizard. 1
ctools_export_ui::hook_menu public function hook_menu() entry point.
ctools_export_ui::import_page public function Page callback to import information for an exportable item.
ctools_export_ui::list_css public function Add listing CSS to the page.
ctools_export_ui::list_filter public function Determine if a row should be filtered out. 2
ctools_export_ui::list_footer public function Render a footer to go after thie list.
ctools_export_ui::list_form public function Create the filter/sort form at the top of a list of exports. 2
ctools_export_ui::list_form_submit public function Submit the filter/sort form.
ctools_export_ui::list_form_validate public function Validate the filter/sort form.
ctools_export_ui::list_header public function Render a header to go before the list.
ctools_export_ui::list_page public function Master entry point for handling a list.
ctools_export_ui::list_render public function Render all of the rows together.
ctools_export_ui::list_search_fields public function Provide a list of fields to test against for the default "search" widget. 1
ctools_export_ui::load_item public function Called by ctools_export_ui_load to load the item.
ctools_export_ui::redirect public function Perform a drupal_goto() to the location provided by the plugin for the operation.
ctools_export_ui::set_item_state public function Set an item's state to enabled or disabled and output to user.
workbench_base_ui::edit_form_access function
workbench_base_ui::edit_form_context function
workbench_base_ui::edit_form_rules_submit function
workbench_base_ui::edit_save_form function Called to save the final product from the edit form. Overrides ctools_export_ui::edit_save_form
workbench_workflows_ui::edit_form function Provide the actual editing form. Overrides workbench_base_ui::edit_form
workbench_workflows_ui::edit_form_basic_validate function Validate submission of the workbench workflow edit form.
workbench_workflows_ui::edit_form_events function
workbench_workflows_ui::init function Fake constructor -- this is easier to deal with than the real constructor because we are retaining PHP4 compatibility, which would require all child classes to implement their own constructor. Overrides ctools_export_ui::init
workbench_workflows_ui::list_build_row function Build a row based on the item. Overrides ctools_export_ui::list_build_row
workbench_workflows_ui::list_sort_options function Provide a list of sort options. Overrides ctools_export_ui::list_sort_options
workbench_workflows_ui::list_table_header function Provide the table header. Overrides ctools_export_ui::list_table_header