CategoryAccessController.php

Contains \Drupal\contact\CategoryAccessController.

Namespace

Drupal\contact

File

drupal/core/modules/contact/lib/Drupal/contact/CategoryAccessController.php
View source
<?php

/**
 * @file
 * Contains \Drupal\contact\CategoryAccessController.
 */
namespace Drupal\contact;

use Drupal\Core\Entity\EntityAccessController;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Session\AccountInterface;

/**
 * Defines an access controller for the contact category entity.
 *
 * @see \Drupal\contact\Plugin\Core\Entity\Category.
 */
class CategoryAccessController extends EntityAccessController {

  /**
   * {@inheritdoc}
   */
  public function checkAccess(EntityInterface $entity, $operation, $langcode, AccountInterface $account) {
    if ($operation == 'delete' || $operation == 'update') {

      // Do not allow delete 'personal' category used for personal contact form.
      return user_access('administer contact forms', $account) && $entity
        ->id() !== 'personal';
    }
    else {
      return user_access('administer contact forms', $account);
    }
  }

}

Classes

Namesort descending Description
CategoryAccessController Defines an access controller for the contact category entity.