getRepository() public méthode

Gets the repository for an entity class.
public getRepository ( string $entityName ) : Doctrine\ORM\EntityRepository
$entityName string The name of the entity.
Résultat Doctrine\ORM\EntityRepository The repository class.
 /**
  * @DI\Observe("badge-resource-icap_dropzone-correction_delete-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-correction_end-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-correction_start-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-correction_update-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-correction_validation_change-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-criterion_create-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-criterion_delete-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-criterion_update-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-document_create-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-document_delete-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-document_open-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-drop_end-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-drop_evaluate-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-drop_start-generate_validation_link")
  * @DI\Observe("badge-resource-icap_dropzone-dropzone_configure-generate_validation_link")
  */
 public function onBagdeCreateValidationLink($event)
 {
     $content = null;
     $log = $event->getLog();
     switch ($log->getAction()) {
         case LogCorrectionDeleteEvent::ACTION:
         case LogCorrectionEndEvent::ACTION:
         case LogCorrectionStartEvent::ACTION:
         case LogCorrectionUpdateEvent::ACTION:
         case LogCorrectionValidationChangeEvent::ACTION:
         case LogCriterionCreateEvent::ACTION:
         case LogCriterionDeleteEvent::ACTION:
         case LogCriterionUpdateEvent::ACTION:
         case LogDocumentCreateEvent::ACTION:
         case LogDocumentDeleteEvent::ACTION:
         case LogDocumentOpenEvent::ACTION:
         case LogDropEndEvent::ACTION:
         case LogDropEvaluateEvent::ACTION:
         case LogDropStartEvent::ACTION:
         case LogDropzoneConfigureEvent::ACTION:
             $logDetails = $event->getLog()->getDetails();
             $parameters = array('resourceId' => $logDetails['dropzone']['id']);
             $url = $this->router->generate('icap_dropzone_open', $parameters, UrlGeneratorInterface::ABSOLUTE_PATH);
             /** @var Dropzone $dropzone */
             $dropzone = $this->entityManager->getRepository('IcapDropzoneBundle:Dropzone')->findOneById($logDetails['dropzone']['id']);
             $title = $dropzone->getResourceNode()->getName();
             $content = sprintf('<a href="%s" title="%s">%s</a>', $url, $title, $title);
             break;
     }
     $event->setContent($content);
     $event->stopPropagation();
 }
 /**
  * @param RebalancerAction $rebalancerAction
  * @return array
  */
 public function prepareSummary(RebalancerAction $rebalancerAction)
 {
     /** @var SecurityTransactionRepository $securityTransactionRepo */
     $securityTransactionRepo = $this->em->getRepository('WealthbotAdminBundle:SecurityTransaction');
     $rebalancerQueue = $this->repository->findByRebalancerAction($rebalancerAction, false);
     $client = $rebalancerAction->getClientPortfolioValue()->getClientPortfolio()->getClient();
     $result = array('rebalance_total' => 0, 'short_term_gains' => 0, 'long_term_gains' => 0, 'short_term_losses' => 0, 'long_term_losses' => 0, 'transactions_costs' => 0, 'tlh_savings' => 0);
     /** @var RebalancerQueue $item */
     foreach ($rebalancerQueue as $item) {
         $result['rebalance_total'] += $item->getAmount();
         if ($item->getLot()) {
             if ($item->getLot()->isShortTerm()) {
                 $prefix = 'short';
             } else {
                 $prefix = 'long';
             }
             if ($item->getLot()->getShortTermGain() > 0) {
                 $suffix = 'gains';
             } else {
                 $suffix = 'losses';
             }
             $result[$prefix . '_term_' . $suffix] += abs($item->getLot()->getRealizedGain());
         }
         /** @var SecurityTransaction $securityTransaction */
         $securityTransaction = $securityTransactionRepo->findOneByRebalancerQueue($item);
         if ($securityTransaction) {
             $result['transactions_costs'] += $securityTransaction->getTransactionFee();
         }
     }
     //        $result['tlh_savings'] = ($result['short_term_losses'] * $client->getProfile()->getEstimatedIncomeTax()) + ($result['long_term_losses'] * 0.15 - $result['transactions_costs']) / beginning balance
     return $result;
 }
 /**
  * {@inheritdoc}
  *
  * @throws TransformationFailedException if object is not found.
  */
 public function transform($id)
 {
     if (!$this->isArray) {
         if (!$id) {
             return null;
         }
         $column = is_numeric($id) ? 'id' : 'utmtag';
         $entity = $this->em->getRepository($this->repository)->findOneBy(array($column => $id));
         if ($entity === null) {
             throw new TransformationFailedException(sprintf('UtmTag with "%s" does not exist!', $id));
         }
         return $entity;
     }
     if (empty($id) || !is_array($id)) {
         return array();
     }
     $column = is_numeric($id[0]) ? 'id' : 'utmtag';
     $repo = $this->em->getRepository($this->repository);
     $prefix = $repo->getTableAlias();
     $entities = $repo->getEntities(array('filter' => array('force' => array(array('column' => $prefix . '.' . $column, 'expr' => 'in', 'value' => $id))), 'ignore_paginator' => true));
     if (!count($entities)) {
         throw new TransformationFailedException(sprintf('UtmTags for "%s" does not exist!', $id[0]));
     }
     return $entities;
 }
 /**
  * @param object $entity
  * @param string $field
  * @param string $locale
  * @param mixed $fieldData
  * @throws \Bigfoot\Bundle\CoreBundle\Exception\InvalidArgumentException
  */
 public function translate($entity, $field, $locale, $fieldData)
 {
     $em = $this->em;
     $meta = $em->getClassMetadata(get_class($entity));
     $listener = $this->getTranslatableListener();
     $persistDefaultLocaleTransInEntity = $listener->getPersistDefaultLocaleTranslation();
     if (is_object($entity)) {
         $entityClass = $entity instanceof Proxy ? get_parent_class($entity) : get_class($entity);
     } else {
         throw new InvalidArgumentException('Argument 1 passed to TranslationRepository::translate must be an object');
     }
     $reflectionClass = new \ReflectionClass($entityClass);
     $entityTranslationClass = $this->isPersonnalTranslationRecursive($reflectionClass)->class;
     if ($locale === $listener->getTranslatableLocale($entity, $meta)) {
         $meta->getReflectionProperty($field)->setValue($entity, $fieldData);
         $em->persist($entity);
     } elseif (!$persistDefaultLocaleTransInEntity && $locale === $listener->getDefaultLocale()) {
         $trans = new $entityTranslationClass($locale, $field, $fieldData);
         $listener->setTranslationInDefaultLocale(spl_object_hash($entity), $field, $trans);
     } else {
         $translationClassRepository = $this->em->getRepository($entityTranslationClass);
         $meta = $em->getClassMetadata(get_class($entity));
         $identifier = $meta->getSingleIdentifierFieldName();
         $translation = null;
         if ($entity && $this->propertyAccessor->getValue($entity, $identifier)) {
             $translation = $translationClassRepository->findOneBy(array('locale' => $locale, 'field' => $field, 'object' => $entity));
         }
         if ($translation) {
             $translation->setContent($fieldData);
         } elseif ($fieldData !== null) {
             $entity->addTranslation(new $entityTranslationClass($locale, $field, $fieldData));
         }
     }
 }
 /**
  * @DI\InjectParams({
  *      "em"                = @DI\Inject("doctrine.orm.entity_manager"),
  *      "wallItemManager"   = @DI\Inject("icap_socialmedia.manager.wall_item")
  * })
  * @param EntityManager $em
  * @param WallItemManager $wallItemManager
  */
 public function __construct(EntityManager $em, WallItemManager $wallItemManager)
 {
     $this->em = $em;
     $this->wallItemManager = $wallItemManager;
     $this->commentActionRepository = $em->getRepository('IcapSocialmediaBundle:CommentAction');
     $this->resourceNodeRepository = $em->getRepository('ClarolineCoreBundle:Resource\\ResourceNode');
 }
 /**
  * {@inheritDoc}
  */
 public function process(DatagridInterface $grid, array $config)
 {
     $this->datagrid = $grid;
     if (isset($config['query'])) {
         $queryConfig = array_intersect_key($config, array_flip(['query']));
         $converter = new YamlConverter();
         $this->qb = $converter->parse($queryConfig, $this->em->createQueryBuilder());
     } elseif (isset($config['entity']) && isset($config['repository_method'])) {
         $entity = $config['entity'];
         $method = $config['repository_method'];
         $repository = $this->em->getRepository($entity);
         if (method_exists($repository, $method)) {
             $qb = $repository->{$method}();
             if ($qb instanceof QueryBuilder) {
                 $this->qb = $qb;
             } else {
                 throw new DatasourceException(sprintf('%s::%s() must return an instance of Doctrine\\ORM\\QueryBuilder, %s given', get_class($repository), $method, is_object($qb) ? get_class($qb) : gettype($qb)));
             }
         } else {
             throw new DatasourceException(sprintf('%s has no method %s', get_class($repository), $method));
         }
     } else {
         throw new DatasourceException(get_class($this) . ' expects to be configured with query or repository method');
     }
     if (isset($config['hints'])) {
         $this->queryHints = $config['hints'];
     }
     $grid->setDatasource(clone $this);
 }
 /**
  * Costructor
  *
  * @param string                     $productClass
  * @param ProductRepositoryInterface $productRepository
  * @param EntityManager              $entityManager
  * @param string                     $assocTypeClass
  * @param string                     $groupClass
  */
 public function __construct($productClass, ProductRepositoryInterface $productRepository, EntityManager $entityManager, $assocTypeClass, $groupClass)
 {
     $this->productClass = $productClass;
     $this->productRepository = $productRepository;
     $this->groupRepository = $entityManager->getRepository($groupClass);
     $this->assocTypeRepository = $entityManager->getRepository($assocTypeClass);
 }
