get("doctrine.orm.entity_manager"); $deviceServer = $this->getParameter("device_server_base"); $cmtss = $em->getRepository("StatsBundle:device")->findBy(array('deviceServer' => $deviceServer, 'deviceType' => 'CablemodemBundle\Entity\CMTS')); $choices = array(); foreach($cmtss as $cmts) { $data = $cmts->jsonExtraData(); $name = null; (isset($data['name']))? $name = $data['name'] : $name = $cmts->getIp(); $choices[$name] = $cmts->getDeviceId(); } $datagridMapper ->add('cmtsDeviceId', 'doctrine_orm_string', array(), 'choice', array('choices' => $choices)) ->add('deviceServer') ->add('tenancyId') ->add('ip') ->add('mac') ; } /** * @param ListMapper $listMapper */ protected function configureListFields(ListMapper $listMapper) { $em = $this->get("doctrine.orm.entity_manager"); $servers = $em->getRepository("StatsBundle:DeviceServer")->findAll(); $cmtss_server = $urls_server = array(); foreach($servers as $deviceServer) { $urls = $this->get('webservice')->getData($deviceServer->getUrl()); $urls_server[$deviceServer->getId()] = $urls; $cmtss = $em->getRepository("StatsBundle:device")->findBy(array('deviceServer'=>$deviceServer, 'deviceType' => 'CablemodemBundle\Entity\CMTS')); $cmtss_server[$deviceServer->getId()] = array(); foreach($cmtss as $cmts) { $data = $cmts->jsonExtraData(); $name = null; if(isset($data['name'])) $name = $data['name']; $cmtss_server[$deviceServer->getId()][$cmts->getDeviceId()] = $name; } } $interfaces = array(); $ifs = $em->getRepository("StatsBundle:CmtsInterface")->findAll(); foreach($ifs as $if) { $index = $if->getIndex(); $id = $if->getId(); $cmtsId = $if->getCmtsDeviceId(); $serverId = $if->getDeviceServer()->getId(); if(!isset($interfaces[$serverId])) $interfaces[$serverId] = array(); if(!isset($interfaces[$serverId][$cmtsId])) $interfaces[$serverId][$cmtsId] = array(); $interfaces[$serverId][$cmtsId][$index] = $id; } $this->parameters = array('urls_server' => $urls_server, 'cmtss_server' => $cmtss_server, 'interfaces' => $interfaces); $listMapper ->add('cmtsDeviceId', 'string', array('template' => 'StatsBundle:CmtsInterface:base_list_field_cmts.html.twig')) ->add('ip') ->add('mac', 'string', array('template' => 'StatsBundle:Cablemodem:show_link.html.twig')) ->add('index') ->add('upIf',null, array('template' => 'StatsBundle:Cablemodem:field_interface_index.html.twig','typeIf' => 'upstream')) ->add('downIf',null, array('template' => 'StatsBundle:Cablemodem:field_interface_index.html.twig','typeIf' => 'downstream')) ->add('status',null, array('template' => 'StatsBundle:Templates:field_status.html.twig')) ->add('txPower',null, array('template' => 'StatsBundle:Cablemodem:field_tx_power_in_cm.html.twig')) ->add('rxPower',null, array('template' => 'StatsBundle:Cablemodem:field_rx_power_in_cm.html.twig')) ->add('signal',null, array('template' => 'StatsBundle:Cablemodem:field_snr_power_in_cm.html.twig')) ->add('microreflection',null, array('template' => 'StatsBundle:Cablemodem:field_microreflection_power_in_cm.html.twig')) ->add('inOctets',null, array('template' => 'StatsBundle:Cablemodem:field_octets.html.twig')) ->add('outOctets',null, array('template' => 'StatsBundle:Cablemodem:field_octets.html.twig')) ->add('rxPowerCmts',null, array('template' => 'StatsBundle:Cablemodem:field_rx_power_in_cm.html.twig')) ->add('signalCmts',null, array('template' => 'StatsBundle:Cablemodem:field_snr_power_in_cm.html.twig')) /* ->add('microreflectionCmts',null, array('template' => 'StatsBundle:Cablemodem:field_microreflection_power_in_cm.html.twig')) */ ->add('uptime',null, array('template' => 'StatsBundle:Cablemodem:field_uptime.html.twig')) ; } /** * @param FormMapper $formMapper */ protected function configureFormFields(FormMapper $formMapper) { } /** * @param ShowMapper $showMapper */ protected function configureShowFields(ShowMapper $showMapper) { $from = $this->getRequest()->get('from'); $to = $this->getRequest()->get('to'); $this->parameters = array('from' => $from, 'to' => $to); } /** * @param string $action * @param Object $object * * @return array */ public function configureActionButtons($action, $object = null) { $actions = parent::configureActionButtons($action, $object); /* if($action == "show") { $actions['show_in_map'] = array('template' => 'StatsBundle:PonPort:map_button.html.twig'); } */ return $actions; } protected function configureRoutes(RouteCollection $collection) { $collection->remove('delete'); $collection->remove('create'); $collection->remove('edit'); } }