Issue #2988617 by samuel.mortenson, phenaproxima: Creating media with the media library upload is broken for unlimited cardinality follow-up

8.7.x
effulgentsia 2018-08-08 13:14:05 -07:00
parent 979164b210
commit bef3c9a844
2 changed files with 8 additions and 4 deletions

View File

@ -127,10 +127,10 @@ class MediaLibraryUploadForm extends FormBase {
'#description' => $this->t('Upload files here to add new media.'), '#description' => $this->t('Upload files here to add new media.'),
'#upload_validators' => $upload_validators, '#upload_validators' => $upload_validators,
]; ];
$remaining = $this->getRequest()->query->get('media_library_remaining'); $remaining = (int) $this->getRequest()->query->get('media_library_remaining');
if ($remaining) { if ($remaining || $remaining === FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED) {
$form['upload']['#multiple'] = $remaining > 1; $form['upload']['#multiple'] = $remaining > 1 || $remaining === FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED;
$form['upload']['#cardinality'] = $form['upload_help']['#cardinality'] = (int) $remaining; $form['upload']['#cardinality'] = $form['upload_help']['#cardinality'] = $remaining;
} }
} }
else { else {

View File

@ -356,6 +356,10 @@ class MediaLibraryTest extends WebDriverTestBase {
$unlimited_button->click(); $unlimited_button->click();
$assert_session->assertWaitOnAjaxRequest(); $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)); $page->attachFileToField('Upload', $this->container->get('file_system')->realpath($png_image->uri));
$assert_session->assertWaitOnAjaxRequest(); $assert_session->assertWaitOnAjaxRequest();
$page->fillField('Name', 'Unlimited Cardinality Image'); $page->fillField('Name', 'Unlimited Cardinality Image');