|
@@ -166,6 +166,8 @@ class ONUSubscriber implements EventSubscriber
|
|
$this->assignVLanId($args);
|
|
$this->assignVLanId($args);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ $this->fiberHomeRequire($args);
|
|
|
|
+
|
|
if ($eventName == DoctrineEvents::PRE_UPDATE) {
|
|
if ($eventName == DoctrineEvents::PRE_UPDATE) {
|
|
$uow = $this->em->getUnitOfWork();
|
|
$uow = $this->em->getUnitOfWork();
|
|
$meta = $this->em->getClassMetadata(get_class($entity));
|
|
$meta = $this->em->getClassMetadata(get_class($entity));
|
|
@@ -375,4 +377,35 @@ class ONUSubscriber implements EventSubscriber
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * @param LifecycleEventArgs $args
|
|
|
|
+ */
|
|
|
|
+ private function fiberHomeRequire(LifecycleEventArgs &$args)
|
|
|
|
+ {
|
|
|
|
+ $olt = $args->getEntity()->getOlt();
|
|
|
|
+ $vlanName = "vlanid_data";
|
|
|
|
+
|
|
|
|
+ if(!$olt || $olt->getMark() != "FiberHome")
|
|
|
|
+ return true;
|
|
|
|
+
|
|
|
|
+ if($args->getEntity()->getVlanByName($vlanName))
|
|
|
|
+ return true;
|
|
|
|
+
|
|
|
|
+ $obj = $this->em->getRepository(VLanID::class)->findOneBy(array("usedByDefault" => true, "name" => $vlanName));
|
|
|
|
+ if ($obj) {
|
|
|
|
+ $args->getEntity()->addVlan($obj);
|
|
|
|
+ $this->em->flush();
|
|
|
|
+ } else {
|
|
|
|
+ $obj = $this->em->getRepository(VLanID::class)->findOneBy(array("name" => $vlanName));
|
|
|
|
+ if ($obj) {
|
|
|
|
+ $args->getEntity()->addVlan($obj);
|
|
|
|
+ $this->em->flush();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return true;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|