Merge branch 'master' of framagit.org:Chill-project/Chill-Activity

This commit is contained in:
Marc Ducobu 2016-05-06 16:32:34 +02:00
commit 3e3cf707de
2 changed files with 19 additions and 2 deletions

View File

@ -24,6 +24,7 @@ use Doctrine\ORM\QueryBuilder;
use Symfony\Component\Security\Core\Role\Role; use Symfony\Component\Security\Core\Role\Role;
use Doctrine\ORM\Query; use Doctrine\ORM\Query;
use Chill\ActivityBundle\Security\Authorization\ActivityStatsVoter; use Chill\ActivityBundle\Security\Authorization\ActivityStatsVoter;
use Doctrine\ORM\EntityManagerInterface;
/** /**
* *
@ -32,6 +33,18 @@ use Chill\ActivityBundle\Security\Authorization\ActivityStatsVoter;
*/ */
class CountActivity implements ExportInterface class CountActivity implements ExportInterface
{ {
/**
*
* @var EntityManagerInterface
*/
protected $entityManager;
public function __construct(
EntityManagerInterface $em
)
{
$this->entityManager = $em;
}
public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder) public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder)
{ {
@ -53,8 +66,10 @@ class CountActivity implements ExportInterface
return 'activity'; return 'activity';
} }
public function initiateQuery(QueryBuilder $qb, array $requiredModifiers, array $acl, array $data = array()) public function initiateQuery(array $requiredModifiers, array $acl, array $data = array())
{ {
$qb = $this->entityManager->createQueryBuilder();
$qb->select('COUNT(activity.id) as export_count_activity') $qb->select('COUNT(activity.id) as export_count_activity')
->from('ChillActivityBundle:Activity', 'activity') ->from('ChillActivityBundle:Activity', 'activity')
; ;
@ -98,7 +113,7 @@ class CountActivity implements ExportInterface
return array('export_count_activity'); return array('export_count_activity');
} }
public function getResult(QueryBuilder $qb, $data) public function getResult($qb, $data)
{ {
return $qb->getQuery()->getResult(Query::HYDRATE_SCALAR); return $qb->getQuery()->getResult(Query::HYDRATE_SCALAR);
} }

View File

@ -60,6 +60,8 @@ services:
chill.activity.export.count_activity: chill.activity.export.count_activity:
class: Chill\ActivityBundle\Export\Export\CountActivity class: Chill\ActivityBundle\Export\Export\CountActivity
arguments:
- "@doctrine.orm.entity_manager"
tags: tags:
- { name: chill.export, alias: 'count_activity' } - { name: chill.export, alias: 'count_activity' }