acquia_commercemanager-8.x-1.122/modules/acm_product/acm_product.install

modules/acm_product/acm_product.install
<?php

/**
 * @file
 * Contains install hooks for acm_product.
 */

use Drupal\user\Entity\Role;

/**
 * Implements hook_install().
 */
function acm_product_install() {
  \Drupal::configFactory()->getEditable('acm.connector')
    ->set('product_node_type', 'acm_product')
    ->set('sku_field_name', 'field_skus')
    ->set('category_vid', 'acm_product_category')
    ->set('category_field_name', 'field_category')
    ->save();

  // Add permissions into ACM role.
  $role = Role::load('acm');
  if (!is_null($role)) {
    $permissions = [
      'create acm_product content',
      'delete acm_product revisions',
      'delete any acm_product content',
      'delete own acm_product content',
      'edit any acm_product content',
      'edit own acm_product content',
      'revert acm_product revisions',
      'view acm_product revisions',
    ];

    foreach ($permissions as $permission) {
      $role->grantPermission($permission);
    }
    $role->save();
  }
}

/**
 * Implements hook_uninstall().
 */
function acm_product_uninstall() {
  // Remove permissions from ACM role.
  $role = Role::load('acm');
  if (!is_null($role)) {
    $permissions = [
      'create acm_product content',
      'delete acm_product revisions',
      'delete any acm_product content',
      'delete own acm_product content',
      'edit any acm_product content',
      'edit own acm_product content',
      'revert acm_product revisions',
      'view acm_product revisions',
    ];

    foreach ($permissions as $permission) {
      if ($role->hasPermission($permission)) {
        $role->revokePermission($permission);
      }
    }
    $role->save();
  }
}

/**
 * Add product-related permissions to ACM role.
 */
function acm_product_update_8000() {
  $role = Role::load('acm');
  if (!is_null($role)) {
    $permissions = [
      'create acm_product content',
      'delete acm_product revisions',
      'delete any acm_product content',
      'delete own acm_product content',
      'edit any acm_product content',
      'edit own acm_product content',
      'revert acm_product revisions',
      'view acm_product revisions',
    ];

    foreach ($permissions as $permission) {
      if (!$role->hasPermission($permission)) {
        $role->grantPermission($permission);
      }
    }
    $role->save();
  }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc