in modules/quanthub_core/src/Plugin/Action/QuanthubDraft.php [42:74]
public function execute(ContentEntityInterface $entity = NULL) {
if (!$state = $entity->get('moderation_state')->getString()) {
return $this->t(":title - can't change state",
[
':title' => $entity->getTitle(),
]
);
}
// Nothing to do for draft, moved archive draft.
// Published node we firstly move to archive than to draft.
switch ($state) {
case QuanthubWorkflowInterface::ARCHIVED_STATE:
$entity->set('moderation_state', QuanthubWorkflowInterface::DRAFT_STATE);
$entity->save();
break;
case QuanthubWorkflowInterface::PUBLISHED_STATE:
$entity->set('moderation_state', QuanthubWorkflowInterface::ARCHIVED_STATE);
$entity->save();
$entity->set('moderation_state', QuanthubWorkflowInterface::DRAFT_STATE);
$entity->save();
break;
}
return $this->t(':title state changed to :state',
[
':title' => $entity->getTitle(),
':state' => $entity->get('moderation_state')->getString(),
]
);
}