You are here

class WorkflowCustomAccessType in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/workflows/tests/modules/workflow_type_test/src/Plugin/WorkflowType/WorkflowCustomAccessType.php \Drupal\workflow_type_test\Plugin\WorkflowType\WorkflowCustomAccessType
  2. 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

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\WorkflowType
View 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

Namesort descending Modifiers Type Description Overrides
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition.
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function
PluginBase::getDerivativeId public function
PluginBase::getPluginDefinition public function 2
PluginBase::getPluginId public function
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginWithFormsTrait::getFormClass public function Implements \Drupal\Core\Plugin\PluginWithFormsInterface::getFormClass().
PluginWithFormsTrait::hasFormClass public function Implements \Drupal\Core\Plugin\PluginWithFormsInterface::hasFormClass().
WorkflowCustomAccessType::defaultConfiguration public function Gets default configuration for this plugin. Overrides WorkflowTypeBase::defaultConfiguration
WorkflowCustomAccessType::workflowAccess public static function Implements hook_ENTITY_TYPE_access().
WorkflowTypeBase::addState public function 1
WorkflowTypeBase::addTransition public function
WorkflowTypeBase::calculateDependencies public function
WorkflowTypeBase::deleteState public function 1
WorkflowTypeBase::deleteTransition public function
WorkflowTypeBase::getConfiguration public function
WorkflowTypeBase::getInitialState public function
WorkflowTypeBase::getNextWeight protected function Gets the weight for a new state or transition.
WorkflowTypeBase::getRequiredStates public function 1
WorkflowTypeBase::getState public function 1
WorkflowTypeBase::getStates public function 1
WorkflowTypeBase::getTransition public function
WorkflowTypeBase::getTransitionFromStateToState public function
WorkflowTypeBase::getTransitionIdFromStateToState protected function Gets the transition ID from state to state.
WorkflowTypeBase::getTransitions public function
WorkflowTypeBase::getTransitionsForState public function
WorkflowTypeBase::hasState public function 1
WorkflowTypeBase::hasTransition public function
WorkflowTypeBase::hasTransitionFromStateToState public function
WorkflowTypeBase::label public function
WorkflowTypeBase::labelWeightMultisort protected static function Sort states or transitions by weight, label, and key.
WorkflowTypeBase::onDependencyRemoval public function 1
WorkflowTypeBase::setConfiguration public function
WorkflowTypeBase::setStateLabel public function 1
WorkflowTypeBase::setStateWeight public function 1
WorkflowTypeBase::setTransitionFromStates public function
WorkflowTypeBase::setTransitionLabel public function
WorkflowTypeBase::setTransitionWeight public function
WorkflowTypeBase::VALID_ID_REGEX constant A regex for matching a valid state/transition machine name.
WorkflowTypeBase::workflowHasData public function
WorkflowTypeBase::workflowStateHasData public function
WorkflowTypeBase::__construct public function
WorkflowTypeInterface::PLUGIN_FORM_KEY constant The key of the global workflow plugin form.