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
- class \ctools_export_ui
- class \workbench_base_ui
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
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ctools_export_ui:: |
property | |||
ctools_export_ui:: |
property | |||
ctools_export_ui:: |
property | |||
ctools_export_ui:: |
public | function | Menu callback to determine if an operation is accessible. | 1 |
ctools_export_ui:: |
public | function | ||
ctools_export_ui:: |
public | function | Builds the operation links for a specific exportable item. | |
ctools_export_ui:: |
public | function | Main entry point to clone an item. | |
ctools_export_ui:: |
public | function | Deletes exportable items from the database. | |
ctools_export_ui:: |
public | function | Page callback to delete an exportable item. | |
ctools_export_ui:: |
public | function | Callback to disable a page. | |
ctools_export_ui:: |
public | function | Clear the object cache for the currently edited item. | |
ctools_export_ui:: |
public | function | Retrieve the item currently being edited from the object cache. | |
ctools_export_ui:: |
public | function | Figure out what the cache key is for this object. | |
ctools_export_ui:: |
public | function | Cache the item currently currently being edited. | |
ctools_export_ui:: |
public | function | ||
ctools_export_ui:: |
public | function | Execute the form. | |
ctools_export_ui:: |
public | function | Execute the standard form for editing. | |
ctools_export_ui:: |
public | function | Execute the wizard for editing. | |
ctools_export_ui:: |
public | function | Perform a final validation check before allowing the form to be finished. | |
ctools_export_ui:: |
public | function | Import form. Provides simple helptext instructions and textarea for pasting a export definition. | |
ctools_export_ui:: |
public | function | Submit callback for import form. | |
ctools_export_ui:: |
public | function | Import form validate handler. | |
ctools_export_ui:: |
public | function | Handle the submission of the edit form. | 2 |
ctools_export_ui:: |
public | function | Validate callback for the edit form. | |
ctools_export_ui:: |
public | function | Main entry point to edit an item. | |
ctools_export_ui:: |
public | function | Wizard 'back' callback when using a wizard to edit an item. | |
ctools_export_ui:: |
public | function | Wizard 'cancel' callback when using a wizard to edit an item. | |
ctools_export_ui:: |
public | function | Wizard 'cancel' callback when using a wizard to edit an item. | 1 |
ctools_export_ui:: |
public | function | Wizard 'next' callback when using a wizard to edit an item. | 1 |
ctools_export_ui:: |
public | function | Callback to enable a page. | |
ctools_export_ui:: |
public | function | Page callback to display export information for an exportable item. | |
ctools_export_ui:: |
public | function | Get a page title for the current page from our plugin strings. | |
ctools_export_ui:: |
public | function | Get the form info for the wizard. | 1 |
ctools_export_ui:: |
public | function | hook_menu() entry point. | |
ctools_export_ui:: |
public | function | Page callback to import information for an exportable item. | |
ctools_export_ui:: |
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:: |
public | function | Build a row based on the item. | 2 |
ctools_export_ui:: |
public | function | Add listing CSS to the page. | |
ctools_export_ui:: |
public | function | Determine if a row should be filtered out. | 2 |
ctools_export_ui:: |
public | function | Render a footer to go after thie list. | |
ctools_export_ui:: |
public | function | Create the filter/sort form at the top of a list of exports. | 2 |
ctools_export_ui:: |
public | function | Submit the filter/sort form. | |
ctools_export_ui:: |
public | function | Validate the filter/sort form. | |
ctools_export_ui:: |
public | function | Render a header to go before the list. | |
ctools_export_ui:: |
public | function | Master entry point for handling a list. | |
ctools_export_ui:: |
public | function | Render all of the rows together. | |
ctools_export_ui:: |
public | function | Provide a list of fields to test against for the default "search" widget. | 1 |
ctools_export_ui:: |
public | function | Provide a list of sort options. | 2 |
ctools_export_ui:: |
public | function | Provide the table header. | 2 |
ctools_export_ui:: |
public | function | Called by ctools_export_ui_load to load the item. | |
ctools_export_ui:: |
public | function | Perform a drupal_goto() to the location provided by the plugin for the operation. | |
ctools_export_ui:: |
public | function | Set an item's state to enabled or disabled and output to user. | |
workbench_base_ui:: |
function |
Provide the actual editing form. Overrides ctools_export_ui:: |
3 | |
workbench_base_ui:: |
function | |||
workbench_base_ui:: |
function | |||
workbench_base_ui:: |
function | |||
workbench_base_ui:: |
function |
Called to save the final product from the edit form. Overrides ctools_export_ui:: |