Skip to content

Commit cfa1a57

Browse files
Steve WirtSteve Wirt
authored andcommitted
Move metastore hook_update to hook_deploy
1 parent d3ceee2 commit cfa1a57

2 files changed

Lines changed: 30 additions & 13 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
/**
4+
* @file
5+
* Deploy hooks for the metastore module.
6+
*/
7+
8+
/**
9+
* Update the dkan_json_form_widget field widget settings.
10+
*/
11+
function metastore_deploy_switch_to_dkan_json_form_widget(&$sandbox) {
12+
// Retrieve the entity form display settings for the 'data' content type.
13+
$entity_form_display = \Drupal::service('config.factory')
14+
->getEditable('core.entity_form_display.node.data.default');
15+
// Update the 'dkan_json_form_widget' field widget settings.
16+
$settings = $entity_form_display->get('content.field_json_metadata');
17+
if (empty($settings)) {
18+
return "No settings found for 'field_json_metadata'.";
19+
}
20+
if ($settings['type'] == 'json_form_widget') {
21+
$settings['type'] = 'dkan_json_form_widget';
22+
$entity_form_display->set('content.field_json_metadata', $settings)->save(TRUE);
23+
return "Updated 'field_json_metadata' to use 'dkan_json_form_widget'.";
24+
}
25+
26+
}

modules/metastore/metastore.install

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -168,16 +168,7 @@ function metastore_update_8010() {
168168
* Update the dkan_json_form_widget field widget settings.
169169
*/
170170
function metastore_update_8011() {
171-
// Retrieve the entity form display settings for the 'data' content type.
172-
$entity_form_display = \Drupal::service('config.factory')
173-
->getEditable('core.entity_form_display.node.data.default');
174-
// Update the 'dkan_json_form_widget' field widget settings.
175-
$settings = $entity_form_display->get('content.field_json_metadata');
176-
if (empty($settings)) {
177-
return "No settings found for 'field_json_metadata'.";
178-
}
179-
if ($settings['type'] == 'json_form_widget') {
180-
$settings['type'] = 'dkan_json_form_widget';
181-
$entity_form_display->set('content.field_json_metadata', $settings)->save(TRUE);
182-
}
183-
}
171+
// All code moved to metastore_deploy_switch_to_dkan_json_form_widget
172+
// This is only here to ensure the update number is preserved.
173+
return 'Made no changes, they are deferred to happen in a deploy hook.';
174+
}

0 commit comments

Comments
 (0)