function _cms_content_sync_set_entity_push_pools in CMS Content Sync 8
Same name and namespace in other branches
- 2.1.x cms_content_sync.module \_cms_content_sync_set_entity_push_pools()
- 2.0.x cms_content_sync.module \_cms_content_sync_set_entity_push_pools()
Entity status update.
Update the EntityStatus for the given entity, setting the EntityStatus::FLAG_EDIT_OVERRIDE flag accordingly.
Parameters
array $form:
\Drupal\Core\Form\FormStateInterface $form_state:
1 string reference to '_cms_content_sync_set_entity_push_pools'
- _cms_content_sync_add_push_pool_form in ./
cms_content_sync.module - Add the push widgets to the form, providing flow and pool selection.
File
- ./
cms_content_sync.module, line 992 - Module file for cms_content_sync.
Code
function _cms_content_sync_set_entity_push_pools(array $form, FormStateInterface $form_state) {
$flow_id = $form_state
->getValue('cms_content_sync_flow');
if (!$flow_id) {
return;
}
$values = $form_state
->getValue('cms_content_sync_pool');
$processed = [];
if (is_array($values)) {
foreach ($values as $id => $selected) {
if ($selected && $id !== 'ignore') {
$processed[] = $id;
}
}
}
else {
if ($values !== 'ignore') {
$processed[] = $values;
}
}
/**
* @var \Drupal\Core\Entity\EntityInterface $entity
*/
$entity = $form_state
->getFormObject()
->getEntity();
EntityStatus::saveSelectedPoolsToPushTo($entity, $flow_id, $processed);
if ($entity instanceof FieldableEntityInterface) {
$entityFieldManager = Drupal::service('entity_field.manager');
/** @var \Drupal\Core\Field\FieldDefinitionInterface[] $fields */
$fields = $entityFieldManager
->getFieldDefinitions($entity
->getEntityTypeId(), $entity
->bundle());
_cms_content_sync_set_entity_push_subform($entity, $form, $form_state, $fields);
}
}