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>'; }
/** * @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()); }