From bef3c9a844ebc1f8f68d833409d590d7b092e597 Mon Sep 17 00:00:00 2001 From: effulgentsia Date: Wed, 8 Aug 2018 13:14:05 -0700 Subject: [PATCH] Issue #2988617 by samuel.mortenson, phenaproxima: Creating media with the media library upload is broken for unlimited cardinality follow-up --- .../media_library/src/Form/MediaLibraryUploadForm.php | 8 ++++---- .../tests/src/FunctionalJavascript/MediaLibraryTest.php | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/core/modules/media_library/src/Form/MediaLibraryUploadForm.php b/core/modules/media_library/src/Form/MediaLibraryUploadForm.php index 0209fda639b..ac250b1077c 100644 --- a/core/modules/media_library/src/Form/MediaLibraryUploadForm.php +++ b/core/modules/media_library/src/Form/MediaLibraryUploadForm.php @@ -127,10 +127,10 @@ class MediaLibraryUploadForm extends FormBase { '#description' => $this->t('Upload files here to add new media.'), '#upload_validators' => $upload_validators, ]; - $remaining = $this->getRequest()->query->get('media_library_remaining'); - if ($remaining) { - $form['upload']['#multiple'] = $remaining > 1; - $form['upload']['#cardinality'] = $form['upload_help']['#cardinality'] = (int) $remaining; + $remaining = (int) $this->getRequest()->query->get('media_library_remaining'); + if ($remaining || $remaining === FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED) { + $form['upload']['#multiple'] = $remaining > 1 || $remaining === FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED; + $form['upload']['#cardinality'] = $form['upload_help']['#cardinality'] = $remaining; } } else { diff --git a/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php b/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php index 21b2a4647f6..9ae45c3a88c 100644 --- a/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php +++ b/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php @@ -356,6 +356,10 @@ class MediaLibraryTest extends WebDriverTestBase { $unlimited_button->click(); $assert_session->assertWaitOnAjaxRequest(); + // Multiple uploads should be allowed. + // @todo Add test when https://github.com/minkphp/Mink/issues/358 is closed + $this->assertTrue($assert_session->fieldExists('Upload')->hasAttribute('multiple')); + $page->attachFileToField('Upload', $this->container->get('file_system')->realpath($png_image->uri)); $assert_session->assertWaitOnAjaxRequest(); $page->fillField('Name', 'Unlimited Cardinality Image');