function workflow_admin_ui_type_map_form_submit in Workflow 7.2
Same name and namespace in other branches
- 7 workflow_admin_ui/workflow_admin_ui.pages.inc \workflow_admin_ui_type_map_form_submit()
Submit handler for workflow type mapping form.
Save mapping of workflow to node type. E.g., the story node type is using the Foo workflow.
See also
workflow_types_form()
1 string reference to 'workflow_admin_ui_type_map_form_submit'
- workflow_admin_ui_type_map_form in workflow_admin_ui/
workflow_admin_ui.page.type_map.inc - Page builder. Show a maintenance table for type mapping.
File
- workflow_admin_ui/
workflow_admin_ui.page.type_map.inc, line 167 - Provides the type_map maintenance form.
Code
function workflow_admin_ui_type_map_form_submit($form, &$form_state) {
$form_values = $form_state['values'];
// Empty the table and the variables so that types no longer under workflow go away.
// @todo: it is possible to switch to new workflow for node_type, leaving nodes stuck in old workflow.
workflow_delete_workflow_type_map_all();
$node_types = node_type_get_names();
foreach ($node_types as $node_type => $type_name) {
$wid = $form_values['type_map'][$node_type]['workflow'];
variable_del('workflow_' . $node_type);
if ($wid) {
workflow_insert_workflow_type_map($node_type, $wid);
variable_set('workflow_' . $node_type, array_keys(array_filter($form_values['type_map'][$node_type]['placement'])));
// If this type uses workflow, make sure pre-existing nodes are set
// to the workflow's creation state.
if ($form_values['type_map'][$node_type]['workflow']) {
_workflow_node_initialize_nodes('node', $node_type, $field_name = '', $wid);
}
}
}
drupal_set_message(t('The workflow mapping was saved.'));
}