Exemple #1
0
 /**
  * {@inheritdoc}
  */
 public function guessColumnOptions($columnName, $entityName, $column)
 {
     $metadata = $this->entityManager->getClassMetadata($entityName);
     $result = [];
     if ($metadata->hasField($columnName) && !$metadata->hasAssociation($columnName)) {
         $result[Configuration::BASE_CONFIG_KEY] = ['enable' => true];
     }
     return $result;
 }
 /**
  * Get Entity Identifier By a class name
  *
  * @param $className
  * @return string
  */
 protected function getEntityIdentifier($className)
 {
     // Extend entity always have "id" identifier
     if (strpos($className, self::ENTITY) !== false) {
         return 'id';
     }
     return $this->em->getClassMetadata($className)->getSingleIdentifierColumnName();
 }
Exemple #3
0
 /**
  * {@inheritdoc}
  */
 public function guessColumnOptions($columnName, $entityName, $column)
 {
     $metadata = $this->entityManager->getClassMetadata($entityName);
     $result = [];
     $isConfigured = isset($column[Configuration::BASE_CONFIG_KEY]['editor']);
     $isConfigured = $isConfigured || isset($column[Configuration::BASE_CONFIG_KEY]['autocomplete_api_accessor']);
     if (!$isConfigured && $metadata->hasAssociation($columnName)) {
         $mapping = $metadata->getAssociationMapping($columnName);
         if ($mapping['type'] === ClassMetadata::MANY_TO_ONE) {
             $targetEntity = $metadata->getAssociationTargetClass($columnName);
             $targetEntityMetadata = $this->entityManager->getClassMetadata($targetEntity);
             if (isset($column[Configuration::BASE_CONFIG_KEY]['view_options']['value_field_name'])) {
                 $labelField = $column[Configuration::BASE_CONFIG_KEY]['view_options']['value_field_name'];
             } else {
                 $labelField = $this->guessLabelField($targetEntityMetadata, $columnName);
             }
             $result[Configuration::BASE_CONFIG_KEY] = ['enable' => true];
             $result[PropertyInterface::FRONTEND_TYPE_KEY] = 'select';
             $keyField = $targetEntityMetadata->getSingleIdentifierFieldName();
             $result['choices'] = $this->getChoices($targetEntity, $keyField, $labelField);
         }
     }
     return $result;
 }
 /**
  * Get list of Diamante tables to purge data from
  *
  * @return array
  */
 protected function getTablesList()
 {
     $entitiesMetadata = array($this->entityManager->getClassMetadata(\Diamante\DeskBundle\Entity\Branch::getClassName()), $this->entityManager->getClassMetadata(\Diamante\DeskBundle\Entity\BranchEmailConfiguration::getClassName()), $this->entityManager->getClassMetadata(\Diamante\DeskBundle\Entity\Ticket::getClassName()), $this->entityManager->getClassMetadata(\Diamante\DeskBundle\Entity\Comment::getClassName()), $this->entityManager->getClassMetadata(\Diamante\DeskBundle\Entity\Attachment::getClassName()));
     $toPurge = array();
     /** @var $entity \Doctrine\ORM\Mapping\ClassMetadata */
     foreach ($entitiesMetadata as $entity) {
         $tableName = $entity->getTableName();
         $toPurge[] = $tableName;
     }
     return $toPurge;
 }
 /**
  * Get list of Diamante tables to purge data from
  *
  * @return array
  */
 protected function getTablesList()
 {
     $entitiesMetadata = array($this->entityManager->getClassMetadata(\Diamante\DeskBundle\Entity\Branch::getClassName()), $this->entityManager->getClassMetadata(\Diamante\DeskBundle\Entity\BranchEmailConfiguration::getClassName()), $this->entityManager->getClassMetadata(\Diamante\DeskBundle\Entity\Ticket::getClassName()), $this->entityManager->getClassMetadata(\Diamante\DeskBundle\Entity\Comment::getClassName()), $this->entityManager->getClassMetadata(\Diamante\DeskBundle\Entity\Attachment::getClassName()), $this->entityManager->getClassMetadata(\Diamante\DeskBundle\Entity\TicketHistory::getClassName()), $this->entityManager->getClassMetadata('\\Oro\\Bundle\\TagBundle\\Entity\\Tag'), $this->entityManager->getClassMetadata('\\Oro\\Bundle\\TagBundle\\Entity\\Tagging'));
     $toPurge = array();
     $quoteStrategy = new DefaultQuoteStrategy();
     /** @var $entity \Doctrine\ORM\Mapping\ClassMetadata */
     foreach ($entitiesMetadata as $entity) {
         $tableName = $entity->getTableName();
         $toPurge[] = $tableName;
         foreach ($entity->getAssociationMappings() as $assoc) {
             if (isset($assoc['joinTable'])) {
                 $toPurge[] = $quoteStrategy->getJoinTableName($assoc, $entity, $this->dbPlatform);
             }
         }
     }
     return $toPurge;
 }