commerce-8.x-2.8/modules/order/commerce_order.post_update.php
modules/order/commerce_order.post_update.php
<?php
/**
* @file
* Post update functions for Order.
*/
use Drupal\Core\Entity\Entity\EntityFormDisplay;
use Drupal\field\Entity\FieldStorageConfig;
/**
* Revert Order views to fix broken Price fields.
*/
function commerce_order_post_update_1() {
/** @var \Drupal\commerce\Config\ConfigUpdaterInterface $config_updater */
$config_updater = \Drupal::service('commerce.config_updater');
$views = [
'views.view.commerce_order_item_table',
'views.view.commerce_user_orders',
'views.view.commerce_orders',
];
$result = $config_updater->revert($views, FALSE);
$success_results = $result->getSucceeded();
$failure_results = $result->getFailed();
if ($success_results) {
$message = t('Succeeded:') . '<br>';
foreach ($success_results as $success_message) {
$message .= $success_message . '<br>';
}
$message .= '<br>';
}
if ($failure_results) {
$message .= t('Failed:') . '<br>';
foreach ($failure_results as $failure_message) {
$message .= $failure_message . '<br>';
}
}
return $message;
}
/**
* Update order types.
*/
function commerce_order_post_update_2() {
$entity_type_manager = \Drupal::entityTypeManager();
$order_type_storage = $entity_type_manager->getStorage('commerce_order_type');
/** @var \Drupal\commerce_order\Entity\OrderTypeInterface[] $order_types */
$order_types = $order_type_storage->loadMultiple();
foreach ($order_types as $order_type) {
if ($order_type->getRefreshMode() == 'owner_only') {
$order_type->setRefreshMode('customer');
$order_type->save();
}
}
}
/**
* Revert the Order and Profile entity view displays.
*/
function commerce_order_post_update_3() {
/** @var \Drupal\commerce\Config\ConfigUpdaterInterface $config_updater */
$config_updater = \Drupal::service('commerce.config_updater');
$views = [
'core.entity_view_display.commerce_order.default.default',
'core.entity_view_display.commerce_order.default.user',
'core.entity_view_display.profile.customer.default',
];
$result = $config_updater->revert($views, FALSE);
$success_results = $result->getSucceeded();
$failure_results = $result->getFailed();
if ($success_results) {
$message = t('Succeeded:') . '<br>';
foreach ($success_results as $success_message) {
$message .= $success_message . '<br>';
}
$message .= '<br>';
}
if ($failure_results) {
$message .= t('Failed:') . '<br>';
foreach ($failure_results as $failure_message) {
$message .= $failure_message . '<br>';
}
}
return $message;
}
/**
* Revert the Order entity view displays.
*/
function commerce_order_post_update_4() {
/** @var \Drupal\commerce\Config\ConfigUpdaterInterface $config_updater */
$config_updater = \Drupal::service('commerce.config_updater');
$views = [
'core.entity_view_display.commerce_order.default.default',
'core.entity_view_display.commerce_order.default.user',
];
$result = $config_updater->revert($views, FALSE);
$success_results = $result->getSucceeded();
$failure_results = $result->getFailed();
if ($success_results) {
$message = t('Succeeded:') . '<br>';
foreach ($success_results as $success_message) {
$message .= $success_message . '<br>';
}
$message .= '<br>';
}
if ($failure_results) {
$message .= t('Failed:') . '<br>';
foreach ($failure_results as $failure_message) {
$message .= $failure_message . '<br>';
}
}
return $message;
}
/**
* Revert the Order entity form display.
*/
function commerce_order_post_update_5() {
/** @var \Drupal\commerce\Config\ConfigUpdaterInterface $config_updater */
$config_updater = \Drupal::service('commerce.config_updater');
$views = [
'core.entity_form_display.commerce_order.default.default',
];
$result = $config_updater->revert($views, FALSE);
$success_results = $result->getSucceeded();
$failure_results = $result->getFailed();
if ($success_results) {
$message = t('Succeeded:') . '<br>';
foreach ($success_results as $success_message) {
$message .= $success_message . '<br>';
}
$message .= '<br>';
}
if ($failure_results) {
$message .= t('Failed:') . '<br>';
foreach ($failure_results as $failure_message) {
$message .= $failure_message . '<br>';
}
}
return $message;
}
/**
* Update the profile address field.
*/
function commerce_order_post_update_6() {
// Remove the default_country setting from any profile form.
// That allows Commerce to apply its own default taken from the store.
$query = \Drupal::entityQuery('entity_form_display')->condition('targetEntityType', 'profile');
$ids = $query->execute();
$form_displays = EntityFormDisplay::loadMultiple($ids);
foreach ($form_displays as $id => $form_display) {
/** @var \Drupal\Core\Entity\Display\EntityDisplayInterface $form_display */
if ($component = $form_display->getComponent('address')) {
$component['settings'] = [];
$form_display->setComponent('address', $component);
$form_display->save();
}
}
}
/**
* Revert the 'commerce_order_item_table' view - empty text added.
*/
function commerce_order_post_update_7() {
/** @var \Drupal\commerce\Config\ConfigUpdaterInterface $config_updater */
$config_updater = \Drupal::service('commerce.config_updater');
$views = [
'views.view.commerce_order_item_table',
];
$result = $config_updater->revert($views);
$success_results = $result->getSucceeded();
$failure_results = $result->getFailed();
if ($success_results) {
$message = t('Succeeded:') . '<br>';
foreach ($success_results as $success_message) {
$message .= $success_message . '<br>';
}
$message .= '<br>';
}
if ($failure_results) {
$message .= t('Failed:') . '<br>';
foreach ($failure_results as $failure_message) {
$message .= $failure_message . '<br>';
}
}
return $message;
}
/**
* Unlock the profile 'address' field.
*/
function commerce_order_post_update_8() {
$field = FieldStorageConfig::loadByName('profile', 'address');
$field->setLocked(FALSE);
$field->save();
}
