public function PriorityFilter(Capacity $capacity)
 {
     $color = '';
     if ($capacity->getPriority() / Capacity::PRIORITY_MAX_LEVEL > 0.66) {
         $color = 'green';
     } elseif ($capacity->getPriority() / Capacity::PRIORITY_MAX_LEVEL > 0.33) {
         $color = 'orange';
     } else {
         $color = 'red';
     }
     $html = '<div>';
     for ($level = 0; $level <= Capacity::PRIORITY_MAX_LEVEL; $level++) {
         if ($capacity->getPriority() >= $level) {
             $html .= '<i class="' . $color . ' square icon"></i>';
         } else {
             $html .= '<i class="' . $color . ' square outline icon"></i>';
         }
     }
     return $html . '</div>';
 }
示例#2
0
 /**
  * @param Request $request
  * @return Response
  * @route("/new/{entity}/{id}", name="capacities_new",defaults={"entity" = null,"id" = null})
  * @Template("FunctionalAnalysisBundle:Capacity:new.html.twig")
  *
  */
 public function newAction(Request $request, $entity = null, $id = null)
 {
     /*
      * session pour la gestion de la redirection après soumission du formulaire
      */
     $session = $request->getSession();
     $session->start();
     $capacity = new Capacity();
     if ($entity != null && $id != null) {
         switch ($entity) {
             case 'category':
                 $category = $this->getDoctrine()->getRepository('FunctionalAnalysisBundle:Category')->find($id);
                 $capacity->setCategory($category);
                 break;
             case 'need':
                 $need = $this->getDoctrine()->getRepository('FunctionalAnalysisBundle:Need')->find($id);
                 $capacity->addNeed($need);
                 break;
         }
     }
     $form = $this->createForm(new CapacityType(), $capacity);
     $form->add('Add', 'submit');
     $form->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         $em->persist($capacity);
         $em->flush();
         $url = $session->get('referer_previous');
         if ($url != null) {
             return $this->redirect($url);
         } else {
             return $this->redirect($this->generateUrl('capacities_show_all'));
         }
     }
     $session->set('referer_previous', $request->headers->get('referer'));
     return array('form' => $form->createView());
 }