Skip to content
Snippets Groups Projects
Commit 488f6aa1 authored by baldwinlouie's avatar baldwinlouie Committed by Yas Naoi
Browse files

Issue #3038428 by baldwinlouie, yas, Masami, Xiaohua Guan: Adjust views...

Issue #3038428 by baldwinlouie, yas, Masami, Xiaohua Guan: Adjust views configuration for snapshots and cloud service providers listing page
parent e32a1435
No related branches found
No related tags found
No related merge requests found
......@@ -16,3 +16,13 @@ function cloud_update_8101() {
->condition('name', 'cloud_pricing')
->execute();
}
/**
* Update cloud_list and server_template_listing view's yml files.
*/
function cloud_update_8102() {
cloud_update_yml_definitions([
'views.view.cloud_listing.yml',
'views.view.server_template_listing.yml',
]);
}
......@@ -9,6 +9,7 @@
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\views\ViewExecutable;
use Drupal\Component\Serialization\Yaml;
/**
* Implements hook_help().
......@@ -80,3 +81,33 @@ function cloud_views_pre_render(ViewExecutable $view) {
}
}
}
/**
* Helper function to update the configuration for a set of yml files.
*
* @param array $files
* An array of yml file names.
* @param string $module_name
* Module where the files are found.
*/
function cloud_update_yml_definitions(array $files, $module_name = 'cloud') {
$config_manager = \Drupal::service('config.manager');
$config_path = realpath(drupal_get_path('module', $module_name)) . '/config/install';
foreach ($files as $file) {
$filename = $config_path . '/' . $file;
$file = file_get_contents($filename);
$value = Yaml::decode($file);
$type = $config_manager->getEntityTypeIdByName(basename($filename));
$entity_manager = $config_manager->getEntityManager();
$definition = $entity_manager->getDefinition($type);
$id_key = $definition->getKey('id');
$id = $value[$id_key];
$entity_storage = $entity_manager->getStorage($type);
$entity = $entity_storage->load($id);
if ($entity) {
$entity = $entity_storage->updateFromStorageRecord($entity, $value);
$entity->save();
}
}
}
......@@ -46,25 +46,48 @@ display:
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: mini
type: none
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:
name: name
cloud_context_1: cloud_context_1
list_instances_cloud_config: list_instances_cloud_config
info:
name:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
cloud_context_1:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
list_instances_cloud_config:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
default: name
empty_table: false
row:
type: fields
fields:
......
......@@ -46,25 +46,48 @@ display:
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: mini
type: none
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:
name: name
cloud_context_1: cloud_context_1
list_server_templates_cloud_config: list_server_templates_cloud_config
info:
name:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
cloud_context_1:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
list_server_templates_cloud_config:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
default: name
empty_table: false
row:
type: fields
fields:
......
......@@ -5,10 +5,9 @@
* Install and updates for aws_cloud.
*/
use Drupal\Component\Serialization\Yaml;
use Drupal\Core\Config\FileStorage;
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\field\Entity\FieldConfig;
use Drupal\field\Entity\FieldStorageConfig;
/**
* Add the termination_timestamp field to aws_cloud_instance.
......@@ -251,25 +250,7 @@ function aws_cloud_update_8119() {
$files = [
'views.view.aws_elastic_ip.yml',
];
$config_manager = \Drupal::service('config.manager');
$config_path = realpath(drupal_get_path('module', 'aws_cloud')) . '/config/install';
foreach ($files as $file) {
$filename = $config_path . '/' . $file;
$file = file_get_contents($filename);
$value = Yaml::decode($file);
$type = $config_manager->getEntityTypeIdByName(basename($filename));
$entity_manager = $config_manager->getEntityManager();
$definition = $entity_manager->getDefinition($type);
$id_key = $definition->getKey('id');
$id = $value[$id_key];
$entity_storage = $entity_manager->getStorage($type);
$entity = $entity_storage->load($id);
if ($entity) {
$entity = $entity_storage->updateFromStorageRecord($entity, $value);
$entity->save();
}
}
cloud_update_yml_definitions($files, 'aws_cloud');
}
/**
......@@ -414,6 +395,19 @@ function aws_cloud_update_8125() {
$template->save(TRUE);
}
/**
* Update snapshot header configuration.
*/
function aws_cloud_update_8126() {
$files = [
'views.view.aws_snapshot.yml',
'views.view.aws_instances.yml',
'views.view.aws_network_interfaces.yml',
'views.view.aws_volume.yml',
];
cloud_update_yml_definitions($files, 'aws_cloud');
}
/**
* Helper function to add fields to the entity type.
*
......@@ -452,25 +446,7 @@ function aws_cloud_add_fields($entity_type, $bundle, $fields) {
"core.entity_view_display.$entity_type.$bundle.default.yml",
"core.entity_form_display.$entity_type.$bundle.default.yml",
];
$config_manager = \Drupal::service('config.manager');
$config_path = realpath(drupal_get_path('module', 'aws_cloud')) . '/config/install';
foreach ($files as $file) {
$filename = $config_path . '/' . $file;
$file = file_get_contents($filename);
$value = Yaml::decode($file);
$type = $config_manager->getEntityTypeIdByName(basename($filename));
$entity_manager = $config_manager->getEntityManager();
$definition = $entity_manager->getDefinition($type);
$id_key = $definition->getKey('id');
$id = $value[$id_key];
$entity_storage = $entity_manager->getStorage($type);
$entity = $entity_storage->load($id);
if ($entity) {
$entity = $entity_storage->updateFromStorageRecord($entity, $value);
$entity->save();
}
}
cloud_update_yml_definitions($files, 'aws_cloud');
}
/**
......
uuid: c4fba506-9b50-447f-9cab-273d506cade6
langcode: en
status: true
dependencies:
......@@ -118,7 +119,7 @@ display:
empty_column: false
responsive: ''
created:
sortable: false
sortable: true
default_sort_order: asc
align: ''
separator: ''
......
uuid: 3b08e152-8578-4ab8-92c5-75c2754cd597
langcode: en
status: true
dependencies:
......@@ -361,14 +362,14 @@ display:
empty_column: false
responsive: ''
primary_private_ip:
sortable: false
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
secondary_private_ips:
sortable: false
sortable: true
default_sort_order: asc
align: ''
separator: ''
......
......@@ -64,6 +64,65 @@ display:
next: ››
style:
type: table
options:
grouping: { }
row_class: ''
default_row_class: true
override: true
sticky: false
caption: ''
summary: ''
description: ''
columns:
name: name
snapshot_id: snapshot_id
encrypted: encrypted
size: size
status: status
operations: operations
info:
name:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
snapshot_id:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
encrypted:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
size:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
status:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
operations:
align: ''
separator: ''
empty_column: false
responsive: ''
default: name
empty_table: false
row:
type: fields
fields:
......
......@@ -80,6 +80,7 @@ display:
availability_zone: availability_zone
volume_type: volume_type
state: state
attachment_information: attachment_information
created: created
operations: operations
info:
......@@ -125,8 +126,15 @@ display:
separator: ''
empty_column: false
responsive: ''
attachment_information:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
created:
sortable: false
sortable: true
default_sort_order: asc
align: ''
separator: ''
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment