123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649 |
- <?php
- namespace FTTHBundle\Admin;
- use Doctrine\ORM\EntityRepository;
- use Sonata\DoctrineORMAdminBundle\Datagrid\ProxyQuery;
- use Sonata\AdminBundle\Datagrid\DatagridMapper;
- use Sonata\AdminBundle\Datagrid\ListMapper;
- use Sonata\AdminBundle\Form\FormMapper;
- use Sonata\AdminBundle\Show\ShowMapper;
- use Sonata\CoreBundle\Validator\ErrorElement;
- use Sonata\DoctrineORMAdminBundle\Filter\CallbackFilter;
- use Symfony\Component\Form\FormEvent;
- use Symfony\Component\Form\FormEvents;
- use Symfony\Component\Form\Extension\Core\Type\CollectionType;
- use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
- use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
- use Symfony\Component\Form\Extension\Core\Type\HiddenType;
- use FTTHBundle\Form\ServicePortType;
- use FTTHBundle\Utils\OLTModelMark;
- use WorkflowBundle\Admin\WorkflowBaseAdmin;
- class ONUAdmin extends WorkflowBaseAdmin
- {
- /**
- * @param DatagridMapper $datagridMapper
- */
- protected function configureDatagridFilters(DatagridMapper $datagridMapper)
- {
- $datagridMapper
- ->add('clientId')
- ->add('ponSerialNumber', CallbackFilter::class, array(
- 'callback' => function (ProxyQuery $query, $alias, $field, $data) {
- if (!$data || !is_array($data) || !array_key_exists('value', $data) || !isset($data['value'])) {
- return;
- }
- $alias = $query->getRootAlias();
- $query
- ->andWhere("{$alias}.serialNumber LIKE :id OR
- {$alias}.ponSerialNumber LIKE :id OR
- {$alias}.ponSerialNumberAux LIKE :id")
- ->setParameter('id', "%{$data['value']}%");
- },), null, [
- 'attr' => [
- 'placeholder' => $this->trans('sonata.filter.onu_id')
- ]
- ])
- ->add('profile')
- ->add('nap')
- ->add('model')
- ->add('mac')
- ->add('olt');
- }
- /**
- * @param ListMapper $listMapper
- */
- protected function configureListFields(ListMapper $listMapper)
- {
- $listMapper
- ->add('client', 'string', array(
- 'template' => 'FTTHBundle:ONU:base_list_field_client.html.twig'
- ))
- ->add('ip')
- ->add('mac')
- ->add('serialNumber', 'string', array(
- 'template' => 'FTTHBundle:ONU:base_list_field_upper.html.twig'
- ))
- ->add('ponSerialNumber', 'string', array(
- 'template' => 'FTTHBundle:ONU:base_list_field_upper.html.twig'
- ))
- ;
- if ($this->hasParameter('show.onu.activationCode') && $this->getParameter('show.onu.activationCode') == true) {
- $listMapper->add('activationCode');
- }
- $listMapper
- ->add('profile')
- ->add('nap')
- ->add('position')
- ->add('service_port')
- ->add('model')
- ->add('olt')
- ->add('currentState', 'string', array(
- 'template' => 'WorkflowBundle:Workflow:base_list_field_current_state.html.twig'
- ))
- ->add('created')
- ->add('_action', 'with-workflow-action', array(
- 'actions' => array(
- 'show' => array(),
- 'edit' => array(),
- 'delete' => array(),
- 'state' => array('template' => 'WorkflowBundle:Workflow:show_transitions.html.twig')
- )));
- }
- /**
- * @param FormMapper $formMapper
- */
- protected function configureFormFields(FormMapper $formMapper)
- {
- $marks = OLTModelMark::getChoices();
- $em = $this->get("doctrine.orm.entity_manager");
- $template = $em->getRepository('FTTHBundle:ONUTemplate')->findOneBy(array('base'=>true));
- $subject = $this->getSubject();
- foreach ($marks as $m) {$hidden[$m] = 'hidden';}
- if ($subject->getId() || $template) {
- if($subject->getOlt()) {
- $olt = $subject->getOlt();
- } elseif($template) {
- $olt = $template->getOlt();
- } else {
- $olt = null;
- }
-
- if ($olt && $olt->getModel()) {
- $mark = $olt->getModel()->getMark();
- $hidden[$mark] = '';
- }
- }
- if($template && $this->isCurrentRoute('create')) {
- $translator = $this->get('translator');
- $flashbag = $this->get('session')->getFlashBag();
- $flashbag->add("warning", $translator->trans("msg_use_template_onu_in_create_onu_ftth",array(),"FTTHBundle"));
- }
- $formMapper
- ->tab('default')
- ->with('')
- ->add('clientId')
- ->add('ponSerialNumber', null, array(
- 'attr' => array(
- 'style' => 'text-transform: uppercase;'
- )));
- if ($this->hasParameter('show.onu.activationCode') && $this->getParameter('show.onu.activationCode') == true) {
- $formMapper->add('activationCode');
- }
- $formMapper
- ->add('profile')
- ->add('nap')
- ->add('model')
- ->end()
- ->end()
- ->tab('Avanzado')
- ->with('ONU')
- ->add('serialNumber', null, array(
- 'attr' => array(
- 'style' => 'text-transform: uppercase;'
- )))
- ->add('ponSerialNumberAux', null, array(
- 'attr' => array(
- 'style' => 'text-transform: uppercase;'
- )))
- ->add('mac')
- ->add('olt')
- ->add('position')
- ->end()
- ->with('Huawei', ['class' => "col-md-12 {$hidden['Huawei']} olt_mark Huawei"])
- ->add('service_port',CollectionType::class, array(
- 'entry_type' => "FTTHBundle\\Form\\ServicePortType",
- 'allow_add' => true,
- 'allow_delete' => true,
- 'required' => false,
- ))
- ->end()
- ->with('ZTE', ['class' => "col-md-12 {$hidden['ZTE']} olt_mark ZTE"])
- ->add('vlan')
- ->add('traffic_profile')
- ->add('tcontprofile')
- ->add('catv')
- ->end()
- ->with('FiberLink', ['class' => "col-md-12 {$hidden['FiberLink']} olt_mark FiberLink"])
- ->add('vlans', null, array(
- 'required' => false,
- 'multiple' => true,
- ))
- ->end()
- ->with('Extra')
- ->add('extraData')
- ->end()
- ->end()
- ->setHelps(array(
- 'nap' => $this->trans("helps.check_address"),
- 'serialNumber' => $this->trans("helps.onu_serial_number"),
- 'ponSerialNumber' => $this->trans("helps.onu_pon_serial_number"),
- 'ponSerialNumberAux' => $this->trans("helps.onu_pon_serial_number_aux"),
- 'service_port' => $this->trans("helps.service_port"),
- ));
- $tr069Data = 0;
- if($this->isCurrentRoute('edit')) {
- if($this->getParameter('tr069_service')) {
- $object = $this->getSubject();
- $serviceName = $this->getParameter('tr069_api');
- if($model = $object->getModel()) {
- if($model->getData('tr069_api')) $serviceName = $model->getData('tr069_api');
- }
- $tr069 = $this->get($serviceName);
- $query = array('$or' => array());
- if($object->getSerialNumber()) {
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getSerialNumber()));
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getSerialNumber()));
- }
- if($object->getPonSerialNumber()) {
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getPonSerialNumber()));
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getPonSerialNumber()));
- }
- if($object->getPonSerialNumberAux()) {
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getPonSerialNumberAux()));
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getPonSerialNumberAux()));
- }
- $devices = $tr069->getDevices($query);
- if(is_array($devices) && isset($devices[0]) && isset($devices[0]['_id'])) {
- $tr069Data = $tr069->getTR069Data($devices[0]);
- $id = $tr069Data['_id'] ?? null;
- $manufacturer = $tr069Data['_deviceId']['_Manufacturer'] ?? null;
- $oui = $tr069Data['_deviceId']['_OUI'] ?? null;
- $productClass = $tr069Data['_deviceId']['_ProductClass'] ?? null;
- $serialNumber = $tr069Data['_deviceId']['_SerialNumber'] ?? null;
- $ip = $tr069Data['ExternalIPAddress']['_value'] ?? null;
- $ssid = $tr069Data['SSID']['_value'] ?? null;
- $pass = $tr069Data['preSharedKey']['_value'] ?? null;
- $broadcast = $tr069Data['SSIDAdvertisementEnabled']['_value'] ?? null;
- $status = $tr069Data['Status']['_value'] ?? null;
- $catv = $tr069Data['CatvPower']['_value'] ?? null;
- $ip = $tr069Data['ExternalIPAddress']['_value'] ?? null;
- $formMapper
- ->tab('TR069')
- ->with('General')
- ->add('tr069_id', 'text', array('mapped' => false, 'data' => $id, 'required' => false, 'disabled' => true))
- ->add('tr069_manufacturer', 'text', array('mapped' => false, 'data' => $manufacturer, 'required' => false, 'disabled' => true))
- ->add('tr069_oui', 'text', array('mapped' => false, 'data' => $oui, 'required' => false, 'disabled' => true))
- ->add('tr069_product_class', 'text', array('mapped' => false, 'data' => $productClass, 'required' => false, 'disabled' => true))
- ->add('tr069_serial_number', 'text', array('mapped' => false, 'data' => $serialNumber, 'required' => false, 'disabled' => true))
- ->add('tr069_ip', 'text', array('mapped' => false, 'data' => $ip, 'required' => false, 'disabled' => true))
- ->end()
- ->with('WIFI',['description' => $this->trans('helps.tr069_wifi')])
- ->add('tr069_ssid', 'text', array('mapped' => false, 'data' => $ssid, 'required' => false))
- ->add('tr069_pass', 'text', array('mapped' => false, 'data' => $pass, 'required' => false))
- ->add('tr069_broadcast', CheckboxType::class, array('mapped' => false, 'data' => $broadcast, 'required' => false))
- ->add('tr069_status', CheckboxType::class, array('mapped' => false, 'data' => $status, 'required' => false))
- ->end()
- ->with('CATV',['description' => $this->trans('helps.tr069_catv')])
- ->add('tr069_catv', CheckboxType::class, array('mapped' => false, 'data' => $catv, 'required' => false))
- ->end()
- ->end();
- $tr069Data = 1;
- } else {
- $formMapper->tab('TR069')->with('General', ['description' => $this->trans('helps.tr069_onu_no_detected')])->end()->end();
- }
- } else {
- $formMapper->tab('TR069')->with('General', ['description' => $this->trans('helps.tr069_disabled')])->end()->end();
- }
- } else {
- $formMapper->tab('TR069')->with('General', ['description' => $this->trans('helps.tr069_no_edit')])->end()->end();
- }
- // If use tr069 > send data in preUpdate()
- $formMapper
- ->tab('default')
- ->with('')
- ->add('tr069_exist', HiddenType::class, array('mapped' => false, 'data' => $tr069Data))
- ->end()
- ->end();
- /*
- * Si vienen parámetros por GET de olt=id o psn=string seteamos los campos
- */
- $formMapper->getFormBuilder()->addEventListener(FormEvents::PRE_SET_DATA,
- function (FormEvent $event) use ($formMapper, $template, $subject) {
- $form = $event->getForm();
- if($template && $this->isCurrentRoute('create')) {
- $this->completeWithTemplate($form, $template);
- }
- $olt = $this->getRequest()->query->get('olt');
- if(!is_null($olt)) {
- $em = $this->get("doctrine.orm.entity_manager");
-
- $query_olt = $em->createQueryBuilder('o')
- ->select('o')
- ->from('FTTHBundle:OLT', 'o')
- ->where('o.id = :id')
- ->setParameter('id', $olt);
- $form->add('olt', 'entity', array('class' => 'FTTHBundle:OLT', 'query_builder' => $query_olt));
- }
- $ponSerialNumber = $this->getRequest()->query->get('psn');
- if ($ponSerialNumber) {
- $form->add('ponSerialNumber', null, array(
- 'data' => $ponSerialNumber,
- ));
- }
- }
- );
- }
- /**
- * @param ShowMapper $showMapper
- */
- protected function configureShowFields(ShowMapper $showMapper)
- {
- $showMapper
- ->tab('default')
- ->with('')
- ->add('clientId')
- ->add('ponSerialNumber');
- if ($this->hasParameter('show.onu.activationCode') && $this->getParameter('show.onu.activationCode') == true) {
- $formMapper->add('activationCode');
- }
- $showMapper
- ->add('profile')
- ->add('nap')
- ->add('model')
- ->add('created')
- ->end()
- ->end()
- ->tab('Avanzado')
- ->with('ONU')
- ->add('serialNumber')
- ->add('ponSerialNumberAux')
- ->add('mac')
- ->add('olt')
- ->add('currentState')
- ->end()
- ->end()
- ->tab('Log')
- ->with('Log')
- ->add('log', 'string', array('template' => 'FTTHBundle:ONU:show_log.html.twig'))
- ->add('deviceLog', 'string', array(
- 'template' => 'DeviceBundle::show_device_log.html.twig',
- 'translation_domain' => 'DeviceBundle',
- ))
- ->end()
- ->end();
- if($this->getParameter('tr069_service')) {
- $object = $this->getSubject();
- $serviceName = $this->getParameter('tr069_api');
- if($model = $object->getModel()) {
- if($model->getData('tr069_api')) $serviceName = $model->getData('tr069_api');
- }
- $tr069 = $this->get($serviceName);
- $object = $this->getSubject();
- $query = array('$or' => array());
- if($object->getSerialNumber()) {
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getSerialNumber()));
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getSerialNumber()));
- }
- if($object->getPonSerialNumber()) {
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getPonSerialNumber()));
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getPonSerialNumber()));
- }
- if($object->getPonSerialNumberAux()) {
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getPonSerialNumberAux()));
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getPonSerialNumberAux()));
- }
- $devices = $tr069->getDevices($query);
- if(is_array($devices) && isset($devices[0]) && isset($devices[0]['_id'])) {
- $tr069Data = $tr069->getTR069Data($devices[0]);
- $id = $tr069Data['_id'] ?? null;
- $manufacturer = $tr069Data['_deviceId']['_Manufacturer'] ?? null;
- $oui = $tr069Data['_deviceId']['_OUI'] ?? null;
- $productClass = $tr069Data['_deviceId']['_ProductClass'] ?? null;
- $serialNumber = $tr069Data['_deviceId']['_SerialNumber'] ?? null;
- $ip = $tr069Data['ExternalIPAddress']['_value'] ?? null;
- $ssid = $tr069Data['SSID']['_value'] ?? null;
- $pass = $tr069Data['preSharedKey']['_value'] ?? null;
- $broadcast = $tr069Data['SSIDAdvertisementEnabled']['_value'] ?? null;
- $status = $tr069Data['Status']['_value'] ?? null;
- $catv = $tr069Data['CatvPower']['_value'] ?? null;
- $ip = $tr069Data['ExternalIPAddress']['_value'] ?? null;
- $showMapper
- ->tab('TR069')
- ->with('General')
- ->add('tr069_id', null, array('template' => 'FTTHBundle:ONU:base_show_text.html.twig', 'text' => $id))
- ->add('tr069_manufacturer', null, array('template' => 'FTTHBundle:ONU:base_show_text.html.twig', 'text' => $manufacturer))
- ->add('tr069_oui', null, array('template' => 'FTTHBundle:ONU:base_show_text.html.twig', 'text' => $oui))
- ->add('tr069_product_class', null, array('template' => 'FTTHBundle:ONU:base_show_text.html.twig', 'text' => $productClass))
- ->add('tr069_serial_number', null, array('template' => 'FTTHBundle:ONU:base_show_text.html.twig', 'text' => $serialNumber))
- ->add('tr069_ip', null, array('template' => 'FTTHBundle:ONU:base_show_text.html.twig', 'text' => $ip))
- ->end()
- ->with('WIFI',['description' => $this->trans('helps.tr069_wifi')])
- ->add('tr069_ssid', null, array('template' => 'FTTHBundle:ONU:base_show_text.html.twig', 'text' => $ssid))
- ->add('tr069_pass', null, array('template' => 'FTTHBundle:ONU:base_show_text.html.twig', 'text' => $pass))
- ->add('tr069_broadcast', null, array('template' => 'FTTHBundle:ONU:base_show_boolean.html.twig', 'boolean' => $broadcast))
- ->add('tr069_status', null, array('template' => 'FTTHBundle:ONU:base_show_boolean.html.twig', 'boolean' => $status))
- ->end()
- ->with('CATV',['description' => $this->trans('helps.tr069_catv')])
- ->add('tr069_catv', null, array('template' => 'FTTHBundle:ONU:base_show_boolean.html.twig', 'boolean' => $catv))
- ->end()
- ->end();
- } else {
- $showMapper
- ->tab('TR069')
- ->with('General')
- ->add('tr069_id', null, array('template' => 'FTTHBundle:ONU:base_show_field.html.twig', 'text' => $this->trans('helps.tr069_onu_no_detected')))
- ->end()
- ->end();
- }
- } else {
- $showMapper
- ->tab('TR069')
- ->with('General')
- ->add('tr069_id', null, array('template' => 'FTTHBundle:ONU:base_show_field.html.twig', 'text' => $this->trans('helps.tr069_disabled')))
- ->end()
- ->end();
- }
- }
- /**
- * @param string $action
- * @param Object $object
- *
- * @return array
- */
- public function configureActionButtons($action, $object = null)
- {
- $actions = parent::configureActionButtons($action, $object);
- if($action == "list") {
- $actions['import_onu'] = array('template' => 'FTTHBundle:ONU:import_button.html.twig');
- }
- return $actions;
- }
- public function configure()
- {
- $this->setTemplate('create', 'FTTHBundle:ONU:form.html.twig');
- $this->setTemplate('edit', 'FTTHBundle:ONU:form.html.twig');
- }
- public function preUpdate($onu)
- {
- $this->correctSerialNumber($onu);
- if((boolean) $this->getForm()->get('tr069_exist')->getData()) {
- $ssid = ($this->getForm()->get('tr069_ssid')->getData()) ?? null;
- $pass = ($this->getForm()->get('tr069_pass')->getData()) ?? null;
- $id = ($this->getForm()->get('tr069_id')->getData()) ?? null;;
- $catv = ($this->getForm()->get('tr069_catv')->getData()) ?? null;
- $broadcast = ($this->getForm()->get('tr069_broadcast')->getData()) ?? null;
- $status = ($this->getForm()->get('tr069_status')->getData()) ?? null;
- $serviceName = $this->getParameter('tr069_api');
- if($model = $onu->getModel()) {
- if($model->getData('tr069_api')) $serviceName = $model->getData('tr069_api');
- }
- $tr069 = $this->get($serviceName);
- if(!is_null($catv)) $aux = $tr069->setCATV($id, $catv);
- if($ssid) $aux = $tr069->setWlan($id, $ssid, $pass);
- if(!is_null($broadcast)) $aux = $tr069->setWbroadcast($id, $broadcast);
- if(!is_null($status)) $aux = $tr069->setWstatus($id, $status);
- }
- }
- public function prePersist($onu)
- {
- $this->correctSerialNumber($onu);
- }
- public function correctSerialNumber($onu) {
- $ponSerialNumber = $onu->getPonSerialNumber(); //Identificador
- $serialNumber = $onu->getSerialNumber();
- $ponSerialNumberAux = $onu->getPonSerialNumberAux();
- if(strlen($ponSerialNumber) == 12 || strlen($ponSerialNumber) == 16) {
- if(is_null($serialNumber) || empty($serialNumber)) {
- if(strlen($ponSerialNumber) == 16) {
- // It is a serial number > set serial number
- $onu->setSerialNumber($ponSerialNumber);
- } else {
- // It is a pon serial number > convert vendor id from string to hexa and set serial number
- $vendoId = $this->str2hex(substr($ponSerialNumber,0,4));
- $rest = substr($ponSerialNumber,4);
- $sn = strtolower($vendoId.$rest);
- $onu->setSerialNumber($sn);
- }
- }
- if(is_null($ponSerialNumberAux) || empty($ponSerialNumberAux)) {
- if(strlen($ponSerialNumber) == 16) {
- // It is a serial number > convert vendor id from hexa to string and set pon serial number
- $_vendor = substr($ponSerialNumber,0,8);
- $hex = strtoupper($_vendor);
- $isNumeric = true;
- for($i=0;$i<strlen($hex);$i+=2) {
- if(!is_numeric(substr($hex,$i,2))) {
- $isNumeric = false;
- break;
- }
- }
- if(ctype_xdigit($isNumeric)) { //hexa check
- $vendoId = $this->hex2str($hex);
- $rest = substr($ponSerialNumber,8);
- $psn = strtolower($vendoId.$rest);
- $onu->setPonSerialNumberAux($psn);
- } else {
- $onu->setPonSerialNumberAux($ponSerialNumber);
- }
- } else {
- // It is a pon serial number > set pon serial number
- $onu->setPonSerialNumberAux($ponSerialNumber);
- }
- }
- } else {
- if(is_null($serialNumber) || empty($serialNumber))
- $onu->setSerialNumber($ponSerialNumber);
- if(is_null($ponSerialNumberAux) || empty($ponSerialNumberAux))
- $onu->setPonSerialNumberAux($ponSerialNumber);
- }
- }
- function hex2str($hex) {
- $hex = strtoupper($hex);
- $str = "";
- for($i=0;$i<strlen($hex);$i+=2)
- $str .= chr(hexdec(substr($hex,$i,2)));
- return $str;
- }
- function str2hex($string){
- $string = strtoupper($string);
- $hex = "";
- for ($i=0; $i < strlen($string); $i++)
- $hex .= dechex(ord($string[$i]));
- return $hex;
- }
- public function update($object){
- $em = $this->getConfigurationPool()->getContainer()->get('doctrine.orm.entity_manager');
- $all = $em->getRepository(\FTTHBundle\Entity\ServicePort::class)->findBy(array("onu" => $object));
- foreach($all as $sp){
- if(!$object->getServicePort()->contains($sp)){
- $em->remove($sp);
- }
- }
- foreach($object->getServicePort() as $sp){
- $sp->setOnu($object);
- $em->persist($sp);
- if(!$sp->getOlt()){
- $sp->setOlt($object->getOlt());
- }
- }
- return parent::update($object);
- }
- private function completeWithTemplate(&$form, $template){
-
- /*
- if($client = $template->getClientId()) {
- $form->add('clientId', null, array('data' => $client, 'label' => $this->trans("form.label_client")));
- }
- */
-
- if($profile = $template->getProfile()) {
- $form->add('profile', null, array('data' => $profile));
- }
-
- if($olt = $template->getOlt()) {
- $form->add('olt', null, array('data' => $olt));
- }
-
- if($model = $template->getModel()) {
- $form->add('model', null, array('data' => $model));
- }
-
- /*
- if($nap = $template->getNap()) {
- $form->add('nap', null, array('data' => $nap));
- }
- */
-
- if($vlan = $template->getVlan()) {
- $form->add('vlan', null, array('data' => $vlan));
- }
-
- if($trafficProfile = $template->getTrafficProfile()) {
- $form->add('traffic_profile', null, array('data' => $trafficProfile));
- }
-
- if($tcontprofile = $template->getTcontprofile()) {
- $form->add('tcontprofile', null, array('data' => $tcontprofile));
- }
-
- if($vlans = $template->getVlans()) {
- $form->add('vlans', null, array('data' => $vlans));
- }
-
- if($position = $template->getPosition()) {
- $form->add('position', null, array('data' => $position));
- }
-
- if($extraData = $template->getExtraData()) {
- $form->add('extraData', null, array('data' => $extraData));
- }
- }
- }
|