commerce-8.x-2.8/modules/payment/commerce_payment.install
modules/payment/commerce_payment.install
<?php
/**
* @file
* Install, update and uninstall functions for the commerce_payment module.
*/
use Drupal\Core\Field\BaseFieldDefinition;
use Drupal\Core\Session\AccountInterface;
/**
* Implements hook_install().
*/
function commerce_payment_install() {
// Allow authenticated users to manage own payment methods.
user_role_grant_permissions(AccountInterface::AUTHENTICATED_ROLE, ['manage own commerce_payment_method']);
}
/**
* Add the payment_gateway_mode field to payments and payment methods.
*/
function commerce_payment_update_8200() {
$entity_definition_update = \Drupal::entityDefinitionUpdateManager();
$storage_definition = BaseFieldDefinition::create('string')
->setLabel(t('Payment gateway mode'))
->setDescription(t('The payment gateway mode.'))
->setRequired(TRUE);
$entity_definition_update->installFieldStorageDefinition('payment_gateway_mode', 'commerce_payment', 'commerce_payment', $storage_definition);
$entity_definition_update->installFieldStorageDefinition('payment_gateway_mode', 'commerce_payment_method', 'commerce_payment', $storage_definition);
}
/**
* Remove the authorization_expires field from payments, add the expires and completed fields.
*/
function commerce_payment_update_8201() {
$entity_definition_update = \Drupal::entityDefinitionUpdateManager();
$storage_definition = BaseFieldDefinition::create('timestamp')
->setName('authorization_expires')
->setTargetEntityTypeId('commerce_payment')
->setLabel(t('Authorization expires'))
->setDescription(t('The time when the payment authorization expires.'))
->setDisplayConfigurable('view', TRUE);
$entity_definition_update->uninstallFieldStorageDefinition($storage_definition);
$storage_definition = BaseFieldDefinition::create('timestamp')
->setLabel(t('Expires'))
->setDescription(t('The time when the payment expires.'))
->setDisplayConfigurable('view', TRUE);
$entity_definition_update->installFieldStorageDefinition('expires', 'commerce_payment', 'commerce_payment', $storage_definition);
$storage_definition = BaseFieldDefinition::create('timestamp')
->setLabel(t('Completed'))
->setDescription(t('The time when the payment was completed.'))
->setDisplayConfigurable('view', TRUE);
$entity_definition_update->installFieldStorageDefinition('completed', 'commerce_payment', 'commerce_payment', $storage_definition);
}
/**
* Make payment_gateway and payment_method order fields optional.
*/
function commerce_payment_update_8202() {
$entity_definition_update = \Drupal::entityDefinitionUpdateManager();
$field_definition = $entity_definition_update->getFieldStorageDefinition('payment_gateway', 'commerce_order');
$field_definition->setRequired(FALSE);
$entity_definition_update->updateFieldStorageDefinition($field_definition);
$field_definition = $entity_definition_update->getFieldStorageDefinition('payment_method', 'commerce_order');
$field_definition->setRequired(FALSE);
$entity_definition_update->updateFieldStorageDefinition($field_definition);
}
