You are here

class workbench_base_ui in Workbench Moderation 7.2

@file

A base class meant to be extended by the workbench_workflows_ui, workbench_states_ui, workbench_events_ui.

Hierarchy

Expanded class hierarchy of workbench_base_ui

File

modules/workbench_workflows/plugins/export_ui/workbench_base_ui.class.php, line 9
A base class meant to be extended by the workbench_workflows_ui, workbench_states_ui, workbench_events_ui.

View source
class workbench_base_ui extends ctools_export_ui {
  function edit_form(&$form, &$form_state) {

    // Get the basic edit form
    parent::edit_form($form, $form_state);

    // @todo, add a description.
    $form['weight'] = array(
      '#type' => 'textfield',
      '#default_value' => $form_state['item']->weight,
      '#title' => t('Weight'),
      '#element_validate' => array(
        'element_validate_integer',
      ),
    );
  }
  function edit_form_context(&$form, &$form_state) {

    // Force setting of the node required context.
    // @todo, add a way of setting which entity type this state, event, workflow works with.
    $form_state['item']->requiredcontexts = array(
      0 => array(
        'identifier' => 'Node',
        'keyword' => 'node',
        'name' => 'entity:node',
        'id' => 1,
      ),
    );
    ctools_include('context-admin');
    ctools_context_admin_includes();
    ctools_add_css('ruleset');

    // Set this up and we can use CTools' Export UI's built in wizard caching,
    // which already has callbacks for the context cache under this name.
    $module = 'export_ui::' . $this->plugin['name'];
    $name = $this
      ->edit_cache_get_key($form_state['item'], $form_state['form type']);
    ctools_context_add_relationship_form($module, $form, $form_state, $form['relationships_table'], $form_state['item'], $name);

    // While these modules are in an experimental state, throw this message in
    // for some clarity.
    drupal_set_message(t("This is a screen where the CTools export UI needs customization to fit the needs of States/Events/Workflows.\n    <br /><br />\n    The idea here is that a site builder could start from an article node and bring in related contexts. For instance the relevant Organic\n    Group could be brought it with one of these relationship plugins. One the next screen the site builder can then use the relevant Organic Group\n    as the basis for access control. So the end user's access to this state/event/workflow could be restricted on an arbitrary condition of the Organic\n    Group, like its published status or taxonomy values.\n    <br /><br />\n    If you have an opinion on how to improve this UI please go to\n    <a href='http://drupal.org/node/1376258'>http://drupal.org/node/1376258</a>"), 'warning');
  }
  function edit_form_access(&$form, &$form_state) {

    // The 'access' UI passes everything via $form_state, unlike the 'context' UI.
    // The main difference is that one is about 3 years newer than the other.
    ctools_include('context');
    ctools_include('context-access-admin');
    $form_state['access'] = $form_state['item']->access;
    $form_state['contexts'] = ctools_context_load_contexts($form_state['item']);
    $form_state['module'] = 'ctools_export_ui';
    $form_state['callback argument'] = $form_state['object']->plugin['name'] . ':' . $form_state['object']
      ->edit_cache_get_key($form_state['item'], $form_state['form type']);
    $form_state['no buttons'] = TRUE;
    $form = ctools_access_admin_form($form, $form_state);

    // While these modules are in an experimental state, throw this message in
    // for some clarity.
    drupal_set_message(t("Here the site builder can set arbitary restrictions on when this state/event/workflow\n      is available. For instance the site builder could make this available under the condition that the currently\n      logged in user is either the node author (if this is a node state/event/workflow) or has the role 'site contributor'.\n      <br /><br />\n      If you have an opinion on how to improve this UI please go to\n      <a href='http://drupal.org/node/1376258'>http://drupal.org/node/1376258</a>"), 'warning');
  }
  function edit_form_rules_submit(&$form, &$form_state) {
    $form_state['item']->access['logic'] = $form_state['values']['logic'];
  }
  function edit_save_form($form_state) {
    parent::edit_save_form($form_state);
    cache_clear_all('ctools_plugin_files:state_flow_entity', 'cache', TRUE);
    cache_clear_all('plugins:state_flow_entity', 'cache', TRUE);
  }

}

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::init public 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. 1
ctools_export_ui::list_build_row public function Build a row based on the item. 2
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::list_sort_options public function Provide a list of sort options. 2
ctools_export_ui::list_table_header public function Provide the table header. 2
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 function Provide the actual editing form. Overrides ctools_export_ui::edit_form 3
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