interface StateTransitionValidationInterface

Same name and namespace in other branches
  1. 9 core/modules/content_moderation/src/StateTransitionValidationInterface.php \Drupal\content_moderation\StateTransitionValidationInterface
  2. 10 core/modules/content_moderation/src/StateTransitionValidationInterface.php \Drupal\content_moderation\StateTransitionValidationInterface
  3. 11.x core/modules/content_moderation/src/StateTransitionValidationInterface.php \Drupal\content_moderation\StateTransitionValidationInterface

Validates whether a certain state transition is allowed.

Hierarchy

Expanded class hierarchy of StateTransitionValidationInterface

All classes that implement StateTransitionValidationInterface

3 files declare their use of StateTransitionValidationInterface
EntityModerationForm.php in core/modules/content_moderation/src/Form/EntityModerationForm.php
ModerationStateConstraintValidator.php in core/modules/content_moderation/src/Plugin/Validation/Constraint/ModerationStateConstraintValidator.php
ModerationStateWidget.php in core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php

File

core/modules/content_moderation/src/StateTransitionValidationInterface.php, line 13

Namespace

Drupal\content_moderation
View source
interface StateTransitionValidationInterface {
    
    /**
     * Gets a list of transitions that are legal for this user on this entity.
     *
     * @param \Drupal\Core\Entity\ContentEntityInterface $entity
     *   The entity to be transitioned.
     * @param \Drupal\Core\Session\AccountInterface $user
     *   The account that wants to perform a transition.
     *
     * @return \Drupal\workflows\Transition[]
     *   The list of transitions that are legal for this user on this entity.
     */
    public function getValidTransitions(ContentEntityInterface $entity, AccountInterface $user);
    
    /**
     * Checks if a transition between two states if valid for the given user.
     *
     * @param \Drupal\workflows\WorkflowInterface $workflow
     *   The workflow entity.
     * @param \Drupal\workflows\StateInterface $original_state
     *   The original workflow state.
     * @param \Drupal\workflows\StateInterface $new_state
     *   The new workflow state.
     * @param \Drupal\Core\Session\AccountInterface $user
     *   The user to validate.
     * @param \Drupal\Core\Entity\ContentEntityInterface $entity
     *   (optional) The entity to be transitioned. Omitting this parameter is
     *   deprecated and will be required in Drupal 9.0.0.
     *
     * @return bool
     *   Returns TRUE if transition is valid, otherwise FALSE.
     */
    public function isTransitionValid(WorkflowInterface $workflow, StateInterface $original_state, StateInterface $new_state, AccountInterface $user, ContentEntityInterface $entity = NULL);

}

Members

Title Sort descending Modifiers Object type Summary Overrides
StateTransitionValidationInterface::getValidTransitions public function Gets a list of transitions that are legal for this user on this entity. 1
StateTransitionValidationInterface::isTransitionValid public function Checks if a transition between two states if valid for the given user. 1

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.