' . t('There is data for this field in the database. The field settings can no longer be changed.') . '
' . $form['field']['#prefix'];
+ }
+
+ // Build the configurable field values.
+ $cardinality = $field['cardinality'];
+ $form['field']['container'] = array(
+ // We can't use the container element because it doesn't support the title
+ // or description properties.
+ '#type' => 'item',
+ '#field_prefix' => '
',
+ '#field_suffix' => '
',
+ '#title' => t('Maximum number of values users can enter'),
+ );
+ $form['field']['container']['cardinality'] = array(
+ '#type' => 'select',
+ '#options' => drupal_map_assoc(range(1, 5)) + array(FIELD_CARDINALITY_UNLIMITED => t('Unlimited')) + array('other' => t('More')),
+ '#default_value' => ($cardinality < 6) ? $cardinality : 'other',
+ );
+ // @todo Convert when http://drupal.org/node/1207060 gets in.
+ $form['field']['container']['cardinality_other'] = array(
+ '#type' => 'number',
+ '#default_value' => $cardinality > 5 ? $cardinality : 6,
+ '#min' => 1,
+ '#title' => t('Custom value'),
+ '#title_display' => 'invisible',
+ '#states' => array(
+ 'visible' => array(
+ ':input[name="field[container][cardinality]"]' => array('value' => 'other'),
+ ),
+ ),
+ );
+ if (field_behaviors_widget('multiple values', $instance) == FIELD_BEHAVIOR_DEFAULT) {
+ $form['field']['container']['#description'] = t('%unlimited will provide an %add-more button so users can add as many values as they like.', array(
+ '%unlimited' => t('Unlimited'),
+ '%add-more' => t('Add another item'),
+ ));
}
// Build the non-configurable field values.
@@ -584,24 +620,38 @@ function field_ui_field_settings_form($form, &$form_state, $instance) {
// Add settings provided by the field module. The field module is
// responsible for not returning settings that cannot be changed if
// the field already has data.
- $form['field']['settings'] = array();
+ $form['field']['settings'] = array(
+ '#weight' => 10,
+ );
$additions = module_invoke($field['module'], 'field_settings_form', $field, $instance, $has_data);
if (is_array($additions)) {
- $form['field']['settings'] = $additions;
+ $form['field']['settings'] += $additions;
}
- if (empty($form['field']['settings'])) {
- $form['field']['settings'] = array(
+ if (!element_children($form['field']['settings'])) {
+ $form['field']['settings'] += array(
'#markup' => t('%field has no field settings.', array('%field' => $instance['label'])),
);
}
- $form['#entity_type'] = $entity_type;
- $form['#bundle'] = $bundle;
$form['actions'] = array('#type' => 'actions');
$form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save field settings'));
return $form;
}
+/**
+ * Form validation handler for field_ui_field_edit_form().
+ *
+ * @see field_ui_field_settings_form_submit().
+ */
+function field_ui_field_settings_form_validate($form, &$form_state) {
+ // Validate field cardinality.
+ $cardinality = $form_state['values']['field']['container']['cardinality'];
+ $cardinality_other = $form_state['values']['field']['container']['cardinality_other'];
+ if ($cardinality == 'other' && empty($cardinality_other)) {
+ form_error($form['field']['container']['cardinality_other'], t('Number of values is required.'));
+ }
+}
+
/**
* Form submission handler for field_ui_field_settings_form().
*/
@@ -609,6 +659,16 @@ function field_ui_field_settings_form_submit($form, &$form_state) {
$form_values = $form_state['values'];
$field_values = $form_values['field'];
+ // Save field cardinality.
+ $cardinality = $field_values['container']['cardinality'];
+ $cardinality_other = $field_values['container']['cardinality_other'];
+ $cardinality_other = $form_state['values']['field']['container']['cardinality_other'];
+ if ($cardinality == 'other') {
+ $cardinality = $cardinality_other;
+ }
+ $field_values['cardinality'] = $cardinality;
+ unset($field_values['container']);
+
// Merge incoming form values into the existing field.
$field = field_info_field($field_values['field_name']);
@@ -656,8 +716,7 @@ function field_ui_widget_type_form($form, &$form_state, FieldInstance $instance)
);
$form['basic'] = array(
- '#type' => 'details',
- '#title' => t('Change widget'),
+ '#tree' => TRUE,
);
$form['basic']['widget_type'] = array(
'#type' => 'select',
@@ -791,8 +850,12 @@ function field_ui_field_edit_form($form, &$form_state, $instance) {
$bundle = $instance['bundle'];
$entity_type = $instance['entity_type'];
$field = field_info_field($instance['field_name']);
+ $bundles = field_info_bundles();
- drupal_set_title($instance['label']);
+ drupal_set_title(t('%instance settings for %bundle', array(
+ '%instance' => $instance['label'],
+ '%bundle' => $bundles[$entity_type][$bundle]['label'],
+ )), PASS_THROUGH);
$form['#field'] = $field;
$form['#instance'] = $instance;
@@ -808,22 +871,11 @@ function field_ui_field_edit_form($form, &$form_state, $instance) {
return $form;
}
- $field_type = field_info_field_types($field['type']);
$widget_type = field_info_widget_types($instance['widget']['type']);
- $bundles = field_info_bundles();
// Create a form structure for the instance values.
$form['instance'] = array(
'#tree' => TRUE,
- '#type' => 'details',
- '#title' => t('%type settings', array('%type' => $bundles[$entity_type][$bundle]['label'])),
- '#description' => t('These settings apply only to the %field field when used in the %type type.', array(
- '%field' => $instance['label'],
- '%type' => $bundles[$entity_type][$bundle]['label'],
- )),
- // Ensure field_ui_field_edit_instance_pre_render() gets called in addition
- // to, not instead of, the #pre_render function(s) needed by all details.
- '#pre_render' => array_merge(array('field_ui_field_edit_instance_pre_render'), element_info_property('details', '#pre_render', array())),
);
// Build the non-configurable instance values.
@@ -887,78 +939,19 @@ function field_ui_field_edit_form($form, &$form_state, $instance) {
$additions = module_invoke($field['module'], 'field_instance_settings_form', $field, $instance);
if (is_array($additions)) {
$form['instance']['settings'] = $additions;
+ $form['instance']['settings']['#weight'] = 10;
}
// Add widget settings for the widget type.
$additions = $instance->getWidget()->settingsForm($form, $form_state);
$form['instance']['widget']['settings'] = $additions ? $additions : array('#type' => 'value', '#value' => array());
+ $form['instance']['widget']['#weight'] = 20;
// Add handling for default value if not provided by any other module.
if (field_behaviors_widget('default_value', $instance) == FIELD_BEHAVIOR_DEFAULT && empty($instance['default_value_function'])) {
$form['instance']['default_value_widget'] = field_ui_default_value_widget($field, $instance, $form, $form_state);
}
- $has_data = field_has_data($field);
- if ($has_data) {
- $description = '
' . t('These settings apply to the %field field everywhere it is used. Because the field already has data, some settings can no longer be changed.', array('%field' => $instance['label'])) . '
';
- }
- else {
- $description = '
' . t('These settings apply to the %field field everywhere it is used.', array('%field' => $instance['label'])) . '
';
- }
-
- // Create a form structure for the field values.
- $form['field'] = array(
- '#type' => 'details',
- '#collapsible' => TRUE,
- '#collapsed' => TRUE,
- '#title' => t('Global settings'),
- '#description' => $description,
- '#tree' => TRUE,
- );
-
- // Build the configurable field values.
- $description = t('Maximum number of values users can enter for this field.');
- if (field_behaviors_widget('multiple_values', $instance) == FIELD_BEHAVIOR_DEFAULT) {
- $description .= ' ' . t("'Unlimited' will provide an 'Add more' button so the users can add as many values as they like.");
- }
-
- $cardinality = $field['cardinality'];
- $form['field']['container'] = array(
- // We can't use the container element because it doesn't support the title
- // or description properties.
- '#type' => 'item',
- '#field_prefix' => '
',
- '#field_suffix' => '
',
- '#title' => t('Number of values'),
- '#description' => $description,
- );
- $form['field']['container']['cardinality'] = array(
- '#type' => 'select',
- '#options' => array(FIELD_CARDINALITY_UNLIMITED => t('Unlimited')) + drupal_map_assoc(range(1, 5)) + array('other' => t('More')),
- '#default_value' => ($cardinality < 6) ? $cardinality : 'other',
- );
- // @todo Convert when http://drupal.org/node/1207060 gets in.
- $form['field']['container']['cardinality_other'] = array(
- '#type' => 'number',
- '#default_value' => $cardinality > 5 ? $cardinality : 6,
- '#min' => 1,
- '#title' => t('Custom value'),
- '#title_display' => 'invisible',
- '#states' => array(
- 'visible' => array(
- ':input[name="field[container][cardinality]"]' => array('value' => 'other'),
- ),
- ),
- );
-
- // Add additional field type settings. The field type module is
- // responsible for not returning settings that cannot be changed if
- // the field already has data.
- $additions = module_invoke($field['module'], 'field_settings_form', $field, $instance, $has_data);
- if (is_array($additions)) {
- $form['field']['settings'] = $additions;
- }
-
$form['actions'] = array('#type' => 'actions');
$form['actions']['submit'] = array(
'#type' => 'submit',
@@ -985,36 +978,6 @@ function field_ui_field_edit_form_delete_submit($form, &$form_state) {
$form_state['redirect'] = array('admin/structure/types/manage/' . $instance['bundle'] . '/fields/' . $instance['field_name'] . '/delete', array('query' => $destination));
}
-/**
- * Render API callback: Merges instance, widget and other settings.
- *
- * Combines the instance, widget, and other settings into a single details so
- * that elements within each group can be shown at different weights as if they
- * all had the same parent.
- *
- * This function is assigned as a #pre_render callback in
- * field_ui_field_edit_form().
- */
-function field_ui_field_edit_instance_pre_render($element) {
- // Merge the widget settings into the main form.
- if (isset($element['widget']['settings'])) {
- foreach (element_children($element['widget']['settings']) as $key) {
- $element['widget_' . $key] = $element['widget']['settings'][$key];
- }
- unset($element['widget']['settings']);
- }
-
- // Merge the instance settings into the main form.
- if (isset($element['settings'])) {
- foreach (element_children($element['settings']) as $key) {
- $element['instance_' . $key] = $element['settings'][$key];
- }
- unset($element['settings']);
- }
-
- return $element;
-}
-
/**
* Builds the default value widget for a given field instance.
*/
@@ -1059,13 +1022,6 @@ function field_ui_field_edit_form_validate($form, &$form_state) {
$field_name = $instance['field_name'];
$entity = $form['#entity'];
- // Validate field cardinality.
- $cardinality = $form_state['values']['field']['container']['cardinality'];
- $cardinality_other = $form_state['values']['field']['container']['cardinality_other'];
- if ($cardinality == 'other' && empty($cardinality_other)) {
- form_error($form['field']['container']['cardinality_other'], t('Number of values is required.'));
- }
-
if (isset($form['instance']['default_value_widget'])) {
$element = $form['instance']['default_value_widget'];
@@ -1106,25 +1062,6 @@ function field_ui_field_edit_form_submit($form, &$form_state) {
$field = $form['#field'];
$entity = $form['#entity'];
- // Save field cardinality.
- $cardinality = $form_state['values']['field']['container']['cardinality'];
- $cardinality_other = $form_state['values']['field']['container']['cardinality_other'];
- if ($cardinality == 'other') {
- $cardinality = $cardinality_other;
- }
- $form_state['values']['field']['cardinality'] = $cardinality;
- unset($form_state['values']['field']['container']);
-
- // Merge incoming values into the field.
- $field = array_merge($field, $form_state['values']['field']);
- try {
- field_update_field($field);
- }
- catch (Exception $e) {
- drupal_set_message(t('Attempt to update field %label failed: %message.', array('%label' => $instance['label'], '%message' => $e->getMessage())), 'error');
- return;
- }
-
// Handle the default value.
if (isset($form['instance']['default_value_widget'])) {
$element = $form['instance']['default_value_widget'];
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
index 177e3fd489ba..2d88051dd440 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
@@ -586,6 +586,8 @@ class FieldOverview extends OverviewBase {
field_create_field($field);
field_create_instance($instance);
+ // Always show the field settings step, as the cardinality needs to be
+ // configured for new fields.
$destinations[] = $this->adminPath. '/fields/' . $field['field_name'] . '/field-settings';
$destinations[] = $this->adminPath . '/fields/' . $field['field_name'];
@@ -618,7 +620,7 @@ class FieldOverview extends OverviewBase {
try {
field_create_instance($instance);
- $destinations[] = $this->adminPath . '/fields/' . $instance['field_name'] . '/edit';
+ $destinations[] = $this->adminPath . '/fields/' . $instance['field_name'];
// Store new field information for any additional submit handlers.
$form_state['fields_added']['_add_existing_field'] = $instance['field_name'];
}
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageFieldsTest.php b/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageFieldsTest.php
index e9c4be29ac04..1ed5a4fa7adf 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageFieldsTest.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageFieldsTest.php
@@ -124,12 +124,18 @@ class ManageFieldsTest extends FieldUiTestBase {
*/
function updateField() {
// Go to the field edit page.
- $this->drupalGet('admin/structure/types/manage/' . $this->type . '/fields/' . $this->field_name);
+ $this->drupalGet('admin/structure/types/manage/' . $this->type . '/fields/' . $this->field_name . '/field-settings');
// Populate the field settings with new settings.
$string = 'updated dummy test string';
$edit = array(
'field[settings][test_field_setting]' => $string,
+ );
+ $this->drupalPost(NULL, $edit, t('Save field settings'));
+
+ // Go to the field instance edit page.
+ $this->drupalGet('admin/structure/types/manage/' . $this->type . '/fields/' . $this->field_name);
+ $edit = array(
'instance[settings][test_instance_setting]' => $string,
'instance[widget][settings][test_widget_setting]' => $string,
);
@@ -139,7 +145,7 @@ class ManageFieldsTest extends FieldUiTestBase {
$this->assertFieldSettings($this->type, $this->field_name, $string);
// Assert redirection back to the "manage fields" page.
- $this->assertText(t('Saved @label configuration.', array('@label' => $this->field_label)), 'Redirected to "Manage fields" page.');
+ $this->assertUrl('admin/structure/types/manage/' . $this->type . '/fields');
}
/**
@@ -170,7 +176,7 @@ class ManageFieldsTest extends FieldUiTestBase {
* numeric value. That is tested already in FormTest::testNumber().
*/
function cardinalitySettings() {
- $field_edit_path = 'admin/structure/types/manage/article/fields/body';
+ $field_edit_path = 'admin/structure/types/manage/article/fields/body/field-settings';
// Assert the cardinality other field cannot be empty when cardinality is
// set to other.
@@ -178,7 +184,7 @@ class ManageFieldsTest extends FieldUiTestBase {
'field[container][cardinality]' => 'other',
'field[container][cardinality_other]' => '',
);
- $this->drupalPost($field_edit_path, $edit, t('Save settings'));
+ $this->drupalPost($field_edit_path, $edit, t('Save field settings'));
$this->assertText('Number of values is required.');
// Assert the cardinality field is set to 'Other' when the value is greater
@@ -187,8 +193,8 @@ class ManageFieldsTest extends FieldUiTestBase {
'field[container][cardinality]' => 'other',
'field[container][cardinality_other]' => 16,
);
- $this->drupalPost($field_edit_path, $edit, t('Save settings'));
- $this->assertText('Saved Body configuration.');
+ $this->drupalPost($field_edit_path, $edit, t('Save field settings'));
+ $this->assertText('Updated field Body field settings.');
$this->drupalGet($field_edit_path);
$this->assertFieldByXPath("//select[@name='field[container][cardinality]']", 'other');
$this->assertFieldByXPath("//input[@name='field[container][cardinality_other]']", 16);
@@ -199,8 +205,8 @@ class ManageFieldsTest extends FieldUiTestBase {
'field[container][cardinality]' => 3,
'field[container][cardinality_other]' => 16,
);
- $this->drupalPost($field_edit_path, $edit, t('Save settings'));
- $this->assertText('Saved Body configuration.');
+ $this->drupalPost($field_edit_path, $edit, t('Save field settings'));
+ $this->assertText('Updated field Body field settings.');
$this->drupalGet($field_edit_path);
$this->assertFieldByXPath("//select[@name='field[container][cardinality]']", 3);
$this->assertFieldByXPath("//input[@name='field[container][cardinality_other]']", 6);
diff --git a/core/modules/file/lib/Drupal/file/Tests/FileFieldWidgetTest.php b/core/modules/file/lib/Drupal/file/Tests/FileFieldWidgetTest.php
index 0bb8866eaf83..7fcf35f867c2 100644
--- a/core/modules/file/lib/Drupal/file/Tests/FileFieldWidgetTest.php
+++ b/core/modules/file/lib/Drupal/file/Tests/FileFieldWidgetTest.php
@@ -218,7 +218,7 @@ class FileFieldWidgetTest extends FileFieldTestBase {
// Change the field setting to make its files private, and upload a file.
$edit = array('field[settings][uri_scheme]' => 'private');
- $this->drupalPost("admin/structure/types/manage/$type_name/fields/$field_name", $edit, t('Save settings'));
+ $this->drupalPost("admin/structure/types/manage/$type_name/fields/$field_name/field-settings", $edit, t('Save field settings'));
$nid = $this->uploadNodeFile($test_file, $field_name, $type_name);
$node = node_load($nid, TRUE);
$node_file = file_load($node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['fid']);
@@ -230,12 +230,12 @@ class FileFieldWidgetTest extends FileFieldTestBase {
// Ensure we can't change 'uri_scheme' field settings while there are some
// entities with uploaded files.
- $this->drupalGet("admin/structure/types/manage/$type_name/fields/$field_name");
+ $this->drupalGet("admin/structure/types/manage/$type_name/fields/$field_name/field-settings");
$this->assertFieldByXpath('//input[@id="edit-field-settings-uri-scheme-public" and @disabled="disabled"]', 'public', t('Upload destination setting disabled.'));
// Delete node and confirm that setting could be changed.
node_delete($nid);
- $this->drupalGet("admin/structure/types/manage/$type_name/fields/$field_name");
+ $this->drupalGet("admin/structure/types/manage/$type_name/fields/$field_name/field-settings");
$this->assertFieldByXpath('//input[@id="edit-field-settings-uri-scheme-public" and not(@disabled)]', 'public', t('Upload destination setting enabled.'));
}
diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageFieldDefaultImagesTest.php b/core/modules/image/lib/Drupal/image/Tests/ImageFieldDefaultImagesTest.php
index f7670fe21545..46ce6c5768b4 100644
--- a/core/modules/image/lib/Drupal/image/Tests/ImageFieldDefaultImagesTest.php
+++ b/core/modules/image/lib/Drupal/image/Tests/ImageFieldDefaultImagesTest.php
@@ -70,9 +70,8 @@ class ImageFieldDefaultImagesTest extends ImageFieldTestBase {
field_create_instance($instance2);
$instance2 = field_info_instance('node', $field_name, 'page');
-
- // Confirm the defaults are present on the article field admin form.
- $this->drupalGet("admin/structure/types/manage/article/fields/$field_name");
+ // Confirm the defaults are present on the article field settings form.
+ $this->drupalGet("admin/structure/types/manage/article/fields/$field_name/field-settings");
$this->assertFieldByXpath(
'//input[@name="field[settings][default_image][fid]"]',
$default_images['field']->fid,
@@ -81,6 +80,8 @@ class ImageFieldDefaultImagesTest extends ImageFieldTestBase {
array('@fid' => $default_images['field']->fid)
)
);
+ // Confirm the defaults are present on the article field edit form.
+ $this->drupalGet("admin/structure/types/manage/article/fields/$field_name");
$this->assertFieldByXpath(
'//input[@name="instance[settings][default_image][fid]"]',
$default_images['instance']->fid,
@@ -90,8 +91,8 @@ class ImageFieldDefaultImagesTest extends ImageFieldTestBase {
)
);
- // Confirm the defaults are present on the page field admin form.
- $this->drupalGet("admin/structure/types/manage/page/fields/$field_name");
+ // Confirm the defaults are present on the page field settings form.
+ $this->drupalGet("admin/structure/types/manage/page/fields/$field_name/field-settings");
$this->assertFieldByXpath(
'//input[@name="field[settings][default_image][fid]"]',
$default_images['field']->fid,
@@ -100,6 +101,8 @@ class ImageFieldDefaultImagesTest extends ImageFieldTestBase {
array('@fid' => $default_images['field']->fid)
)
);
+ // Confirm the defaults are present on the page field edit form.
+ $this->drupalGet("admin/structure/types/manage/page/fields/$field_name");
$this->assertFieldByXpath(
'//input[@name="instance[settings][default_image][fid]"]',
$default_images['instance2']->fid,
@@ -137,8 +140,8 @@ class ImageFieldDefaultImagesTest extends ImageFieldTestBase {
$field['settings']['default_image'] = $default_images['field_new']->fid;
field_update_field($field);
- // Confirm that the new field default is used on the article admin form.
- $this->drupalGet("admin/structure/types/manage/article/fields/$field_name");
+ // Confirm that the new default is used on the article field settings form.
+ $this->drupalGet("admin/structure/types/manage/article/fields/$field_name/field-settings");
$this->assertFieldByXpath(
'//input[@name="field[settings][default_image][fid]"]',
$default_images['field_new']->fid,
diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php b/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php
index c07acf6e803e..85361acbf932 100644
--- a/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php
+++ b/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php
@@ -222,7 +222,7 @@ class ImageFieldDisplayTest extends ImageFieldTestBase {
$edit = array(
'files[field_settings_default_image]' => drupal_realpath($images[0]->uri),
);
- $this->drupalPost('admin/structure/types/manage/article/fields/' . $field_name, $edit, t('Save settings'));
+ $this->drupalPost("admin/structure/types/manage/article/fields/$field_name/field-settings", $edit, t('Save field settings'));
// Clear field info cache so the new default image is detected.
field_info_cache_clear();
$field = field_info_field($field_name);
@@ -250,7 +250,7 @@ class ImageFieldDisplayTest extends ImageFieldTestBase {
$edit = array(
'field[settings][default_image][fid]' => 0,
);
- $this->drupalPost('admin/structure/types/manage/article/fields/' . $field_name, $edit, t('Save settings'));
+ $this->drupalPost("admin/structure/types/manage/article/fields/$field_name/field-settings", $edit, t('Save field settings'));
// Clear field info cache so the new default image is detected.
field_info_cache_clear();
$field = field_info_field($field_name);
@@ -263,7 +263,7 @@ class ImageFieldDisplayTest extends ImageFieldTestBase {
$edit = array(
'files[field_settings_default_image]' => drupal_realpath($images[1]->uri),
);
- $this->drupalPost('admin/structure/types/manage/article/fields/' . $private_field_name, $edit, t('Save settings'));
+ $this->drupalPost('admin/structure/types/manage/article/fields/' . $private_field_name . '/field-settings', $edit, t('Save field settings'));
$private_field = field_info_field($private_field_name);
$image = file_load($private_field['settings']['default_image']);
$this->assertEqual('private', file_uri_scheme($image->uri), 'Default image uses private:// scheme.');
diff --git a/core/modules/translation_entity/translation_entity.module b/core/modules/translation_entity/translation_entity.module
index dac1001ec183..91ee94cbeb62 100644
--- a/core/modules/translation_entity/translation_entity.module
+++ b/core/modules/translation_entity/translation_entity.module
@@ -574,23 +574,18 @@ function translation_entity_field_extra_fields() {
/**
* Implements hook_form_FORM_ID_alter().
*/
-function translation_entity_form_field_ui_field_edit_form_alter(array &$form, array &$form_state, $form_id) {
+function translation_entity_form_field_ui_field_settings_form_alter(array &$form, array &$form_state, $form_id) {
$field = $form['#field'];
$field_name = $field['field_name'];
$translatable = $field['translatable'];
- $label = t('Field translation');
$title = t('Users may translate this field.');
- $form['field']['#collapsed'] = $translatable;
-
if (field_has_data($field)) {
$path = "admin/config/regional/translation_entity/translatable/$field_name";
$status = $translatable ? $title : t('This field has data in existing content.');
$link_title = !$translatable ? t('Enable translation') : t('Disable translation');
$form['field']['translatable'] = array(
- '#prefix' => '