reverted: --- b/core/modules/media_entity/config/install/views.view.media.yml +++ /dev/null @@ -1,854 +0,0 @@ -langcode: en -status: true -dependencies: - module: - - image - - media_entity - - user -id: media -label: Media -module: views -description: '' -tag: '' -base_table: media_field_data -base_field: mid -core: 8.x -display: - default: - display_plugin: default - id: default - display_title: Master - position: 0 - display_options: - access: - type: perm - options: - perm: 'access media overview' - cache: - type: tag - options: { } - query: - type: views_query - options: - disable_sql_rewrite: false - distinct: false - replica: false - query_comment: '' - query_tags: { } - exposed_form: - type: basic - options: - submit_button: Apply - reset_button: false - reset_button_label: Reset - exposed_sorts_label: 'Sort by' - expose_sort_order: true - sort_asc_label: Asc - sort_desc_label: Desc - pager: - type: full - options: - items_per_page: 50 - offset: 0 - id: 0 - total_pages: null - expose: - items_per_page: false - items_per_page_label: 'Items per page' - items_per_page_options: '5, 10, 25, 50' - items_per_page_options_all: false - items_per_page_options_all_label: '- All -' - offset: false - offset_label: Offset - tags: - previous: '‹ Previous' - next: 'Next ›' - first: '« First' - last: 'Last »' - quantity: 9 - style: - type: table - options: - grouping: { } - row_class: '' - default_row_class: true - override: true - sticky: false - caption: '' - summary: '' - description: '' - columns: - name: name - bundle: bundle - changed: changed - uid: uid - status: status - thumbnail__target_id: thumbnail__target_id - info: - name: - sortable: true - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: '' - bundle: - sortable: true - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: '' - changed: - sortable: true - default_sort_order: desc - align: '' - separator: '' - empty_column: false - responsive: '' - uid: - sortable: false - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: '' - status: - sortable: true - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: '' - thumbnail__target_id: - sortable: false - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: '' - default: changed - empty_table: false - row: - type: fields - fields: - media_bulk_form: - id: media_bulk_form - table: media - field: media_bulk_form - relationship: none - group_type: group - admin_label: '' - label: '' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: false - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - action_title: Action - include_exclude: exclude - selected_actions: { } - entity_type: media - plugin_id: media_bulk_form - thumbnail__target_id: - id: thumbnail__target_id - table: media_field_data - field: thumbnail__target_id - relationship: none - group_type: group - admin_label: '' - label: Thumbnail - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: image - settings: - image_style: thumbnail - image_link: '' - group_column: '' - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - entity_type: media - entity_field: thumbnail - plugin_id: field - name: - id: name - table: media_field_data - field: name - entity_type: media - entity_field: media - alter: - alter_text: false - make_link: false - absolute: false - trim: false - word_boundary: false - ellipsis: false - strip_tags: false - html: false - hide_empty: false - empty_zero: false - settings: - link_to_entity: true - plugin_id: field - relationship: none - group_type: group - admin_label: '' - label: 'Media name' - exclude: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_alter_empty: true - click_sort_column: value - type: string - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - bundle: - id: bundle - table: media_field_data - field: bundle - relationship: none - group_type: group - admin_label: '' - label: Provider - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: false - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - entity_type: media - entity_field: bundle - plugin_id: field - uid: - id: uid - table: media_field_data - field: uid - relationship: none - group_type: group - admin_label: '' - label: Author - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - entity_type: media - entity_field: uid - plugin_id: field - status: - id: status - table: media_field_data - field: status - relationship: none - group_type: group - admin_label: '' - label: Status - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: boolean - settings: - format: custom - format_custom_true: Published - format_custom_false: Unpublished - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - entity_type: media - entity_field: status - plugin_id: field - changed: - id: changed - table: media_field_data - field: changed - relationship: none - group_type: group - admin_label: '' - label: Updated - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: timestamp - settings: - date_format: short - custom_date_format: '' - timezone: '' - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - entity_type: media - entity_field: changed - plugin_id: field - operations: - id: operations - table: media - field: operations - relationship: none - group_type: group - admin_label: '' - label: Operations - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - destination: true - entity_type: media - plugin_id: entity_operations - filters: - status: - id: status - table: media_field_data - field: status - relationship: none - group_type: group - admin_label: '' - operator: '=' - value: '1' - group: 1 - exposed: true - expose: - operator_id: '' - label: 'True' - description: null - use_operator: false - operator: status_op - identifier: status - required: true - remember: false - multiple: false - remember_roles: - authenticated: authenticated - is_grouped: true - group_info: - label: 'Publishing status' - description: '' - identifier: status - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: - 1: - title: Published - operator: '=' - value: '1' - 2: - title: Unpublished - operator: '=' - value: '0' - plugin_id: boolean - entity_type: media - entity_field: status - bundle: - id: bundle - table: media_field_data - field: bundle - relationship: none - group_type: group - admin_label: '' - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: bundle_op - label: Provider - description: '' - use_operator: false - operator: bundle_op - identifier: provider - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - administrator: '0' - reduce: false - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - entity_type: media - entity_field: bundle - plugin_id: bundle - name: - id: name - table: media_field_data - field: name - relationship: none - group_type: group - admin_label: '' - operator: contains - value: '' - group: 1 - exposed: true - expose: - operator_id: name_op - label: 'Media name' - description: '' - use_operator: false - operator: name_op - identifier: name - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - administrator: '0' - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - entity_type: media - entity_field: name - plugin_id: string - langcode: - id: langcode - table: media_field_data - field: langcode - relationship: none - group_type: group - admin_label: '' - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: langcode_op - label: Language - description: '' - use_operator: false - operator: langcode_op - identifier: langcode - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - administrator: '0' - reduce: false - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - entity_type: media - entity_field: langcode - plugin_id: language - sorts: - created: - id: created - table: media_field_data - field: created - order: DESC - entity_type: media - entity_field: created - plugin_id: date - relationship: none - group_type: group - admin_label: '' - exposed: false - expose: - label: '' - granularity: second - title: Media - header: { } - footer: { } - empty: - area_text_custom: - id: area_text_custom - table: views - field: area_text_custom - relationship: none - group_type: group - admin_label: '' - empty: true - tokenize: false - content: 'No content available.' - plugin_id: text_custom - relationships: { } - arguments: { } - display_extenders: { } - cache_metadata: - max-age: 0 - contexts: - - 'languages:language_content' - - 'languages:language_interface' - - url - - url.query_args - - user.permissions - tags: { } - media_page_list: - display_plugin: page - id: media_page_list - display_title: Media - position: 1 - display_options: - display_extenders: { } - path: admin/content/media - menu: - type: tab - title: Media - description: '' - expanded: false - parent: '' - weight: 0 - context: '0' - menu_name: main - display_description: '' - cache_metadata: - max-age: 0 - contexts: - - 'languages:language_content' - - 'languages:language_interface' - - url - - url.query_args - - user.permissions - tags: { } diff -u b/core/modules/media_entity/media_entity.links.action.yml b/core/modules/media_entity/media_entity.links.action.yml --- b/core/modules/media_entity/media_entity.links.action.yml +++ b/core/modules/media_entity/media_entity.links.action.yml @@ -11,2 +11 @@ - appears_on: - - view.media.media_page_list + diff -u b/core/modules/media_entity/media_entity.links.menu.yml b/core/modules/media_entity/media_entity.links.menu.yml --- b/core/modules/media_entity/media_entity.links.menu.yml +++ b/core/modules/media_entity/media_entity.links.menu.yml @@ -4,12 +4,6 @@ description: 'Manage media bundles.' route_name: entity.media_bundle.collection -entity.media.collection: - title: 'Media' - parent: system.admin_content - description: 'Find and manage media.' - route_name: view.media.media_page_list - entity.media.add: title: 'Add a new media' parent: entity.media.collection diff -u b/core/modules/media_entity/media_entity.module b/core/modules/media_entity/media_entity.module --- b/core/modules/media_entity/media_entity.module +++ b/core/modules/media_entity/media_entity.module @@ -14,7 +14,7 @@ switch ($route_name) { case 'help.page.media_entity': $output = '

' . t('About') . '

'; - $output .= '

' . t('The Media Entity module provides a "base" entity for media. This is a very basic entity which can reference to all kinds of media-objects (local files, YouTube videos, Tweets, Instagram photos, ...). Media entity provides a relation between your website and the media resource. You can reference to/use this entity within any other entity on your site. For more information, see the online documentation for the Media Entity module.', + $output .= '

' . t('The Media entity module provides a "base" entity for media. This is a very basic entity which can reference to all kinds of media-objects (local files, YouTube videos, Tweets, Instagram photos, ...). Media entity provides a relation between your website and the media resource. You can reference to/use this entity within any other entity on your site. For more information, see the online documentation for the Media entity module.', [ ':media_entity_url' => 'https://www.drupal.org/project/media_entity', ':media_entity_handbook' => 'https://drupal-media.gitbooks.io/drupal8-guide/content/modules/media_entity/intro.html', diff -u b/core/modules/media_entity/media_entity.permissions.yml b/core/modules/media_entity/media_entity.permissions.yml --- b/core/modules/media_entity/media_entity.permissions.yml +++ b/core/modules/media_entity/media_entity.permissions.yml @@ -4,9 +4,6 @@ administer media bundles: title: 'Administer media bundles' restrict access: TRUE -access media overview: - title: 'Access the Media overview page' - description: 'Get an overview of all media items.' view media: title: 'View media' update media: diff -u b/core/modules/media_entity/tests/src/Functional/MediaEntityFunctionalTestBase.php b/core/modules/media_entity/tests/src/Functional/MediaEntityFunctionalTestBase.php --- b/core/modules/media_entity/tests/src/Functional/MediaEntityFunctionalTestBase.php +++ b/core/modules/media_entity/tests/src/Functional/MediaEntityFunctionalTestBase.php @@ -44,7 +44,6 @@ 'update any media', 'delete media', 'delete any media', - 'access media overview', // Other permissions. 'administer views', 'access content overview', diff -u b/core/modules/media_entity/tests/src/Functional/MediaUiFunctionalTest.php b/core/modules/media_entity/tests/src/Functional/MediaUiFunctionalTest.php --- b/core/modules/media_entity/tests/src/Functional/MediaUiFunctionalTest.php +++ b/core/modules/media_entity/tests/src/Functional/MediaUiFunctionalTest.php @@ -48,11 +48,6 @@ /** @var \Drupal\media_entity\MediaBundleInterface $bundle */ $bundle = $this->drupalCreateMediaBundle(); - // Assert that media item list is empty. - $this->drupalGet('admin/content/media'); - $assert_session->statusCodeEquals(200); - $assert_session->pageTextContains('No content available.'); - $this->drupalGet('media/add'); $assert_session->statusCodeEquals(200); $assert_session->addressEquals('media/add/' . $bundle->id()); @@ -73,11 +68,6 @@ $this->assertEquals($media->getRevisionLogMessage(), $revision_log_message); $assert_session->titleEquals($media->label() . ' | Drupal'); - // Test if the media list contains exactly 1 media bundle. - $this->drupalGet('admin/content/media'); - $assert_session->statusCodeEquals(200); - $assert_session->pageTextContains($media->label()); - // Tests media edit form. $media_name2 = $this->randomMachineName(); $this->drupalGet('media/' . $media_id . '/edit'); @@ -87,11 +77,6 @@ $page->pressButton('Save and keep published'); $assert_session->titleEquals($media_name2 . ' | Drupal'); - // Assert that the media list updates after an edit. - $this->drupalGet('admin/content/media'); - $assert_session->statusCodeEquals(200); - $assert_session->pageTextContains($media_name2); - // Test that there is no empty vertical tabs element, if the container is // empty (see #2750697). // Make the "Publisher ID" and "Created" fields hidden. @@ -131,39 +116,17 @@ $page->pressButton('Delete'); $media_id = \Drupal::entityQuery('media')->execute(); $this->assertFalse($media_id); - - // Assert that the media list is empty after deleting the media item. - $this->drupalGet('admin/content/media'); - $assert_session->statusCodeEquals(200); - $assert_session->pageTextNotContains($media_name); - $assert_session->pageTextContains('No content available.'); - } /** - * Tests the "media/add" and "admin/content/media" pages. + * Tests the "media/add" and "media/mid" pages. * * Tests if the "media/add" page gives you a selecting option if there are * multiple media bundles available. */ public function testMediaWithMultipleBundles() { - $session = $this->getSession(); - $page = $session->getPage(); $assert_session = $this->assertSession(); - // Test access to media overview page. - $this->drupalLogout(); - $this->drupalGet('admin/content/media'); - $assert_session->statusCodeEquals(403); - - $this->drupalLogin($this->adminUser); - $this->drupalGet('admin/content'); - - // Test there is a media tab in the menu. - $page->clickLink('Media'); - $assert_session->statusCodeEquals(200); - $assert_session->pageTextContains('No content available.'); - // Tests and creates the first media bundle. $first_media_bundle = $this->drupalCreateMediaBundle(['description' => $this->randomMachineName(32)]); @@ -186,29 +149,14 @@ $second_media_item = Media::create(['bundle' => $second_media_bundle->id()]); $second_media_item->save(); - // Go to media item list. - $this->drupalGet('admin/content/media'); + // Go to first media item. + $this->drupalGet('media/' . $first_media_item->id()); $assert_session->statusCodeEquals(200); - $assert_session->linkExists('Add media'); - - // Assert that all available media items are in the list. $assert_session->pageTextContains($first_media_item->label()); - $assert_session->pageTextContains($first_media_bundle->label()); - $assert_session->pageTextContains($second_media_item->label()); - $assert_session->pageTextContains($second_media_bundle->label()); - // Filter for each bundle and assert that the list has been updated. - $this->drupalGet('admin/content/media', ['query' => ['provider' => $first_media_bundle->id()]]); + // Go to second media item. + $this->drupalGet('media/' . $second_media_bundle->id()); $assert_session->statusCodeEquals(200); - $assert_session->pageTextContains($first_media_item->label()); - $assert_session->pageTextNotContains($second_media_item->label()); - - // Filter all and check for all items again. - $this->drupalGet('admin/content/media', ['query' => ['provider' => 'All']]); - $assert_session->statusCodeEquals(200); - $assert_session->pageTextContains($first_media_item->label()); - $assert_session->pageTextContains($first_media_bundle->label()); - $assert_session->pageTextContains($second_media_item->label()); $assert_session->pageTextContains($second_media_bundle->label()); } diff -u b/core/modules/media_entity/tests/src/FunctionalJavascript/MediaEntityJavascriptTestBase.php b/core/modules/media_entity/tests/src/FunctionalJavascript/MediaEntityJavascriptTestBase.php --- b/core/modules/media_entity/tests/src/FunctionalJavascript/MediaEntityJavascriptTestBase.php +++ b/core/modules/media_entity/tests/src/FunctionalJavascript/MediaEntityJavascriptTestBase.php @@ -45,7 +45,6 @@ 'update any media', 'delete media', 'delete any media', - 'access media overview', // Other permissions. 'administer views', 'access content overview', only in patch2: unchanged: --- /dev/null +++ b/core/themes/classy/templates/content/media.html.twig @@ -0,0 +1,19 @@ +{# +/** + * @file + * Theme override to display a media. + * + * Available variables: + * - name: Name of the media. + * - content: Media content. + * + * @see template_preprocess_media() + * + * @ingroup themeable + */ +#} + + {% if content %} + {{ content }} + {% endif %} + only in patch2: unchanged: --- /dev/null +++ b/core/themes/stable/templates/content/media.html.twig @@ -0,0 +1,19 @@ +{# +/** + * @file + * Theme override to display a media. + * + * Available variables: + * - name: Name of the media. + * - content: Media content. + * + * @see template_preprocess_media() + * + * @ingroup themeable + */ +#} + + {% if content %} + {{ content }} + {% endif %} +