public function QueryTrait::prepare in Multiversion 8        
                          
                  
                        Same name and namespace in other branches
- 8.2 src/Entity/Query/QueryTrait.php \Drupal\multiversion\Entity\Query\QueryTrait::prepare()
 
 
File
 
   - src/Entity/Query/QueryTrait.php, line 50
 
  
  Class
  
  - QueryTrait 
 
  - @property $entityTypeId
@property $entityTypeManager
@property $condition
 
  Namespace
  Drupal\multiversion\Entity\Query
Code
public function prepare() {
  parent::prepare();
  $entity_type = $this->entityTypeManager
    ->getDefinition($this->entityTypeId);
  $enabled = \Drupal::state()
    ->get('multiversion.migration_done.' . $this
    ->getEntityTypeId(), FALSE);
  
  if (is_subclass_of($entity_type
    ->getStorageClass(), ContentEntityStorageInterface::class) && $enabled) {
    $revision_key = $entity_type
      ->getKey('revision');
    $revision_query = FALSE;
    foreach ($this->condition
      ->conditions() as $condition) {
      if ($condition['field'] == $revision_key) {
        $revision_query = TRUE;
      }
    }
    
    if ($workspace_id = $this
      ->getWorkspaceId()) {
      $this
        ->condition('workspace', $workspace_id);
    }
    
    if (!$revision_query) {
      $this
        ->condition('_deleted', (int) $this->isDeleted);
    }
  }
  return $this;
}