interface ModerationHandlerInterface (View source)

internal  
 

Defines operations that need to vary by entity type.

Much of the logic contained in this handler is an indication of flaws in the Entity API that are insufficiently standardized between entity types. Hopefully over time functionality can be removed from this interface.

Methods

bool
isModeratedEntity(ContentEntityInterface $entity)

Determines if an entity should be moderated.

onPresave(ContentEntityInterface $entity, bool $default_revision, bool $published_state)

Operates on moderated content entities preSave().

enforceRevisionsEntityFormAlter(array $form, FormStateInterface $form_state, string $form_id)

Alters entity forms to enforce revision handling.

enforceRevisionsBundleFormAlter(array $form, FormStateInterface $form_state, string $form_id)

Alters bundle forms to enforce revision handling.

Details

bool isModeratedEntity(ContentEntityInterface $entity)

Determines if an entity should be moderated.

At the workflow level, moderation is enabled or disabled for entire entity types or bundles. After a bundle has been enabled, there maybe be further decisions each entity type may make to evaluate if a given entity is appropriate to be included in a moderation workflow. The handler is only consulted after the user has configured the associated entity type and bundle to be included in a moderation workflow.

Returning FALSE will remove the moderation state field widget from the associated entity form and opt out of all moderation related entity semantics, such as creating new revisions and changing the publishing status of a revision.

Parameters

ContentEntityInterface $entity

The entity we may be moderating.

Return Value

bool

TRUE if this entity should be moderated, FALSE otherwise.

onPresave(ContentEntityInterface $entity, bool $default_revision, bool $published_state)

Operates on moderated content entities preSave().

Parameters

ContentEntityInterface $entity

The entity to modify.

bool $default_revision

Whether the new revision should be made the default revision.

bool $published_state

Whether the state being transitioned to is a published state or not.

enforceRevisionsEntityFormAlter(array $form, FormStateInterface $form_state, string $form_id)

Alters entity forms to enforce revision handling.

Parameters

array $form

An associative array containing the structure of the form.

FormStateInterface $form_state

The current state of the form.

string $form_id

The form id.

See also

hook_form_alter()

enforceRevisionsBundleFormAlter(array $form, FormStateInterface $form_state, string $form_id)

Alters bundle forms to enforce revision handling.

Parameters

array $form

An associative array containing the structure of the form.

FormStateInterface $form_state

The current state of the form.

string $form_id

The form id.

See also

hook_form_alter()