function workflowfield_form_field_ui_field_edit_form_alter in Workflow 7
Same name and namespace in other branches
- 7.2 workflow_field/workflowfield.field.inc \workflowfield_form_field_ui_field_edit_form_alter()
Implements hook_form_FORM_ID_alter().
Changes the hook_field_settings_form. Fixes some Field settings and Field Instance settings, and makes sure users cannot change it. @todo: perhaps this is core functionality, but these values are only saved when the site builder explicitly save the instance settings. :-(
File
- workflow_field/
workflowfield.field.inc, line 23 - Defines a Workflow field, widget and formatter. (copied from list field).
Code
function workflowfield_form_field_ui_field_edit_form_alter(&$form, &$form_state, $form_id) {
if ($form['#field']['type'] == 'workflow') {
// The Workflow field must have a value, so set to required.
$form['instance']['required']['#type'] = 'hidden';
$form['instance']['required']['#default_value'] = 1;
$form['instance']['required']['#disabled'] = TRUE;
// User may not set a default value, this is done by the Workflow module, @see WorkflowState->getOptions().
$form['instance']['default_value_widget']['#type'] = 'hidden';
$form['instance']['default_value_widget']['#disabled'] = TRUE;
unset($form['instance']['default_value_widget']);
// Make sure only 1 value can be entered in the Workflow field.
$form['field']['cardinality']['#type'] = 'hidden';
$form['field']['cardinality']['#default_value'] = 1;
$form['field']['cardinality']['#disabled'] = TRUE;
}
}