summaryrefslogtreecommitdiff
path: root/modules/field/field.default.inc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/field/field.default.inc')
-rw-r--r--modules/field/field.default.inc23
1 files changed, 5 insertions, 18 deletions
diff --git a/modules/field/field.default.inc b/modules/field/field.default.inc
index 4cd512392..060ad990e 100644
--- a/modules/field/field.default.inc
+++ b/modules/field/field.default.inc
@@ -65,25 +65,12 @@ function field_default_validate($entity_type, $entity, $field, $instance, $langc
}
function field_default_submit($entity_type, $entity, $field, $instance, $langcode, &$items, $form, &$form_state) {
- $field_name = $field['field_name'];
-
- if (isset($form_state['values'][$field_name][$langcode])) {
- // Reorder items to account for drag-n-drop reordering.
- if (field_behaviors_widget('multiple values', $instance) == FIELD_BEHAVIOR_DEFAULT) {
- $items = _field_sort_items($field, $items);
- }
- // Filter out empty values.
- $items = _field_filter_items($field, $items);
- }
- elseif (!empty($entity->revision) && isset($form_state['entity']->{$field_name}[$langcode])) {
- // To ensure new revisions are created with all field values in all
- // languages, populate values not included in the form with the ones from
- // the original object. This covers:
- // - partial forms including only a subset of the fields,
- // - fields for which the user has no edit access,
- // - languages not involved in the form.
- $items = $form_state['entity']->{$field_name}[$langcode];
+ // Reorder items to account for drag-n-drop reordering.
+ if (field_behaviors_widget('multiple values', $instance) == FIELD_BEHAVIOR_DEFAULT) {
+ $items = _field_sort_items($field, $items);
}
+ // Filter out empty values.
+ $items = _field_filter_items($field, $items);
}
/**