class Plan in farmOS 2.x
Same name in this branch
- 2.x modules/core/plan/src/Entity/Plan.php \Drupal\plan\Entity\Plan
- 2.x modules/core/plan/src/Plugin/migrate/source/d7/Plan.php \Drupal\plan\Plugin\migrate\source\d7\Plan
Defines the plan entity.
Plugin annotation
@ContentEntityType(
id = "plan",
label = @Translation("Plan"),
bundle_label = @Translation("Plan type"),
label_collection = @Translation("Plans"),
label_singular = @Translation("plan"),
label_plural = @Translation("plans"),
label_count = @PluralTranslation(
singular = "@count plan",
plural = "@count plans",
),
handlers = {
"storage" = "Drupal\plan\PlanStorage",
"access" = "\Drupal\entity\UncacheableEntityAccessControlHandler",
"list_builder" = "\Drupal\plan\PlanListBuilder",
"permission_provider" = "\Drupal\entity\UncacheableEntityPermissionProvider",
"view_builder" = "Drupal\Core\Entity\EntityViewBuilder",
"views_data" = "Drupal\views\EntityViewsData",
"form" = {
"add" = "Drupal\plan\Form\PlanForm",
"edit" = "Drupal\plan\Form\PlanForm",
"delete" = "Drupal\Core\Entity\ContentEntityDeleteForm",
"delete-multiple-confirm" = "Drupal\Core\Entity\Form\DeleteMultipleForm",
},
"route_provider" = {
"default" = "Drupal\entity\Routing\AdminHtmlRouteProvider",
"revision" = "\Drupal\entity\Routing\RevisionRouteProvider",
},
"local_task_provider" = {
"default" = "\Drupal\entity\Menu\DefaultEntityLocalTaskProvider",
},
},
base_table = "plan",
data_table = "plan_field_data",
revision_table = "plan_revision",
translatable = TRUE,
revisionable = TRUE,
show_revision_ui = TRUE,
admin_permission = "administer plans",
entity_keys = {
"id" = "id",
"revision" = "revision_id",
"bundle" = "type",
"label" = "name",
"owner" = "uid",
"uuid" = "uuid",
"langcode" = "langcode",
},
bundle_entity_type = "plan_type",
field_ui_base_route = "entity.plan_type.edit_form",
common_reference_target = TRUE,
permission_granularity = "bundle",
links = {
"canonical" = "/plan/{plan}",
"add-page" = "/plan/add",
"add-form" = "/plan/add/{plan_type}",
"collection" = "/admin/content/plan",
"delete-form" = "/plan/{plan}/delete",
"delete-multiple-form" = "/plan/delete",
"edit-form" = "/plan/{plan}/edit",
"revision" = "/plan/{plan}/revisions/{plan_revision}/view",
"revision-revert-form" = "/plan/{plan}/revisions/{plan_revision}/revert",
"version-history" = "/plan/{plan}/revisions",
},
revision_metadata_keys = {
"revision_user" = "revision_user",
"revision_created" = "revision_created",
"revision_log_message" = "revision_log_message"
},
)
Hierarchy
- class \Drupal\plan\Entity\Plan extends \Drupal\entity\Revision\RevisionableContentEntityBase implements PlanInterface uses EntityChangedTrait, RevisionLogEntityTrait, EntityOwnerTrait
Expanded class hierarchy of Plan
2 files declare their use of Plan
- PlanCreationTrait.php in modules/
core/ plan/ tests/ src/ Traits/ PlanCreationTrait.php - PlanCRUDTest.php in modules/
core/ plan/ tests/ src/ Functional/ PlanCRUDTest.php
1 string reference to 'Plan'
- plan.info.yml in modules/
core/ plan/ plan.info.yml - modules/core/plan/plan.info.yml
File
- modules/
core/ plan/ src/ Entity/ Plan.php, line 88
Namespace
Drupal\plan\EntityView source
class Plan extends RevisionableContentEntityBase implements PlanInterface {
use EntityChangedTrait;
use EntityOwnerTrait;
use RevisionLogEntityTrait;
/**
* {@inheritdoc}
*/
public function label() {
return $this
->getName();
}
/**
* {@inheritdoc}
*/
public function getName() {
return $this
->get('name')->value;
}
/**
* {@inheritdoc}
*/
public function setName($name) {
$this
->set('name', $name);
return $this;
}
/**
* {@inheritdoc}
*/
public function getCreatedTime() {
return $this
->get('created')->value;
}
/**
* {@inheritdoc}
*/
public function setCreatedTime($timestamp) {
$this
->set('created', $timestamp);
return $this;
}
/**
* {@inheritdoc}
*/
public function getArchivedTime() {
return $this
->get('archived')->value;
}
/**
* {@inheritdoc}
*/
public function setArchivedTime($timestamp) {
$this
->set('archived', $timestamp);
return $this;
}
/**
* {@inheritdoc}
*/
public function getBundleLabel() {
/** @var \Drupal\plan\Entity\PlanTypeInterface $type */
$type = \Drupal::entityTypeManager()
->getStorage('plan_type')
->load($this
->bundle());
return $type
->label();
}
/**
* {@inheritdoc}
*/
public static function getCurrentUserId() {
return [
\Drupal::currentUser()
->id(),
];
}
/**
* {@inheritdoc}
*/
public static function getRequestTime() {
return \Drupal::time()
->getRequestTime();
}
/**
* {@inheritdoc}
*/
public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
$fields = parent::baseFieldDefinitions($entity_type);
$fields += static::ownerBaseFieldDefinitions($entity_type);
$fields += static::revisionLogBaseFieldDefinitions($entity_type);
$fields['name'] = BaseFieldDefinition::create('string')
->setLabel(t('Name'))
->setDescription(t('The name of the plan.'))
->setRevisionable(TRUE)
->setTranslatable(TRUE)
->setRequired(TRUE)
->setSetting('max_length', 255)
->setSetting('text_processing', 0)
->setDisplayOptions('view', [
'label' => 'hidden',
'type' => 'string',
'weight' => -5,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -5,
])
->setDisplayConfigurable('form', TRUE);
$fields['status'] = BaseFieldDefinition::create('state')
->setLabel(t('Status'))
->setDescription(t('Indicates the status of the plan.'))
->setRevisionable(TRUE)
->setRequired(TRUE)
->setSetting('max_length', 255)
->setDisplayOptions('view', [
'label' => 'hidden',
'type' => 'state_transition_form',
'weight' => 10,
])
->setDisplayOptions('form', [
'type' => 'options_select',
'weight' => 11,
])
->setDisplayConfigurable('form', TRUE)
->setDisplayConfigurable('view', TRUE)
->setSetting('workflow_callback', [
'\\Drupal\\plan\\Entity\\Plan',
'getWorkflowId',
]);
$fields['uid'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Authored by'))
->setDescription(t('The user ID of author of the plan.'))
->setRevisionable(TRUE)
->setSetting('target_type', 'user')
->setSetting('handler', 'default')
->setDefaultValueCallback('Drupal\\plan\\Entity\\Plan::getCurrentUserId')
->setDisplayOptions('view', [
'label' => 'hidden',
'type' => 'author',
'weight' => 0,
])
->setDisplayOptions('form', [
'type' => 'entity_reference_autocomplete',
'weight' => 12,
'settings' => [
'match_operator' => 'CONTAINS',
'size' => '60',
'autocomplete_type' => 'tags',
'placeholder' => '',
],
])
->setDisplayConfigurable('form', TRUE)
->setDisplayConfigurable('view', TRUE);
$fields['created'] = BaseFieldDefinition::create('created')
->setLabel(t('Authored on'))
->setDescription(t('The time that the plan was created.'))
->setRevisionable(TRUE)
->setDefaultValueCallback(static::class . '::getRequestTime')
->setDisplayOptions('view', [
'label' => 'hidden',
'type' => 'timestamp',
'weight' => 0,
])
->setDisplayOptions('form', [
'type' => 'datetime_timestamp',
'weight' => 13,
])
->setDisplayConfigurable('form', TRUE);
$fields['changed'] = BaseFieldDefinition::create('changed')
->setLabel(t('Changed'))
->setDescription(t('The time the plan was last edited.'))
->setRevisionable(TRUE);
$fields['archived'] = BaseFieldDefinition::create('timestamp')
->setLabel(t('Timestamp'))
->setDescription(t('The time the plan was archived.'))
->setRevisionable(TRUE);
return $fields;
}
/**
* Gets the workflow ID for the state field.
*
* @param \Drupal\plan\Entity\PlanInterface $plan
* The plan entity.
*
* @return string
* The workflow ID.
*/
public static function getWorkflowId(PlanInterface $plan) {
$workflow = PlanType::load($plan
->bundle())
->getWorkflowId();
return $workflow;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AccessibleInterface:: |
public | function | Checks data value access. | 9 |
CacheableDependencyInterface:: |
public | function | The cache contexts associated with this object. | 34 |
CacheableDependencyInterface:: |
public | function | The maximum age for which this object may be cached. | 34 |
CacheableDependencyInterface:: |
public | function | The cache tags associated with this object. | 27 |
EntityChangedTrait:: |
public | function | Gets the timestamp of the last entity change for the current translation. | |
EntityChangedTrait:: |
public | function | Returns the timestamp of the last entity change across all translations. | |
EntityChangedTrait:: |
public | function | Sets the timestamp of the last entity change for the current translation. | |
EntityInterface:: |
public | function | Gets the bundle of the entity. | 2 |
EntityInterface:: |
public static | function | Constructs a new entity object, without permanently saving it. | 2 |
EntityInterface:: |
public | function | Creates a duplicate of the entity. | 2 |
EntityInterface:: |
public | function | Deletes an entity permanently. | 2 |
EntityInterface:: |
public | function | Enforces an entity to be new. | 2 |
EntityInterface:: |
public | function | Returns the cache tags that should be used to invalidate caches. | 2 |
EntityInterface:: |
public | function | Gets the key that is used to store configuration dependencies. | 2 |
EntityInterface:: |
public | function | Gets the configuration dependency name. | 2 |
EntityInterface:: |
public | function | Gets the configuration target identifier for the entity. | 2 |
EntityInterface:: |
public | function | Gets the ID of the type of the entity. | 2 |
EntityInterface:: |
public | function | Gets the original ID. | 2 |
EntityInterface:: |
public | function | Gets a typed data object for this entity object. | 2 |
EntityInterface:: |
public | function | Indicates if a link template exists for a given key. | 2 |
EntityInterface:: |
public | function | Gets the identifier. | 2 |
EntityInterface:: |
public | function | Determines whether the entity is new. | 2 |
EntityInterface:: |
public | function | Gets the language of the entity. | 2 |
EntityInterface:: |
public static | function | Loads an entity. | 2 |
EntityInterface:: |
public static | function | Loads one or more entities. | 2 |
EntityInterface:: |
public | function | Acts on a created entity before hooks are invoked. | 2 |
EntityInterface:: |
public static | function | Acts on deleted entities before the delete hook is invoked. | 2 |
EntityInterface:: |
public static | function | Acts on loaded entities. | 3 |
EntityInterface:: |
public | function | Acts on a saved entity before the insert or update hook is invoked. | 2 |
EntityInterface:: |
public static | function | Changes the values of an entity before it is created. | 2 |
EntityInterface:: |
public static | function | Acts on entities before they are deleted and before hooks are invoked. | 2 |
EntityInterface:: |
public | function | Acts on an entity before the presave hook is invoked. | 2 |
EntityInterface:: |
public | function | Gets a list of entities referenced by this entity. | 2 |
EntityInterface:: |
public | function | Saves an entity permanently. | 2 |
EntityInterface:: |
public | function | Sets the original ID. | 2 |
EntityInterface:: |
public | function | Generates the HTML for a link to this entity. | 2 |
EntityInterface:: |
public | function | Gets the URL object for the entity. | 2 |
EntityInterface:: |
public | function | Gets a list of URI relationships supported by this entity. | 2 |
EntityInterface:: |
public | function | Gets the entity UUID (Universally Unique Identifier). | 2 |
EntityOwnerTrait:: |
public static | function | Default value callback for 'owner' base field. | 1 |
EntityOwnerTrait:: |
public | function | 1 | |
EntityOwnerTrait:: |
public | function | ||
EntityOwnerTrait:: |
public static | function | Returns an array of base field definitions for entity owners. | |
EntityOwnerTrait:: |
public | function | ||
EntityOwnerTrait:: |
public | function | ||
FieldableEntityInterface:: |
public static | function | Provides field definitions for a specific bundle. | 2 |
FieldableEntityInterface:: |
public | function | Gets a field item list. | 1 |
FieldableEntityInterface:: |
public | function | Gets the definition of a contained field. | 1 |
FieldableEntityInterface:: |
public | function | Gets an array of field definitions of all contained fields. | 1 |
FieldableEntityInterface:: |
public | function | Gets an array of all field item lists. | 1 |
FieldableEntityInterface:: |
public | function | Gets an array of field item lists for translatable fields. | 1 |
FieldableEntityInterface:: |
public | function | Determines whether the entity has a field with the given name. | 1 |
FieldableEntityInterface:: |
public | function | Checks whether entity validation is required before saving the entity. | 1 |
FieldableEntityInterface:: |
public | function | Reacts to changes to a field. | 1 |
FieldableEntityInterface:: |
public | function | Sets a field value. | 1 |
FieldableEntityInterface:: |
public | function | Sets whether entity validation is required before saving the entity. | 1 |
FieldableEntityInterface:: |
public | function |
Gets an array of all field values. Overrides EntityInterface:: |
|
FieldableEntityInterface:: |
public | function | Validates the currently set values. | 1 |
Plan:: |
public static | function |
Provides base field definitions for an entity type. Overrides FieldableEntityInterface:: |
|
Plan:: |
public | function |
Gets the plan archived timestamp. Overrides PlanInterface:: |
|
Plan:: |
public | function |
Gets the label of the the plan type. Overrides PlanInterface:: |
|
Plan:: |
public | function |
Gets the plan creation timestamp. Overrides PlanInterface:: |
|
Plan:: |
public static | function | ||
Plan:: |
public | function |
Gets the plan name. Overrides PlanInterface:: |
|
Plan:: |
public static | function | ||
Plan:: |
public static | function | Gets the workflow ID for the state field. | |
Plan:: |
public | function |
Gets the label of the entity. Overrides EntityInterface:: |
|
Plan:: |
public | function |
Sets the plan archived timestamp. Overrides PlanInterface:: |
|
Plan:: |
public | function |
Sets the plan creation timestamp. Overrides PlanInterface:: |
|
Plan:: |
public | function |
Sets the plan name. Overrides PlanInterface:: |
|
RefinableCacheableDependencyInterface:: |
public | function | Adds a dependency on an object: merges its cacheability metadata. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Adds cache contexts. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Adds cache tags. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Merges the maximum age (in seconds) with the existing maximum age. | 1 |
RevisionableInterface:: |
public | function | Gets the loaded Revision ID of the entity. | 1 |
RevisionableInterface:: |
public | function | Gets the revision identifier of the entity. | 1 |
RevisionableInterface:: |
public | function | Checks if this entity is the default revision. | 1 |
RevisionableInterface:: |
public | function | Checks if this entity is the latest revision. | 1 |
RevisionableInterface:: |
public | function | Determines whether a new revision should be created on save. | 1 |
RevisionableInterface:: |
public | function | Acts on a revision before it gets saved. | 1 |
RevisionableInterface:: |
public | function | Enforces an entity to be saved as a new revision. | 1 |
RevisionableInterface:: |
public | function | Updates the loaded Revision ID with the revision ID. | 1 |
RevisionableInterface:: |
public | function | Checks whether the entity object was a default revision when it was saved. | 1 |
RevisionLogEntityTrait:: |
abstract public | function | Gets the entity type definition. | |
RevisionLogEntityTrait:: |
public | function | Implements \Drupal\Core\Entity\RevisionLogInterface::getRevisionCreationTime(). | 1 |
RevisionLogEntityTrait:: |
public | function | Implements \Drupal\Core\Entity\RevisionLogInterface::getRevisionLogMessage(). | 1 |
RevisionLogEntityTrait:: |
protected static | function | Gets the name of a revision metadata field. | |
RevisionLogEntityTrait:: |
public | function | Implements \Drupal\Core\Entity\RevisionLogInterface::getRevisionUser(). | 1 |
RevisionLogEntityTrait:: |
public | function | Implements \Drupal\Core\Entity\RevisionLogInterface::getRevisionUserId(). | 1 |
RevisionLogEntityTrait:: |
public static | function | Provides revision-related base field definitions for an entity type. | |
RevisionLogEntityTrait:: |
public | function | Implements \Drupal\Core\Entity\RevisionLogInterface::setRevisionCreationTime(). | 1 |
RevisionLogEntityTrait:: |
public | function | Implements \Drupal\Core\Entity\RevisionLogInterface::setRevisionLogMessage(). | 1 |
RevisionLogEntityTrait:: |
public | function | Implements \Drupal\Core\Entity\RevisionLogInterface::setRevisionUser(). | 1 |
RevisionLogEntityTrait:: |
public | function | Implements \Drupal\Core\Entity\RevisionLogInterface::setRevisionUserId(). | 1 |
SynchronizableInterface:: |
public | function | Returns whether this entity is being changed as part of a synchronization. | 1 |
SynchronizableInterface:: |
public | function | Sets the status of the synchronization flag. | 1 |
TranslatableInterface:: |
public | function | Adds a new translation to the translatable object. | 1 |
TranslatableInterface:: |
public | function | Gets a translation of the data. | 1 |
TranslatableInterface:: |
public | function | Returns the languages the data is translated to. | 1 |
TranslatableInterface:: |
public | function | Returns the translatable object referring to the original language. | 1 |
TranslatableInterface:: |
public | function | Checks there is a translation for the given language code. | 1 |
TranslatableInterface:: |
public | function | Determines if the current translation of the entity has unsaved changes. | 1 |
TranslatableInterface:: |
public | function | Checks whether the translation is the default one. | 1 |
TranslatableInterface:: |
public | function | Checks whether the translation is new. | 1 |
TranslatableInterface:: |
public | function | Returns the translation support status. | 1 |
TranslatableInterface:: |
public | function | Removes the translation identified by the given language code. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks if untranslatable fields should affect only the default translation. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks whether this is the latest revision affecting this translation. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks whether the current translation is affected by the current revision. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks if the revision translation affected flag value has been enforced. | 1 |
TranslatableRevisionableInterface:: |
public | function | Marks the current revision translation as affected. | 1 |
TranslatableRevisionableInterface:: |
public | function | Enforces the revision translation affected flag value. | 1 |