Exemple #8
0
 public function __construct(\Doctrine\ORM\EntityManager $em)
 {
     $this->nodeRepo = $em->getRepository(':Node');
     $this->propRepo = $em->getRepository(':Property');
     $this->relRepo = $em->getRepository(':Relation');
     $this->em = $em;
 }
Exemple #9
0
 public function __construct(EntityManager $em)
 {
     $this->userRepo = $em->getRepository('TerAelisUserBundle:User');
     $this->nonVuRepo = $em->getRepository('TerAelisForumBundle:NonVu');
     $this->commentRepo = $em->getRepository('TerAelisCommentBundle:Comment');
     $this->em = $em;
 }
Exemple #10
0
 /**
  * @return EntityRepository
  */
 public function getRepository()
 {
     if ($this->repository === null) {
         $this->repository = $this->em->getRepository(get_class(new Menu()));
     }
     return $this->repository;
 }
 /**
  * Отправляем метку количества не прочитанных сообщений
  *
  * @param int $user
  *
  * @return integer
  */
 protected function sendCountNotReadMessage($user)
 {
     $notReadMessage = $this->em->getRepository("UserMessagesBundle:Dialog")->findOneByNotReadMessage($user);
     if ($notReadMessage > 0) {
         $this->redis->publish('not-read', json_encode(['username' => 'username_' . $user, 'count' => $notReadMessage]));
     }
 }
 /**
  * Estrategia:
  * - recuperar la lista de bundles
  * - confeccionar una lista completa de bundles con los locales y remotos
  * - recorrer la lista de bundles
  *     - recuperar la lista de claves del bundle
  *     - confeccionar una lista completa de claves con los locales y remotos del bundle
  *     - enviar un if-newest de cada clave/idioma
  *
  */
 protected function init()
 {
     /** @var EntityManager $em */
     $this->em = $this->getContainer()->get('doctrine.orm.default_entity_manager');
     $this->srcDir = realpath($this->getApplication()->getKernel()->getRootDir() . '/../src/') . '/';
     $this->translationRepository = $this->em->getRepository('TranslationsApiBundle:Translation');
 }
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $id_media = null;
     // get the id of media
     if ($builder->getData()->getMedia() instanceof \Sfynx\MediaBundle\Entity\Mediatheque) {
         $id_media = $builder->getData()->getMedia()->getId();
     }
     if (isset($_POST['piapp_gedmobundle_organigramtype']['media'])) {
         $id_media = $_POST['piapp_gedmobundle_organigramtype']['media'];
     }
     $choiceList = $this->_em->getRepository("PiAppGedmoBundle:Organigram")->getArrayAllByField('category');
     if (!isset($choiceList) || !count($choiceList)) {
         $choiceList = array();
     }
     $builder->add('enabled', 'checkbox', array('data' => true))->add('page', 'entity', array('class' => 'SfynxCmfBundle:Page', 'query_builder' => function (EntityRepository $er) {
         return $er->getAllPageHtml();
     }, 'property' => 'route_name', 'empty_value' => 'pi.form.label.select.choose.option', "label" => "pi.form.label.field.url", 'multiple' => false, 'required' => false, "attr" => array("class" => "pi_simpleselect")))->add('category', 'choice', array('choices' => $choiceList, 'multiple' => false, 'required' => false, 'empty_value' => 'pi.form.label.select.choose.category', 'label' => "pi.form.label.field.category", "attr" => array("class" => "pi_simpleselect")))->add('categoryother', 'text', array("label" => "pi.form.label.field.or", 'required' => false))->add('parent', 'entity', array('class' => 'PiAppGedmoBundle:Organigram', 'query_builder' => function (EntityRepository $er) {
         $translatableListener = $this->_container->get('gedmo.listener.translatable');
         $translatableListener->setTranslationFallback(true);
         return $er->createQueryBuilder('k')->select('k')->orderBy('k.lft', 'ASC');
     }, 'empty_value' => 'pi.form.label.select.choose.option', 'multiple' => false, 'required' => false, "attr" => array("class" => "pi_simpleselect")))->add('title', 'text', array('label' => "pi.form.label.field.title"))->add('descriptif', 'textarea', array('label' => 'pi.form.label.field.description'))->add('question')->add('content', 'textarea', array('label' => "pi.form.label.field.content", "attr" => array("class" => "pi_editor_simple_easy")))->add('media', 'entity', array('class' => 'SfynxMediaBundle:Mediatheque', 'query_builder' => function (EntityRepository $er) use($id_media) {
         $translatableListener = $this->_container->get('gedmo.listener.translatable');
         $translatableListener->setTranslationFallback(true);
         return $er->createQueryBuilder('a')->select('a')->where("a.id IN (:id)")->setParameter('id', $id_media);
     }, 'empty_value' => 'pi.form.label.select.choose.media', 'label' => "Media", 'multiple' => false, 'required' => false, 'constraints' => array(), "label_attr" => array("class" => 'bg_image_collection'), "attr" => array("class" => "pi_simpleselect ajaxselect", "data-url" => $this->_container->get('sfynx.tool.route.factory')->getRoute("admin_gedmo_media_selectentity_ajax", array('type' => 'image')), "data-selectid" => $id_media, "data-max" => 50), 'widget_suffix' => '<a class="button-ui-mediatheque button-ui-dialog"
          				title="Ajouter une image à la médiatheque"
          				data-title="Mediatheque"
          				data-href="' . $this->_container->get('sfynx.tool.route.factory')->getRoute("admin_gedmo_media_new", array("NoLayout" => "false", "category" => '', 'status' => 'image')) . '"
          				data-selectid="#sfynx_mediabundle_mediatype_id"
          				data-selecttitle="#sfynx_mediabundle_mediatype_title"
          				data-insertid="#piapp_gedmobundle_blocktype_media"
          				data-inserttype="multiselect"
          				></a>'));
 }
Exemple #14
0
 /**
  * Dodajanje skupin
  * @param EntityManager $em 
  * @param array $valarray
  */
 public function populateUser($em, $val)
 {
     $rep = $em->getRepository('\\Aaa\\Entity\\User');
     $rr = $em->getRepository('\\Aaa\\Entity\\Role');
     $o = $rep->findOneByEmail($val['email']);
     $nov = false;
     if (!$o) {
         $o = new User();
         $o->setEmail($val['email']);
         $nov = true;
         $password = '******' . uniqid() . uniqid();
         $o->setPassword($password);
         echo "User {$val['name']} geslo {$password}\n";
     }
     $o->setName($val['name']);
     $o->setEnabled($val['enabled']);
     if ($val['roles']) {
         $rr->azurirajNames($o, $val['roles']);
     }
     if ($nov) {
         $rep->create($o);
     } else {
         $rep->update($o);
     }
     $this->addReference('User-' . $val['email'], $o);
     return;
 }
 /**
  * @param $entity
  */
 public function removeEntity($entity)
 {
     $this->em->remove($entity);
     $this->em->flush();
     $isFound = $this->em->getRepository(get_class($entity))->findOneBy(['id' => $entity->getId()]);
     $this->assertNull($isFound);
 }
Exemple #16
0
 public function get($name)
 {
     $uppername = strtoupper($name);
     /*
             //create unique key for kind and uppercased name
             $key = md5('kind.' . $uppername);
             //cache has value return this one
             $cached = Cache::get($key);
             if ($cached) {
                 return $cached;
             }*/
     //find or create in store
     $kind = $this->em->getRepository($this->class)->findOneBy(['name' => $uppername]);
     if (!$kind) {
         $kind = new Kind(new Name($uppername));
         $this->em->persist($kind);
         $this->em->flush();
     }
     /*
             //cache it for next request
             Cache::forever($key, $kind);
             return Cache::get($key);
     */
     return $kind;
 }
 /**
  * Publishes a gif and posts a link on social networks
  * @param Gif $gif
  * @return bool
  */
 public function publish(Gif $gif)
 {
     if (!$gif) {
         return false;
     }
     if (!$gif->getGifStatus() == GifState::ACCEPTED) {
         return false;
     }
     $gif->setPublishDate(new DateTime());
     $gif->setGifStatus(GifState::PUBLISHED);
     $gif->generateUrlReadyPermalink();
     // Check if permalink is unique
     /** @var GifRepository $gifsRepo */
     $gifsRepo = $this->em->getRepository('LjdsBundle:Gif');
     $permalink = $gif->getPermalink();
     $i = 1;
     while (!empty($gifsRepo->findBy(['permalink' => $gif->getPermalink(), 'gifStatus' => GifState::PUBLISHED]))) {
         // Generate a new permalink
         $gif->setPermalink($permalink . $i);
         $i++;
     }
     $this->em->flush();
     if ($this->facebookAutopost) {
         $this->facebookService->postGif($gif);
     }
     if ($this->twitterAutopost) {
         $this->twitterService->postGif($gif);
     }
     return true;
 }
 public function testOneByIdJoinContent()
 {
     $document = $this->em->getRepository('ManhattanPostsBundle:Document')->findOneByIdJoinPost(1);
     $this->assertInstanceOf('Manhattan\\Bundle\\PostsBundle\\Entity\\Document', $document, 'testOneByIdJoinPost() returns Document object with query');
     $this->assertInstanceOf('Manhattan\\Bundle\\PostsBundle\\Entity\\Post', $document->getPost(), '->getPost() returns a Post object.');
     $this->assertEquals(10, $document->getPost()->getId(), '->getPost() returns the correct Post object.');
 }
 public function schedule()
 {
     $licenseRepo = $this->em->getRepository('AppBundle:License');
     $drillSchemaEventsRepo = $this->em->getRepository('AppBundle:DrillSchemaEvent');
     $licensesWithoutSchema = $licenseRepo->findWithoutRegisteredSchema();
     foreach ($licensesWithoutSchema as $license) {
         $drillSchemaEvents = $drillSchemaEventsRepo->findByAddonKey($license->getAddonKey());
         if (empty($drillSchemaEvents)) {
             continue;
         }
         $drillRegisteredSchema = new DrillRegisteredSchema();
         $drillRegisteredSchema->setLicenseId($license->getLicenseId());
         $drillRegisteredSchema->setAddonKey($license->getAddonKey());
         $this->em->persist($drillRegisteredSchema);
         foreach ($drillSchemaEvents as $drillSchemaEvent) {
             $sendDate = $this->calculateSendDate($drillSchemaEvent, $license);
             $today = new \DateTime();
             // prevent creating events from past
             if ($sendDate < $today->modify('-2 days')) {
                 continue;
             }
             $drillRegisteredEvent = new DrillRegisteredEvent();
             $drillRegisteredEvent->setDrillRegisteredSchema($drillRegisteredSchema);
             $drillRegisteredEvent->setDrillSchemaEvent($drillSchemaEvent);
             // Calculate
             $drillRegisteredEvent->setSendDate($sendDate);
             $drillRegisteredEvent->setStatus('new');
             $this->em->persist($drillRegisteredEvent);
         }
     }
     $this->em->flush();
 }
 public function testJoinAction()
 {
     $name = "GrupDeneme";
     $domain = "denemegrup";
     $groupResponse = $this->createGroup($this->container->get('pheetup.controller.user.group'), $name, $domain);
     $request = new Request();
     $request->setMethod('GET');
     $groupRepository = $this->em->getRepository('PheetupUserBundle:Group');
     $group = $groupRepository->findOneBy(['name' => $name]);
     $this->assertNotEmpty($group->getId());
     $userManager = $this->container->get('fos_user.user_manager');
     $user = $userManager->createUser();
     $user->setUsername('ahmet');
     $user->setEmail('*****@*****.**');
     $user->setPlainPassword('deneme');
     $user->setEnabled(true);
     $userManager->updateUser($user);
     $user = $userManager->findUserBy(array('username' => 'ahmet'));
     $loginManager = $this->container->get('fos_user.security.login_manager');
     $firewallName = $this->container->getParameter('fos_user.firewall_name');
     $loginManager->logInUser($firewallName, $user);
     $this->assertTrue($this->container->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY'));
     $controller = new DefaultController();
     $controller->setContainer($this->container);
     $response = $controller->joinAction($group);
     $this->assertEquals($response->getContent(), "You successfully joined group");
 }
 /**
  * @param  ExecutionContext $context
  * @return bool
  */
 public function isValidCustomer(ExecutionContext $context)
 {
     // https://gist.github.com/888267
     if (true === $this->known_customer) {
         $this->customer = $this->em->getRepository('AcmePizzaBundle:Customer')->findOneBy(array('phone' => $this->known_phone));
         if (false === $this->customer instanceof Customer) {
             $property_path = $context->getPropertyPath() . '.known_phone';
             $context->setPropertyPath($property_path);
             $context->addViolation('Phone number is not registered', array(), null);
         }
     } else {
         /*
         $context->setGroup('MyTest');
         var_dump($context->getGroup());
         */
         $group = $context->getGroup();
         $group = 'Customer';
         $context->getGraphWalker()->walkReference($this->customer, $group, $context->getPropertyPath() . ".customer", true);
     }
     /*
     if (!($this->customer instanceof Customer)) {
         $context->addViolation('Invalid customer given', array(), $this->customer);
     }
     */
 }
 public function __construct(EntityManager $entityManager, ServiceSession $service, LoggerInterface $logger)
 {
     $this->em = $entityManager;
     $this->repository = $this->em->getRepository('MainCommonBundle:Utils\\Commission');
     $this->session = $service;
     $this->logger = $logger;
 }
 /**
  *
  * @param \DateTime $startDate beginning >=
  * @param \DateTime $endDate   end <=
  * @param           $type      - type of the StatisticEntryFilter
  *
  * @return StatisticEntry[]
  *
  * Note: can be replaced with DQL if performance issues are notable
  */
 public function getStatisticForRangeAndType(\DateTime $startDate, \DateTime $endDate, $type = null)
 {
     /** @var TrainingDayRepository $trainingDayRepository */
     $trainingDayRepository = $this->manager->getRepository('TrainingScheduleBundle:TrainingDay');
     $expr = Criteria::expr();
     $criteria = Criteria::create();
     $criteria->where($expr->gte('date', $startDate));
     $criteria->andWhere($expr->lte('date', $endDate));
     $criteria->andWhere($expr->eq('user', $this->userToken->getUser()));
     /** @var LazyCriteriaCollection $trainingDays */
     $trainingDays = $trainingDayRepository->matching($criteria);
     $result = array();
     /** @var TrainingDay $trainingDay * */
     foreach ($trainingDays as $trainingDay) {
         foreach ($trainingDay->getStatistics() as $statistic) {
             /** @var StatisticEntry $statistic */
             if ($type != null) {
                 if ($statistic->getName() === $type) {
                     $result[] = $statistic;
                 }
             } else {
                 $result[] = $statistic;
             }
         }
     }
     return $result;
 }
 /**
  * Find events by filter from request
  *
  * @param Request $request Request
  *
  * @return []
  */
 public function findEventsByFilter(Request $request)
 {
     $genre = $request->query->get('genre');
     $city = $request->query->get('city');
     $date = $request->query->get('date');
     return $this->entityManager->getRepository('AppBundle:Event')->findEventsByFilter($genre, $city, $date);
 }
 /**
  * {@inheritdoc}
  */
 public function getProductCountByTree(ProductInterface $product)
 {
     $categories = $product->getCategories();
     $categoryIds = array();
     foreach ($categories as $category) {
         $categoryIds[] = $category->getId();
     }
     $categoryRepository = $this->entityManager->getRepository($this->categoryClass);
     $categoryTable = $this->entityManager->getClassMetadata($this->categoryClass)->getTableName();
     $categoryIds = implode(',', $categoryIds);
     if (!empty($categoryIds)) {
         $sql = "SELECT" . "    tree.id AS tree_id," . "    COUNT(category.id) AS product_count" . "  FROM {$categoryTable} tree" . "  LEFT JOIN {$categoryTable} category" . "    ON category.root = tree.id" . " AND category.id IN ({$categoryIds})" . " WHERE tree.parent_id IS NULL" . " GROUP BY tree.id";
     } else {
         $sql = "SELECT" . "    tree.id AS tree_id," . "    '0' AS product_count" . "  FROM {$categoryTable} tree" . "  LEFT JOIN {$categoryTable} category" . "    ON category.root = tree.id" . " WHERE tree.parent_id IS NULL" . " GROUP BY tree.id";
     }
     $stmt = $this->entityManager->getConnection()->prepare($sql);
     $stmt->execute();
     $productCounts = $stmt->fetchAll();
     $trees = array();
     foreach ($productCounts as $productCount) {
         $tree = array();
         $tree['productCount'] = $productCount['product_count'];
         $tree['tree'] = $categoryRepository->find($productCount['tree_id']);
         $trees[] = $tree;
     }
     return $trees;
 }
 /**
  * Make sure the menu objects exist in the database for each locale.
  */
 public function makeSureMenusExist()
 {
     $locales = array_unique($this->getLocales());
     $required = array();
     foreach ($this->menuNames as $name) {
         $required[$name] = $locales;
     }
     $menuObjects = $this->em->getRepository('KunstmaanMenuBundle:Menu')->findAll();
     foreach ($menuObjects as $menu) {
         if (array_key_exists($menu->getName(), $required)) {
             $index = array_search($menu->getLocale(), $required[$menu->getName()]);
             if ($index !== false) {
                 unset($required[$menu->getName()][$index]);
             }
         }
     }
     foreach ($required as $name => $locales) {
         foreach ($locales as $locale) {
             $menu = new Menu();
             $menu->setName($name);
             $menu->setLocale($locale);
             $this->em->persist($menu);
         }
     }
     $this->em->flush();
 }
 /**
  * @param FilterControllerEvent $event
  */
 public function onKernelController(FilterControllerEvent $event)
 {
     $request = $event->getRequest();
     // Check if the event has a nodeTranslation, if not this method can be skipped
     if (!$request->attributes->has('_nodeTranslation')) {
         return;
     }
     $nodeTranslation = $request->attributes->get('_nodeTranslation');
     if (!$nodeTranslation instanceof NodeTranslation) {
         $nodeTranslation = $this->em->getRepository('KunstmaanNodeBundle:NodeTranslation')->find($nodeTranslation);
         $request->attributes->set('_nodeTranslation', $nodeTranslation);
     }
     $entity = $nodeTranslation->getRef($this->em);
     // If the entity is an instance of the SlugActionInterface, change the controller
     if ($entity instanceof SlugActionInterface) {
         $request->attributes->set('_entity', $entity);
         // Do security check by firing an event that gets handled by the SlugSecurityListener
         $securityEvent = new SlugSecurityEvent();
         $securityEvent->setNode($nodeTranslation->getNode())->setEntity($entity)->setRequest($request)->setNodeTranslation($nodeTranslation);
         $this->eventDispatcher->dispatch(Events::SLUG_SECURITY, $securityEvent);
         // Set the right controller
         $request->attributes->set('_controller', $entity->getControllerAction());
         $event->setController($this->resolver->getController($request));
     }
 }
 /**
  * @param $dni
  * @return \Brown\UsuarioBundle\Entity\Usuario|null
  */
 private function getUser()
 {
     $dni = $this->container->get('request')->get('_username');
     $repo = $this->em->getRepository('UsuarioBundle:Usuario');
     $user = $repo->findOneBy(array('dni' => $dni));
     return $user;
 }
Exemple #29
0
 public function findMatching(FilterEntity $filter)
 {
     $tags = $this->findMatchingByTags($filter);
     $meta = $this->findMatchingByMeta($filter);
     $ids = $this->getFileIds($tags, $meta);
     return $this->em->getRepository("PluPhorgBundle:File")->findBy(array("id" => $ids));
 }
 private function shouldBlock($ip, $route)
 {
     if (in_array(strtolower($route), $this->blocks)) {
         return $this->entityManager->getRepository('BDNUserBundle:Session')->getSessionCount($ip) >= $this->blockCount;
     }
     return false;
 }