コード例 #1
0
 /**
  * {@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);
 }
コード例 #2
0
 /**
  * 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);
     }
 }
コード例 #3
0
 /**
  * {@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);
 }
コード例 #4
0
 public function isPrivileged()
 {
     return $this->context->getPrincipal()->isPrivileged();
 }