/** * {@inheritdoc} */ public function execute(BlockContextInterface $blockContext, Response $response = null) { $user_current = $this->securityContext->getToken()->getUser(); $user_id = $user_current->getId(); // Tenues stats $tenues = $this->em->getRepository('IuchBundle:Tenue')->findAll(); $nbr_tenues = 0; foreach ($tenues as $tenue) { $nbr_tenues += $tenue->getNombreDonne(); } // Cles stats $cles = $this->em->getRepository('IuchBundle:Cle')->findAll(); $nbr_cles = 0; foreach ($cles as $cle) { if ($cle->getRemis() == true) { $nbr_cles++; } } // Badges stats $badges = $this->em->getRepository('IuchBundle:Badge')->findAll(); $nbr_badges = 0; foreach ($badges as $badge) { if ($badge->getRemis() == true) { $nbr_badges++; } } return $this->renderResponse($blockContext->getTemplate(), array('block' => $blockContext->getBlock(), 'base_template' => $this->pool->getTemplate('IuchBundle:Block:statuser.html.twig'), 'settings' => $blockContext->getSettings(), 'tenues' => $nbr_tenues, 'cles' => $nbr_cles, 'badges' => $nbr_badges), $response); }
/** * Check if the node on the event is published, otherwise skip it. * * @param CreateMenuItemFromNodeEvent $event */ public function onCreateMenuItemFromNode(CreateMenuItemFromNodeEvent $event) { $node = $event->getNode(); if (!$this->publishWorkflowChecker->isGranted($this->publishWorkflowPermission, $node)) { $event->setSkipNode(true); } }
/** * {@inheritdoc} */ public function execute(BlockContextInterface $blockContext, Response $response = null) { $user_current = $this->securityContext->getToken()->getUser(); $user_id = $user_current->getId(); $signatures = $this->em->getRepository('IuchBundle:Charte_utilisateur')->findAll(); $users = $this->em->getRepository('ApplicationSonataUserBundle:User')->findAll(); /*$services = $this->em ->getRepository('IuchBundle:Service') ->findAll();*/ /* $nbUserByService = []; foreach ($services as $service) { $nbUserByService[$service->getId()] = count($service->getUsers()); }*/ $chartesSignees = []; foreach ($signatures as $signature) { $charte = $signature->getCharte(); $chartesSignees[] = $charte; } $map = function ($charte) { return $charte->getNom(); }; $nbSignaturesByCharte = array_count_values(array_map($map, $chartesSignees)); $labels = []; $datas = []; foreach ($nbSignaturesByCharte as $charte => $nbSignature) { $labels[] = $charte; $datas[] = $nbSignature; } //$labels = join(',',array_values($labels)); //$datas = join(',', $datas); $datasBar = array('labels' => array($labels), 'datasets' => array(array('label' => 'Signées', 'fillColor' => "rgba(220,220,220,0.5)", 'strokeColor' => "rgba(220,220,220,0.8)", 'highlightFill' => "rgba(220,220,220,0.75)", 'highlightStroke' => "rgba(220,220,220,1)", 'data' => $datas))); /* $datasPie = array( array( 'value' => array_sum($nbSignaturesByCharte), 'color' => "#F7464A", 'highlight' => "#FF5A5E", 'label' => "signées" ), array( 'value' => array_sum($nbSignaturesByCharte) - count($users), 'color' => "#FDB45C", 'highlight' => "#FFC870", 'label' => "non signées" ) ); $encoders = array(new JsonEncoder()); $normalizers = array(new ObjectNormalizer()); $serializer = new Serializer($normalizers, $encoders); $jsonObject = $serializer->serialize($datasPie, 'json');*/ // merge settings $settings = array_merge($this->getDefaultSettings(), $blockContext->getSettings()); return $this->renderResponse($blockContext->getTemplate(), array('block' => $blockContext->getBlock(), 'base_template' => $this->pool->getTemplate('IuchBundle:Block:statistique.html.twig'), 'settings' => $blockContext->getSettings(), 'bar' => $nbSignaturesByCharte), $response); }
public function isPrivileged() { return $this->context->getPrincipal()->isPrivileged(); }