diff options
Diffstat (limited to 'modules/field/field.form.inc')
-rw-r--r-- | modules/field/field.form.inc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/modules/field/field.form.inc b/modules/field/field.form.inc index 4b92501fc..5641375e5 100644 --- a/modules/field/field.form.inc +++ b/modules/field/field.form.inc @@ -53,6 +53,8 @@ function field_default_form($entity_type, $entity, $field, $instance, $langcode, // If field module handles multiple values for this form element, and we // are displaying an individual element, process the multiple value form. if (!isset($get_delta) && field_behaviors_widget('multiple values', $instance) == FIELD_BEHAVIOR_DEFAULT) { + // Store the entity in the form. + $form['#entity'] = $entity; $elements = field_multiple_value_form($field, $instance, $langcode, $items, $form, $form_state); } // If the widget is handling multiple values (e.g Options), or if we are @@ -63,6 +65,7 @@ function field_default_form($entity_type, $entity, $field, $instance, $langcode, $function = $instance['widget']['module'] . '_field_widget_form'; if (function_exists($function)) { $element = array( + '#entity' => $entity, '#entity_type' => $instance['entity_type'], '#bundle' => $instance['bundle'], '#field_name' => $field_name, @@ -176,6 +179,7 @@ function field_multiple_value_form($field, $instance, $langcode, $items, &$form, $multiple = $field['cardinality'] > 1 || $field['cardinality'] == FIELD_CARDINALITY_UNLIMITED; $element = array( '#entity_type' => $instance['entity_type'], + '#entity' => $form['#entity'], '#bundle' => $instance['bundle'], '#field_name' => $field_name, '#language' => $langcode, |