og_sm-8.x-1.0/og_sm_admin_menu/src/EventSubscriber/GroupPermissionEventSubscriber.php

og_sm_admin_menu/src/EventSubscriber/GroupPermissionEventSubscriber.php
<?php

namespace Drupal\og_sm_admin_menu\EventSubscriber;

use Drupal\Core\StringTranslation\StringTranslationTrait;
use Drupal\Core\StringTranslation\TranslationInterface;
use Drupal\og\Event\PermissionEventInterface;
use Drupal\og\GroupPermission;
use Drupal\og\OgRoleInterface;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerAwareTrait;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

/**
 * Group permission event subscriber for og_sm.
 */
class GroupPermissionEventSubscriber implements EventSubscriberInterface, ContainerAwareInterface {

  use StringTranslationTrait;
  use ContainerAwareTrait;

  /**
   * Constructor.
   *
   * @param \Drupal\Core\StringTranslation\TranslationInterface $translation
   *   The string translation service.
   */
  public function __construct(TranslationInterface $translation) {
    $this->setStringTranslation($translation);
  }

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    return [
      PermissionEventInterface::EVENT_NAME => [['provideDefaultOgPermissions']],
    ];
  }

  /**
   * Provides default OG permissions.
   *
   * @param \Drupal\og\Event\PermissionEventInterface $event
   *   The OG permission event.
   */
  public function provideDefaultOgPermissions(PermissionEventInterface $event) {
    $event->setPermission(
      new GroupPermission([
        'name' => 'access toolbar',
        'title' => $this->t('Use the administration toolbar'),
        'default roles' => [OgRoleInterface::ADMINISTRATOR],
      ])
    );
  }

}

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

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