Skip to content

Commit

Permalink
Using release 1.0.0 powers to merge this directly.
Browse files Browse the repository at this point in the history
@aksm not convinced about the Views Update so leaving this out
Will add some notes on the release stating that deploying a new Archipelago from old Configs is not a good idea. Thanks
  • Loading branch information
DiegoPino committed Aug 9, 2022
1 parent a152a3c commit 7166e57
Showing 1 changed file with 17 additions and 33 deletions.
50 changes: 17 additions & 33 deletions strawberryfield.install
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,20 @@ function strawberryfield_update_9101() {
}
}
}

/**
* Update node type conditions from node_type to entity_bundle.
* (Adapted from pathauto.install)
*
* This hook is only needed if installing from 0 with old 9.2.x configs
* @see https://www.drupal.org/node/2983299
*
* @note (Adapted from pathauto.install)
*/
function strawberryfield_update_9102() {

$config_factory = \Drupal::configFactory();
// Check and update pathauto
$selection_criteria = \Drupal::configFactory()->get('pathauto.pattern.digital_object_uuid')->get('selection_criteria');
$selection_criteria = $config_factory->get('pathauto.pattern.digital_object_uuid')->get('selection_criteria');
if($selection_criteria) {
$pattern_config = \Drupal::configFactory()->getEditable('pathauto.pattern.digital_object_uuid');
foreach ($selection_criteria as $uuid => $condition) {
Expand All @@ -73,38 +79,16 @@ function strawberryfield_update_9102() {
}
}
}

// Check and update blocks
$block_config_names = [
'block.block.breadcrumbs',
'block.block.views_block__creative_work_series_children_block_1_2',
'block.block.views_block__creative_work_series_children_block_1',
'block.block.views_block__collection_membership_block_1_2',
'block.block.views_block__ld_display_for_digital_objects_sql_block_1',
'block.block.views_block__collection_membership_block_1'
];
foreach ($block_config_names as $block_config_name) {
$block_config = \Drupal::configFactory()->get($block_config_name);
$node_type = $block_config->get('visibility.node_type');
$entity_bundle_node = $block_config->get('visibility.entity_bundle:node');
$block_config_edit = \Drupal::configFactory()->getEditable($block_config_name);
if ($node_type && $entity_bundle_node) {
$block_config_edit->clear('visibility.node_type')->save();
} elseif ($node_type) {
$node_type_data = $block_config->get('visibility.node_type');
$block_config_edit->set('visibility.entity_bundle:node', $node_type_data);
$block_config_edit->set('visibility.entity_bundle:node.id','entity_bundle:node');
$block_config_edit->clear('visibility.node_type');
$block_config_edit->save();
$config_factory = \Drupal::configFactory();
foreach ($config_factory->listAll('block.block.') as $block_config_name) {
$block = $config_factory->getEditable($block_config_name);
if ($block->get('visibility.node_type')) {
$configuration = $block->get('visibility.node_type');
$configuration['id'] = 'entity_bundle:node';
$block->set('visibility.entity_bundle:node', $configuration);
$block->clear('visibility.node_type');
$block->save(TRUE);
}
}

// Check and update view
$view_config = \Drupal::configFactory()->getEditable('views.view.data_collection_manifest');
$display_method_node_type = $view_config->get('display.children_ismemberof_manifest_rest.display_options.fields.type.fallback_options.display_methods.node_type');
if ($display_method_node_type) {
$view_config->set('display.children_ismemberof_manifest_rest.display_options.fields.type.fallback_options.display_methods.entity_bundle:node', $display_method_node_type);
$view_config->clear('display.children_ismemberof_manifest_rest.display_options.fields.type.fallback_options.display_methods.node_type');
$view_config->save();
}
}

0 comments on commit 7166e57

Please sign in to comment.