summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rothstein <drothstein@gmail.com>2015-10-12 02:08:50 -0400
committerDavid Rothstein <drothstein@gmail.com>2015-10-12 02:08:50 -0400
commitc515c14dadab747b7fb02af04723be2435dff6b8 (patch)
tree1168966a092b9f7150ca9dd4f8b9103580a7838a
parentf33147e9b49facc6c6fc93c25a6f9fab992843b6 (diff)
downloadbrdo-c515c14dadab747b7fb02af04723be2435dff6b8.tar.gz
brdo-c515c14dadab747b7fb02af04723be2435dff6b8.tar.bz2
Issue #1520716 by lokapujya, djdevin, David Lesieur, cwells, jhedstrom: "Files displayed by default" not respected
-rw-r--r--CHANGELOG.txt1
-rw-r--r--modules/file/file.field.inc2
-rw-r--r--modules/file/tests/file.test28
3 files changed, 30 insertions, 1 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index ce4501782..4d4b4c4d9 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,6 +1,7 @@
Drupal 7.40, xxxx-xx-xx (development version)
-----------------------
+- Fixed non-functional "Files displayed by default" setting on file fields.
- The "worker callback" provided in hook_cron_queue_info() and the "finished"
callback specified during batch processing can now be any PHP callable
instead of just functions.
diff --git a/modules/file/file.field.inc b/modules/file/file.field.inc
index 794f16e67..d592381bd 100644
--- a/modules/file/file.field.inc
+++ b/modules/file/file.field.inc
@@ -632,7 +632,7 @@ function file_field_widget_process($element, &$form_state, $form) {
$element['#theme'] = 'file_widget';
// Add the display field if enabled.
- if (!empty($field['settings']['display_field']) && $item['fid']) {
+ if (!empty($field['settings']['display_field'])) {
$element['display'] = array(
'#type' => empty($item['fid']) ? 'hidden' : 'checkbox',
'#title' => t('Include file in display'),
diff --git a/modules/file/tests/file.test b/modules/file/tests/file.test
index 5c19d001f..80433954b 100644
--- a/modules/file/tests/file.test
+++ b/modules/file/tests/file.test
@@ -951,6 +951,34 @@ class FileFieldDisplayTestCase extends FileFieldTestCase {
$this->assertRaw($field_name . '[' . LANGUAGE_NONE . '][0][display]', 'First file appears as expected.');
$this->assertRaw($field_name . '[' . LANGUAGE_NONE . '][1][display]', 'Second file appears as expected.');
}
+
+ /**
+ * Tests default display of File Field.
+ */
+ function testDefaultFileFieldDisplay() {
+ $field_name = strtolower($this->randomName());
+ $type_name = 'article';
+ $field_settings = array(
+ 'display_field' => '1',
+ 'display_default' => '0',
+ );
+ $instance_settings = array(
+ 'description_field' => '1',
+ );
+ $widget_settings = array();
+ $this->createFileField($field_name, $type_name, $field_settings, $instance_settings, $widget_settings);
+ $field = field_info_field($field_name);
+ $instance = field_info_instance('node', $field_name, $type_name);
+
+ $test_file = $this->getTestFile('text');
+
+ // Create a new node with the uploaded file.
+ $nid = $this->uploadNodeFile($test_file, $field_name, $type_name);
+
+ $this->drupalGet('node/' . $nid . '/edit');
+ $this->assertFieldByXPath('//input[@type="checkbox" and @name="' . $field_name . '[und][0][display]"]', NULL, 'Default file display checkbox field exists.');
+ $this->assertFieldByXPath('//input[@type="checkbox" and @name="' . $field_name . '[und][0][display]" and not(@checked)]', NULL, 'Default file display is off.');
+ }
}
/**