class WorkflowCustomAccessType in Drupal 8
Same name and namespace in other branches
- 9 core/modules/workflows/tests/modules/workflow_type_test/src/Plugin/WorkflowType/WorkflowCustomAccessType.php \Drupal\workflow_type_test\Plugin\WorkflowType\WorkflowCustomAccessType
A test workflow with custom state/transition access rules applied.
Plugin annotation
@WorkflowType(
id = "workflow_custom_access_type",
label = @Translation("Workflow Custom Access Type Test"),
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\workflows\Plugin\WorkflowTypeBase implements WorkflowTypeInterface uses PluginWithFormsTrait
- class \Drupal\workflow_type_test\Plugin\WorkflowType\WorkflowCustomAccessType
- class \Drupal\workflows\Plugin\WorkflowTypeBase implements WorkflowTypeInterface uses PluginWithFormsTrait
Expanded class hierarchy of WorkflowCustomAccessType
1 file declares its use of WorkflowCustomAccessType
- workflow_type_test.module in core/
modules/ workflows/ tests/ modules/ workflow_type_test/ workflow_type_test.module - Module file for workflow_type_test.
File
- core/
modules/ workflows/ tests/ modules/ workflow_type_test/ src/ Plugin/ WorkflowType/ WorkflowCustomAccessType.php, line 18
Namespace
Drupal\workflow_type_test\Plugin\WorkflowTypeView source
class WorkflowCustomAccessType extends WorkflowTypeBase {
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
return [
'states' => [
'cannot_update' => [
'label' => 'Cannot Update State',
'weight' => 0,
],
'cannot_delete' => [
'label' => 'Cannot Delete State',
'weight' => 0,
],
],
'transitions' => [
'cannot_update' => [
'label' => 'Cannot Update Transition',
'to' => 'cannot_update',
'weight' => 0,
'from' => [
'cannot_update',
],
],
'cannot_delete' => [
'label' => 'Cannot Delete Transition',
'to' => 'cannot_delete',
'weight' => 1,
'from' => [
'cannot_delete',
],
],
],
];
}
/**
* Implements hook_ENTITY_TYPE_access().
*
* @see workflow_type_test_workflow_access
*/
public static function workflowAccess(WorkflowInterface $entity, $operation, AccountInterface $account) {
$forbidden_operations = \Drupal::state()
->get('workflow_type_test_forbidden_operations', []);
return in_array($operation, $forbidden_operations, TRUE) ? AccessResult::forbidden() : AccessResult::neutral();
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginWithFormsTrait:: |
public | function | ||
PluginWithFormsTrait:: |
public | function | ||
WorkflowCustomAccessType:: |
public | function |
Gets default configuration for this plugin. Overrides WorkflowTypeBase:: |
|
WorkflowCustomAccessType:: |
public static | function | Implements hook_ENTITY_TYPE_access(). | |
WorkflowTypeBase:: |
public | function |
Adds a state to the workflow. Overrides WorkflowTypeInterface:: |
1 |
WorkflowTypeBase:: |
public | function |
Adds a transition to the workflow. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
public | function |
Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: |
1 |
WorkflowTypeBase:: |
public | function |
Deletes a state from the workflow. Overrides WorkflowTypeInterface:: |
1 |
WorkflowTypeBase:: |
public | function |
Deletes a transition. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurableInterface:: |
1 |
WorkflowTypeBase:: |
public | function |
Gets the initial state for the workflow. Overrides WorkflowTypeInterface:: |
1 |
WorkflowTypeBase:: |
protected | function | Gets the weight for a new state or transition. | |
WorkflowTypeBase:: |
public | function |
Gets the required states of workflow type. Overrides WorkflowTypeInterface:: |
1 |
WorkflowTypeBase:: |
public | function |
Gets a workflow state. Overrides WorkflowTypeInterface:: |
2 |
WorkflowTypeBase:: |
public | function |
Gets state objects for the provided state IDs. Overrides WorkflowTypeInterface:: |
1 |
WorkflowTypeBase:: |
public | function |
Gets a transition object for the provided transition ID. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
public | function |
Gets a transition from state to state. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
protected | function | Gets the transition ID from state to state. | |
WorkflowTypeBase:: |
public | function |
Gets transition objects for the provided transition IDs. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
public | function |
Gets the transition IDs for a state for the provided direction. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
public | function |
Determines if the workflow has a state with the provided ID. Overrides WorkflowTypeInterface:: |
1 |
WorkflowTypeBase:: |
public | function |
Determines if a transition exists. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
public | function |
Determines if a transition from state to state exists. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
public | function |
Gets the label for the workflow type. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
protected static | function | Sort states or transitions by weight, label, and key. | |
WorkflowTypeBase:: |
public | function |
Informs the plugin that a dependency of the workflow will be deleted. Overrides WorkflowTypeInterface:: |
2 |
WorkflowTypeBase:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: |
|
WorkflowTypeBase:: |
public | function |
Sets a state's label. Overrides WorkflowTypeInterface:: |
1 |
WorkflowTypeBase:: |
public | function |
Sets a state's weight value. Overrides WorkflowTypeInterface:: |
1 |
WorkflowTypeBase:: |
public | function |
Sets a transition's from states. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
public | function |
Sets a transition's label. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
public | function |
Sets a transition's weight. Overrides WorkflowTypeInterface:: |
|
WorkflowTypeBase:: |
constant | A regex for matching a valid state/transition machine name. | ||
WorkflowTypeBase:: |
public | function |
Determines if the workflow is being has data associated with it. Overrides WorkflowTypeInterface:: |
1 |
WorkflowTypeBase:: |
public | function |
Determines if the workflow state has data associated with it. Overrides WorkflowTypeInterface:: |
1 |
WorkflowTypeBase:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase:: |
1 |
WorkflowTypeInterface:: |
constant | The key of the global workflow plugin form. |