You are here

function commerce_store_update_8203 in Commerce Core 8.2

Add the timezone field to stores.

File

modules/store/commerce_store.install, line 52
Contains install and update functions for commerce_store module.

Code

function commerce_store_update_8203() {
  $site_timezone = Store::getSiteTimezone();
  $site_timezone = reset($site_timezone);
  $definition_update_manager = \Drupal::entityDefinitionUpdateManager();
  $storage_definition = BaseFieldDefinition::create('list_string')
    ->setLabel(t('Timezone'))
    ->setDescription(t('Used when determining promotion and tax availability.'))
    ->setInitialValue($site_timezone)
    ->setCardinality(1)
    ->setRequired(TRUE)
    ->setDefaultValueCallback('Drupal\\commerce_store\\Entity\\Store::getSiteTimezone')
    ->setSetting('allowed_values_function', [
    '\\Drupal\\commerce_store\\Entity\\Store',
    'getTimezones',
  ])
    ->setDisplayOptions('form', [
    'type' => 'options_select',
    'weight' => 3,
  ])
    ->setDisplayConfigurable('view', TRUE)
    ->setDisplayConfigurable('form', TRUE);
  $definition_update_manager
    ->installFieldStorageDefinition('timezone', 'commerce_store', 'commerce_store', $storage_definition);
}