class WebformAccessGroup in Webform 8.5
Same name and namespace in other branches
- 6.x modules/webform_access/src/Entity/WebformAccessGroup.php \Drupal\webform_access\Entity\WebformAccessGroup
Defines the webform access group entity.
Plugin annotation
@ConfigEntityType(
id = "webform_access_group",
label = @Translation("Webform access group"),
label_collection = @Translation("Access groups"),
label_singular = @Translation("access group"),
label_plural = @Translation("access groups"),
label_count = @PluralTranslation(
singular = "@count access group",
plural = "@count access groups",
),
handlers = {
"storage" = "\Drupal\webform_access\WebformAccessGroupStorage",
"access" = "Drupal\webform_access\WebformAccessGroupAccessControlHandler",
"list_builder" = "Drupal\webform_access\WebformAccessGroupListBuilder",
"form" = {
"add" = "Drupal\webform_access\WebformAccessGroupForm",
"edit" = "Drupal\webform_access\WebformAccessGroupForm",
"duplicate" = "Drupal\webform_access\WebformAccessGroupForm",
"delete" = "Drupal\webform_access\WebformAccessGroupDeleteForm",
}
},
admin_permission = "administer webform",
entity_keys = {
"id" = "id",
"label" = "label",
},
links = {
"add-form" = "/admin/structure/webform/config/access/group/manage/add",
"edit-form" = "/admin/structure/webform/config/access/group/manage/{webform_access_group}",
"duplicate-form" = "/admin/structure/webform/config/access/group/manage/{webform_access_group}/duplicate",
"delete-form" = "/admin/structure/webform/config/access/group/manage/{webform_access_group}/delete",
"collection" = "/admin/structure/webform/config/access/group/manage",
},
config_export = {
"id",
"uuid",
"label",
"description",
"type",
"permissions",
"emails",
}
)
Hierarchy
- class \Drupal\Core\Entity\EntityBase implements EntityInterface uses RefinableCacheableDependencyTrait, DependencySerializationTrait
- class \Drupal\Core\Config\Entity\ConfigEntityBase implements ConfigEntityInterface uses SynchronizableEntityTrait, PluginDependencyTrait
- class \Drupal\webform_access\Entity\WebformAccessGroup implements WebformAccessGroupInterface uses StringTranslationTrait
- class \Drupal\Core\Config\Entity\ConfigEntityBase implements ConfigEntityInterface uses SynchronizableEntityTrait, PluginDependencyTrait
Expanded class hierarchy of WebformAccessGroup
4 files declare their use of WebformAccessGroup
- WebformAccessBrowserTestBase.php in modules/
webform_access/ tests/ src/ Functional/ WebformAccessBrowserTestBase.php - WebformAccessTypeListBuilder.php in modules/
webform_access/ src/ WebformAccessTypeListBuilder.php - webform_access.module in modules/
webform_access/ webform_access.module - Provides webform access controls for webform nodes.
- webform_demo_region_contact.install in modules/
webform_demo/ webform_demo_region_contact/ webform_demo_region_contact.install - Install, update and uninstall functions for the webform demo region contact module.
File
- modules/
webform_access/ src/ Entity/ WebformAccessGroup.php, line 57
Namespace
Drupal\webform_access\EntityView source
class WebformAccessGroup extends ConfigEntityBase implements WebformAccessGroupInterface {
use StringTranslationTrait;
/**
* The webform access group ID.
*
* @var string
*/
protected $id;
/**
* The webform access group UUID.
*
* @var string
*/
protected $uuid;
/**
* The webform access group label.
*
* @var string
*/
protected $label;
/**
* The webform access group description.
*
* @var string
*/
protected $description;
/**
* The webform access group type.
*
* @var string
*/
protected $type;
/**
* The webform access group permissions.
*
* @var array
*/
protected $permissions = [];
/**
* The webform access group admin user ids.
*
* @var array
*/
protected $adminIds = [];
/**
* The webform access group user ids.
*
* @var array
*/
protected $userIds = [];
/**
* The webform access group source entity ids.
*
* @var array
*/
protected $entityIds = [];
/**
* The webform access group emails.
*
* @var array
*/
protected $emails = [];
/**
* {@inheritdoc}
*/
public function getType() {
return $this->type ?: '';
}
/**
* {@inheritdoc}
*/
public function getTypeLabel() {
if (empty($this->type)) {
return '';
}
$webform_access_type = WebformAccessType::load($this->type);
return $webform_access_type ? $webform_access_type
->label() : '';
}
/**
* {@inheritdoc}
*/
public function setAdminIds(array $uids) {
$this->adminIds = $uids;
return $this;
}
/**
* {@inheritdoc}
*/
public function getAdminIds() {
return $this->adminIds;
}
/**
* {@inheritdoc}
*/
public function setUserIds(array $uids) {
$this->userIds = $uids;
return $this;
}
/**
* {@inheritdoc}
*/
public function getUserIds() {
return $this->userIds;
}
/**
* {@inheritdoc}
*/
public function setEntityIds(array $entity_ids) {
$this->entityIds = $entity_ids;
return $this;
}
/**
* {@inheritdoc}
*/
public function getEntityIds() {
return $this->entityIds;
}
/**
* {@inheritdoc}
*/
public function setEmails(array $emails) {
$this->emails = $emails;
return $this;
}
/**
* {@inheritdoc}
*/
public function getEmails() {
return $this->emails;
}
/****************************************************************************/
// Add/Remote methods.
/****************************************************************************/
/**
* {@inheritdoc}
*/
public function addAdminId($uid) {
if (!in_array($uid, $this->adminIds)) {
$this->adminIds[] = $uid;
}
return $this;
}
/**
* {@inheritdoc}
*/
public function removeAdminId($uid) {
foreach ($this->adminIds as $index => $adminId) {
if ($adminId === $uid) {
unset($this->adminIds[$index]);
}
}
$this->adminIds = array_values($this->adminIds);
return $this;
}
/**
* {@inheritdoc}
*/
public function addUserId($uid) {
if (!in_array($uid, $this->userIds)) {
$this->userIds[] = $uid;
}
return $this;
}
/**
* {@inheritdoc}
*/
public function removeUserId($uid) {
foreach ($this->userIds as $index => $userId) {
if ($userId === $uid) {
unset($this->userIds[$index]);
}
}
$this->userIds = array_values($this->userIds);
return $this;
}
/**
* {@inheritdoc}
*/
public function addEntityId($entity_type, $entity_id, $field_name, $webform_id) {
$entity = "{$entity_type}:{$entity_id}:{$field_name}:{$webform_id}";
if (!in_array($entity, $this->entityIds)) {
$this->entityIds[] = $entity;
}
return $this;
}
/**
* {@inheritdoc}
*/
public function removeEntityId($entity_type, $entity_id, $field_name, $webform_id) {
$entity = "{$entity_type}:{$entity_id}:{$field_name}:{$webform_id}";
foreach ($this->entityIds as $index => $entityId) {
if ($entity === $entityId) {
unset($this->entityIds[$index]);
}
}
$this->entityIds = array_values($this->entityIds);
return $this;
}
/**
* {@inheritdoc}
*/
public function addEmail($email) {
if (!in_array($email, $this->emails)) {
$this->emails[] = $email;
}
return $this;
}
/**
* {@inheritdoc}
*/
public function removeEmail($email) {
foreach ($this->emails as $index => $email_address) {
if ($email_address === $email) {
unset($this->emails[$index]);
}
}
$this->emails = array_values($this->emails);
return $this;
}
/****************************************************************************/
// Caching methods.
/****************************************************************************/
/**
* {@inheritdoc}
*/
public function invalidateTags() {
Cache::invalidateTags($this
->getCacheTagsToInvalidate());
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CacheableDependencyTrait:: |
protected | property | Cache contexts. | |
CacheableDependencyTrait:: |
protected | property | Cache max-age. | |
CacheableDependencyTrait:: |
protected | property | Cache tags. | |
CacheableDependencyTrait:: |
protected | function | Sets cacheability; useful for value object constructors. | |
ConfigEntityBase:: |
private | property | Whether the config is being deleted by the uninstall process. | |
ConfigEntityBase:: |
protected | property | The language code of the entity's default language. | |
ConfigEntityBase:: |
protected | property | The original ID of the configuration entity. | |
ConfigEntityBase:: |
protected | property | The enabled/disabled status of the configuration entity. | 4 |
ConfigEntityBase:: |
protected | property | Third party entity settings. | |
ConfigEntityBase:: |
protected | property | Trust supplied data and not use configuration schema on save. | |
ConfigEntityBase:: |
protected | property | Information maintained by Drupal core about configuration. | |
ConfigEntityBase:: |
protected | function | Overrides \Drupal\Core\Entity\DependencyTrait:addDependency(). | |
ConfigEntityBase:: |
public | function |
Calculates dependencies and stores them in the dependency property. Overrides ConfigEntityInterface:: |
13 |
ConfigEntityBase:: |
public | function |
Creates a duplicate of the entity. Overrides EntityBase:: |
1 |
ConfigEntityBase:: |
public | function |
Disables the configuration entity. Overrides ConfigEntityInterface:: |
1 |
ConfigEntityBase:: |
public | function |
Enables the configuration entity. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Returns the value of a property. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Returns the cache tags that should be used to invalidate caches. Overrides EntityBase:: |
1 |
ConfigEntityBase:: |
public | function |
Gets the configuration dependency name. Overrides EntityBase:: |
|
ConfigEntityBase:: |
protected static | function | Gets the configuration manager. | |
ConfigEntityBase:: |
public | function |
Gets the configuration target identifier for the entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Gets the configuration dependencies. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets the original ID. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Gets the list of third parties that store information. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets all third-party settings of a given module. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
protected | function | Gets the typed config manager. | |
ConfigEntityBase:: |
public | function |
Gets whether on not the data is trusted. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
protected static | function |
Override to never invalidate the individual entities' cache tags; the
config system already invalidates them. Overrides EntityBase:: |
|
ConfigEntityBase:: |
protected | function |
Override to never invalidate the entity's cache tag; the config system
already invalidates it. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Checks whether this entity is installable. Overrides ConfigEntityInterface:: |
2 |
ConfigEntityBase:: |
public | function |
Overrides Entity::isNew(). Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Returns whether this entity is being changed during the uninstall process. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Deprecated way of generating a link to the entity. See toLink(). Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Informs the entity that entities it depends on will be deleted. Overrides ConfigEntityInterface:: |
7 |
ConfigEntityBase:: |
public static | function |
Acts on entities before they are deleted and before hooks are invoked. Overrides EntityBase:: |
8 |
ConfigEntityBase:: |
public | function |
Acts on an entity before the presave hook is invoked. Overrides EntityBase:: |
13 |
ConfigEntityBase:: |
public | function |
Saves an entity permanently. Overrides EntityBase:: |
1 |
ConfigEntityBase:: |
public | function |
Sets the value of a property. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Sets the original ID. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Sets the status of the configuration entity. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Sets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function | ||
ConfigEntityBase:: |
public static | function | Helper callback for uasort() to sort configuration entities by weight and label. | 6 |
ConfigEntityBase:: |
public | function |
Returns whether the configuration entity is enabled. Overrides ConfigEntityInterface:: |
4 |
ConfigEntityBase:: |
public | function |
Gets an array of all property values. Overrides EntityBase:: |
2 |
ConfigEntityBase:: |
public | function |
Gets the URL object for the entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Sets that the data should be trusted. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Unsets a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets the public URL for this entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Gets the URL object for the entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Constructs an Entity object. Overrides EntityBase:: |
10 |
ConfigEntityBase:: |
public | function |
Overrides EntityBase:: |
4 |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | Aliased as: traitSleep | 1 |
DependencySerializationTrait:: |
public | function | 2 | |
DependencyTrait:: |
protected | property | The object's dependencies. | |
DependencyTrait:: |
protected | function | Adds multiple dependencies. | |
DependencyTrait:: |
protected | function | Adds a dependency. Aliased as: addDependencyTrait | |
EntityBase:: |
protected | property | Boolean indicating whether the entity should be forced to be new. | |
EntityBase:: |
protected | property | The entity type. | |
EntityBase:: |
protected | property | A typed data object wrapping this entity. | |
EntityBase:: |
public | function |
Checks data value access. Overrides AccessibleInterface:: |
1 |
EntityBase:: |
public | function |
Gets the bundle of the entity. Overrides EntityInterface:: |
1 |
EntityBase:: |
public static | function |
Constructs a new entity object, without permanently saving it. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Deletes an entity permanently. Overrides EntityInterface:: |
2 |
EntityBase:: |
public | function |
Enforces an entity to be new. Overrides EntityInterface:: |
|
EntityBase:: |
protected | function | Gets the entity manager. | |
EntityBase:: |
protected | function | Gets the entity type bundle info service. | |
EntityBase:: |
protected | function | Gets the entity type manager. | |
EntityBase:: |
public | function |
The cache contexts associated with this object. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
The maximum age for which this object may be cached. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
The cache tags associated with this object. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
Gets the key that is used to store configuration dependencies. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the entity type definition. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the ID of the type of the entity. Overrides EntityInterface:: |
|
EntityBase:: |
protected | function | The list cache tags to invalidate for this entity. | |
EntityBase:: |
public | function |
Gets a typed data object for this entity object. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Indicates if a link template exists for a given key. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the identifier. Overrides EntityInterface:: |
11 |
EntityBase:: |
public | function |
Gets the label of the entity. Overrides EntityInterface:: |
6 |
EntityBase:: |
public | function |
Gets the language of the entity. Overrides EntityInterface:: |
1 |
EntityBase:: |
protected | function | Gets the language manager. | |
EntityBase:: |
protected | function | Gets an array link templates. | 1 |
EntityBase:: |
public static | function |
Loads an entity. Overrides EntityInterface:: |
|
EntityBase:: |
public static | function |
Loads one or more entities. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Acts on a created entity before hooks are invoked. Overrides EntityInterface:: |
4 |
EntityBase:: |
public static | function |
Acts on deleted entities before the delete hook is invoked. Overrides EntityInterface:: |
16 |
EntityBase:: |
public static | function |
Acts on loaded entities. Overrides EntityInterface:: |
2 |
EntityBase:: |
public | function |
Acts on a saved entity before the insert or update hook is invoked. Overrides EntityInterface:: |
14 |
EntityBase:: |
public static | function |
Changes the values of an entity before it is created. Overrides EntityInterface:: |
5 |
EntityBase:: |
public | function |
Gets a list of entities referenced by this entity. Overrides EntityInterface:: |
1 |
EntityBase:: |
public | function |
Generates the HTML for a link to this entity. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets a list of URI relationships supported by this entity. Overrides EntityInterface:: |
|
EntityBase:: |
protected | function | Gets an array of placeholders for this entity. | 2 |
EntityBase:: |
public | function |
Gets the entity UUID (Universally Unique Identifier). Overrides EntityInterface:: |
1 |
EntityBase:: |
protected | function | Gets the UUID generator. | |
PluginDependencyTrait:: |
protected | function | Calculates and adds dependencies of a specific plugin instance. | 1 |
PluginDependencyTrait:: |
protected | function | Calculates and returns dependencies of a specific plugin instance. | |
PluginDependencyTrait:: |
protected | function | Wraps the module handler. | 1 |
PluginDependencyTrait:: |
protected | function | Wraps the theme handler. | 1 |
RefinableCacheableDependencyTrait:: |
public | function | 1 | |
RefinableCacheableDependencyTrait:: |
public | function | ||
RefinableCacheableDependencyTrait:: |
public | function | ||
RefinableCacheableDependencyTrait:: |
public | function | ||
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
SynchronizableEntityTrait:: |
protected | property | Whether this entity is being created, updated or deleted through a synchronization process. | |
SynchronizableEntityTrait:: |
public | function | ||
SynchronizableEntityTrait:: |
public | function | ||
WebformAccessGroup:: |
protected | property | The webform access group admin user ids. | |
WebformAccessGroup:: |
protected | property | The webform access group description. | |
WebformAccessGroup:: |
protected | property | The webform access group emails. | |
WebformAccessGroup:: |
protected | property | The webform access group source entity ids. | |
WebformAccessGroup:: |
protected | property | The webform access group ID. | |
WebformAccessGroup:: |
protected | property | The webform access group label. | |
WebformAccessGroup:: |
protected | property | The webform access group permissions. | |
WebformAccessGroup:: |
protected | property | The webform access group type. | |
WebformAccessGroup:: |
protected | property | The webform access group user ids. | |
WebformAccessGroup:: |
protected | property |
The webform access group UUID. Overrides ConfigEntityBase:: |
|
WebformAccessGroup:: |
public | function |
Add admin user id to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Add email address to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Add entity id to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Add user id to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Get admin user ids assigned to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Get email addresses assigned to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Get entities assigned to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Get webform access group type. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Get webform access group type label. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Get user ids assigned to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Invalidates an entity's cache tags upon save. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Remove admin user id to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Remove email address to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Remove entity id to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Remove user id to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Set admin user ids assigned to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Set email addresses assigned to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Set entities assigned to webform access group. Overrides WebformAccessGroupInterface:: |
|
WebformAccessGroup:: |
public | function |
Set user ids assigned to webform access group. Overrides WebformAccessGroupInterface:: |