Browse Source

Getting rid of stuff in other PRs

pull/754/head
dannylamb 6 years ago
parent
commit
e7fab65165
  1. 6
      islandora.links.action.yml
  2. 11
      islandora.routing.yml
  3. 481
      modules/islandora_core_feature/config/install/views.view.collections.yml
  4. 1
      modules/islandora_core_feature/islandora_core_feature.features.yml
  5. 47
      src/Controller/AddCollectionController.php
  6. 62
      tests/src/Functional/AddCollectionTest.php

6
islandora.links.action.yml

@ -27,9 +27,3 @@ islandora.reorder_children:
title: Reorder Children
appears_on:
- view.manage_members.page_1
islandora.add_collection:
route_name: islandora.add_collection
title: Add Collection
appears_on:
- view.collections.page_1

11
islandora.routing.yml

@ -59,16 +59,6 @@ islandora.upload_media:
requirements:
_custom_access: '\Drupal\islandora\Form\AddMediaForm::access'
islandora.add_collection:
path: '/collection/add'
defaults:
_controller: '\Drupal\islandora\Controller\AddCollectionController::addCollectionPage'
_title: 'Add Collection'
options:
_admin_route: 'true'
requirements:
_custom_access: '\Drupal\islandora\Controller\AddCollectionController::access'
islandora.media_source_update:
path: '/media/{media}/source'
defaults:
@ -83,7 +73,6 @@ islandora.media_source_put_to_node:
path: '/node/{node}/media/{media_type}/{taxonomy_term}'
defaults:
_controller: '\Drupal\islandora\Controller\MediaSourceController::putToNode'
methods: [PUT]
requirements:
_custom_access: '\Drupal\islandora\Controller\MediaSourceController::putToNodeAccess'

481
modules/islandora_core_feature/config/install/views.view.collections.yml

@ -1,481 +0,0 @@
langcode: en
status: true
dependencies:
config:
- core.entity_view_mode.node.teaser
module:
- media
- node
- taxonomy
- user
id: collections
label: Collections
module: views
description: 'All collections in the repository'
tag: ''
base_table: node_field_data
base_field: nid
core: 8.x
display:
default:
display_plugin: default
id: default
display_title: Master
position: 0
display_options:
access:
type: perm
options:
perm: 'access content'
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: mini
options:
items_per_page: 10
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: ‹‹
next: ››
style:
type: table
options:
grouping: { }
row_class: ''
default_row_class: true
override: true
sticky: false
caption: ''
summary: ''
description: ''
columns:
title: title
info:
title:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
default: '-1'
empty_table: false
row:
type: 'entity:node'
options:
view_mode: teaser
fields:
title:
id: title
table: node_field_data
field: title
relationship: none
group_type: group
admin_label: ''
label: Title
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: false
ellipsis: false
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: string
settings:
link_to_entity: true
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: node
entity_field: title
plugin_id: field
field_member_of:
id: field_member_of
table: node__field_member_of
field: field_member_of
relationship: reverse__node__field_member_of
group_type: count
admin_label: ''
label: Children
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
set_precision: false
precision: 0
decimal: .
separator: ', '
format_plural: 0
format_plural_string: !!binary MQNAY291bnQ=
prefix: ''
suffix: ''
click_sort_column: target_id
type: entity_reference_label
settings: { }
group_column: entity_id
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
field_api_classes: false
plugin_id: field
field_file_size:
id: field_file_size
table: media__field_file_size
field: field_file_size
relationship: reverse__media__field_media_of
group_type: sum
admin_label: ''
label: 'Disk Usage'
exclude: false
alter:
alter_text: true
text: "{% if field_file_size > (1024 ** 5) %}\r\n {% set size = field_file_size / (1024 ** 5) %}\r\n {% set abbreviation = 'PB' %}\r\n{% elseif field_file_size > (1024 ** 4) %}\r\n {% set size = field_file_size / (1024 ** 4) %}\r\n {% set abbreviation = 'TB' %}\r\n{% elseif field_file_size > (1024 ** 3) %}\r\n {% set size = field_file_size / (1024 ** 3) %}\r\n {% set abbreviation = 'GB' %}\r\n{% elseif field_file_size > (1024 ** 2) %}\r\n {% set size = field_file_size / (1024 ** 2) %}\r\n {% set abbreviation = 'MB' %}\r\n{% elseif field_file_size > 1024 %}\r\n {% set size = field_file_size / 1024 %}\r\n {% set abbreviation = 'KB' %}\r\n{% else %}\r\n {% set size = field_file_size %}\r\n {% set abbreviation = 'B' %}\r\n{% endif %}\r\n\r\n{{ size|round(2, 'common') }} {{ abbreviation }}"
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
set_precision: false
precision: 0
decimal: .
separator: ''
format_plural: 0
format_plural_string: !!binary MQNAY291bnQ=
prefix: ''
suffix: ''
click_sort_column: value
type: number_integer
settings: { }
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
field_api_classes: false
plugin_id: field
operations:
id: operations
table: node
field: operations
relationship: none
group_type: group
admin_label: ''
label: 'Operations links'
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: node
plugin_id: entity_operations
filters:
status:
value: '1'
table: node_field_data
field: status
plugin_id: boolean
entity_type: node
entity_field: status
id: status
expose:
operator: ''
group: 1
field_external_uri_uri:
id: field_external_uri_uri
table: taxonomy_term__field_external_uri
field: field_external_uri_uri
relationship: field_model
group_type: group
admin_label: ''
operator: '='
value: 'http://purl.org/dc/dcmitype/Collection'
group: 1
exposed: false
expose:
operator_id: ''
label: ''
description: ''
use_operator: false
operator: ''
identifier: ''
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
placeholder: ''
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
plugin_id: string
sorts: { }
title: Collections
header: { }
footer: { }
empty: { }
relationships:
field_model:
id: field_model
table: node__field_model
field: field_model
relationship: none
group_type: group
admin_label: 'field_model: Taxonomy term'
required: true
plugin_id: standard
reverse__node__field_member_of:
id: reverse__node__field_member_of
table: node_field_data
field: reverse__node__field_member_of
relationship: none
group_type: group
admin_label: field_member_of
required: false
entity_type: node
plugin_id: entity_reverse
reverse__media__field_media_of:
id: reverse__media__field_media_of
table: node_field_data
field: reverse__media__field_media_of
relationship: none
group_type: group
admin_label: field_media_of
required: false
entity_type: node
plugin_id: entity_reverse
arguments: { }
display_extenders: { }
filter_groups:
operator: AND
groups:
1: AND
group_by: true
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url.query_args
- 'user.node_grants:view'
- user.permissions
tags: { }
page_1:
display_plugin: page
id: page_1
display_title: Page
position: 1
display_options:
display_extenders: { }
path: admin/content/collections
menu:
type: tab
title: Collections
description: ''
expanded: false
parent: ''
weight: -100
context: '0'
menu_name: admin
tab_options:
type: normal
title: Collections
description: ''
weight: 0
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url.query_args
- 'user.node_grants:view'
- user.permissions
tags: { }

