in modules/quanthub_core/src/Plugin/Action/QuanthubPublish.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 here for published.
// Moved draft to published and for archive firstly move to draft
// than to published.
switch ($state) {
case QuanthubWorkflowInterface::DRAFT_STATE:
$entity->set('moderation_state', QuanthubWorkflowInterface::PUBLISHED_STATE);
$entity->save();
break;
case QuanthubWorkflowInterface::ARCHIVED_STATE:
$entity->set('moderation_state', QuanthubWorkflowInterface::DRAFT_STATE);
$entity->save();
$entity->set('moderation_state', QuanthubWorkflowInterface::PUBLISHED_STATE);
$entity->save();
break;
}
return $this->t(':title state changed to :state',
[
':title' => $entity->getTitle(),
':state' => $entity->get('moderation_state')->getString(),
]
);
}