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('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
+ */
+#}
+