|
@@ -2,8 +2,10 @@
|
|
|
|
|
|
namespace IPv4Bundle\Entity;
|
|
|
|
|
|
+use Base\AdminBundle\Interfaces\PreRemoveInterface;
|
|
|
use Base\AdminBundle\Traits\TenancyIdTrait;
|
|
|
use Base\AdminBundle\Traits\TenancyIdTraitInterface;
|
|
|
+use HostBundle\Entity\Host;
|
|
|
use Doctrine\ORM\Mapping as ORM;
|
|
|
use JMS\Serializer\Annotation as JMS;
|
|
|
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
|
@@ -20,7 +22,7 @@ use WorkflowBundle\Entity\Traits\WorkflowTrait;
|
|
|
*
|
|
|
* @Assert\Callback("validateIPs")
|
|
|
*/
|
|
|
-class Pool implements TenancyIdTraitInterface, WorkflowInterface
|
|
|
+class Pool implements TenancyIdTraitInterface, WorkflowInterface, PreRemoveInterface
|
|
|
{
|
|
|
|
|
|
use TenancyIdTrait;
|
|
@@ -273,4 +275,21 @@ class Pool implements TenancyIdTraitInterface, WorkflowInterface
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function getEntitiesForRemove()
|
|
|
+ {
|
|
|
+ global $kernel;
|
|
|
+
|
|
|
+ $hostRepository = $kernel->getContainer()->get('doctrine')->getRepository(Host::class);
|
|
|
+ $hosts = $hostRepository->findAllBetweenIp($this->firstIp, $this->lastIp);
|
|
|
+ $entities = [];
|
|
|
+ foreach ($hosts as $host) {
|
|
|
+ $entities['host'][] = sprintf('Id: <b>%d</b> Fixed IP: <b>%s</b>', $host->getId(), $host->getFixedAddress());
|
|
|
+ }
|
|
|
+
|
|
|
+ return $entities;
|
|
|
+ }
|
|
|
+
|
|
|
}
|