1
modules/islandora_core_feature/islandora_core_feature.features.yml

@ -14,4 +14,3 @@ required:
- field.storage.node.field_model
- field.storage.node.field_weight
- field.storage.taxonomy_term.field_external_uri
- views.view.collections

47
src/Controller/AddCollectionController.php

@ -1,47 +0,0 @@
<?php
namespace Drupal\islandora\Controller;
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Routing\RouteMatch;
use Drupal\islandora\IslandoraUtils;
/**
* Page to select new type to add as member.
*/
class AddCollectionController extends ManageMembersController {
/**
* Renders a list of types to add as a collection.
*/
public function addCollectionPage() {
$term = $this->utils->getTermForUri('http://purl.org/dc/dcmitype/Collection');
$field = IslandoraUtils::MODEL_FIELD;
return $this->generateTypeList(
'node',
'node_type',
'node.add',
'node.type_add',
$field,
['query' => ["edit[$field][widget]" => $term->id()]]
);
}
/**
* Check if the object being displayed "is Islandora".
*
* @param \Drupal\Core\Routing\RouteMatch $route_match
* The current routing match.
*
* @return \Drupal\Core\Access\AccessResultAllowed|\Drupal\Core\Access\AccessResultForbidden
* Whether we can or can't show the "thing".
*/
public function access(RouteMatch $route_match) {
if ($this->utils->canCreateIslandoraEntity('node', 'node_type')) {
return AccessResult::allowed();
}
return AccessResult::forbidden();
}
}

62
tests/src/Functional/AddCollectionTest.php

@ -1,62 +0,0 @@
<?php
namespace Drupal\Tests\islandora\Functional;
/**
* Tests the AddCollectionController.
*
* @group islandora
*/
class AddCollectionTest extends IslandoraFunctionalTestBase {
/**
* Term to belong to the media.
*
* @var \Drupal\taxonomy\TermInterface
*/
protected $collectionTerm;
/**
* {@inheritdoc}
*/
public function setUp() {
parent::setUp();
$this->collectionTerm = $this->container->get('entity_type.manager')->getStorage('taxonomy_term')->create([
'name' => 'Collection',
'vid' => $this->testVocabulary->id(),
'field_external_uri' => [['uri' => "http://purl.org/dc/dcmitype/Collection"]],
]);
$this->collectionTerm->save();
}
/**
* @covers \Drupal\islandora\Controller\AddCollectionController::addCollectionPage
* @covers \Drupal\islandora\Controller\AddCollectionController::access
* @covers \Drupal\islandora\IslandoraUtils::isIslandoraType
*/
public function testAddCollection() {
$account = $this->drupalCreateUser([
'bypass node access',
]);
$this->drupalLogin($account);
// Visit the add collection page.
$this->drupalGet('/collection/add');
// Assert the test type is in the list of available types.
$this->assertSession()->pageTextContains($this->testType->label());
// Click the test type and make sure you get sent to the right form.
$this->clickLink($this->testType->label());
$url = $this->getUrl();
// Assert that the link creates the correct prepopulate query param.
$substring = 'node/add/test_type?edit%5Bfield_model%5D%5Bwidget%5D=1';
$this->assertTrue(
strpos($url, 'node/add/test_type?edit%5Bfield_model%5D%5Bwidget%5D=1') !== FALSE,
"Malformed URL, could not find $substring in $url."
);
}
}
Loading…
Cancel
Save