summaryrefslogtreecommitdiff
path: root/modules/field/field.form.inc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/field/field.form.inc')
-rw-r--r--modules/field/field.form.inc4
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,