Procházet zdrojové kódy

FD3-503 Se agregan las options de DHCP en los form de host y subnet

Guillermo Espinoza před 7 roky
rodič
revize
86162824ea

+ 3 - 11
src/IPv4Bundle/EventListener/AdminDHCPOption.php

@@ -4,19 +4,11 @@ namespace IPv4Bundle\EventListener;
 
 use Sonata\AdminBundle\Event\ConfigureEvent;
 use IPv4Bundle\Traits\DHCPOptionTrait;
+use IPv4Bundle\Utils\DHCPOptions;
 
 class AdminDHCPOption
 {
 
-    private $dhcpOptions = [
-        'filename', 'subnet_mask', 'time_offset',
-        'routers', 'domain_name_servers', 'host_name',
-        'domain_name', 'broadcast_address', 'default_lease_time',
-        'max_lease_time', 'next_server', 'tftp_server_name',
-        'option122_dhcp_server', 'option122_dhcp_server_secondary',
-        'option122_provisioning_server', 'option122_provisioning_type',
-    ];
-
     /**
      * @param ConfigureEvent $event
      */
@@ -33,7 +25,7 @@ class AdminDHCPOption
             );
             $mapper->tab('DHCP Option', $options)
                 ->with('DHCP Option', $options);
-            foreach ($this->dhcpOptions as $opt) {
+            foreach (DHCPOptions::getConstants() as $opt) {
                 $mapper->add($opt, 'text', array(
                     'required'=> false,
                 ));
@@ -58,7 +50,7 @@ class AdminDHCPOption
             );
             $mapper->tab('DHCP Option', $options)
                 ->with('DHCP Option', $options);
-            foreach ($this->dhcpOptions as $opt) {
+            foreach (DHCPOptions::getConstants() as $opt) {
                 if (!$mapper->has($opt)) {
                     $mapper->add($opt, 'text', array(
                         'required'=> false,

+ 6 - 1
src/IPv4Bundle/Form/HostType.php

@@ -2,6 +2,7 @@
 
 namespace IPv4Bundle\Form;
 
+use IPv4Bundle\Utils\DHCPOptions;
 use Symfony\Component\Form\AbstractType;
 use Symfony\Component\Form\FormBuilderInterface;
 use Symfony\Component\OptionsResolver\OptionsResolver;
@@ -15,12 +16,16 @@ class HostType extends AbstractType
     {
         $builder
             ->add('mac')
-            ->add('options')
             ->add('hostType', null, [
                 'required' => false
             ])
             ->add('state')
             ;
+        foreach (DHCPOptions::getConstants() as $opt) {
+            $builder->add($opt, 'text', array(
+                'required'=> false,
+            ));
+        }
     }
 
     /**

+ 8 - 2
src/IPv4Bundle/Form/SubNetType.php

@@ -2,6 +2,7 @@
 
 namespace IPv4Bundle\Form;
 
+use IPv4Bundle\Utils\DHCPOptions;
 use Symfony\Component\Form\AbstractType;
 use Symfony\Component\Form\FormBuilderInterface;
 use Symfony\Component\OptionsResolver\OptionsResolver;
@@ -13,9 +14,14 @@ class SubNetType extends AbstractType
      */
     public function buildForm(FormBuilderInterface $builder, array $options)
     {
-        $builder->add('address')->add('options')->add('tenancyId')->add('allowedHostType')->add('netGroup');
+        $builder->add('address')->add('tenancyId')->add('allowedHostType')->add('netGroup');
+        foreach (DHCPOptions::getConstants() as $opt) {
+            $builder->add($opt, 'text', array(
+                'required'=> false,
+            ));
+        }
     }
-    
+
     /**
      * {@inheritdoc}
      */

+ 29 - 0
src/IPv4Bundle/Utils/DHCPOptions.php

@@ -0,0 +1,29 @@
+<?php
+
+namespace IPv4Bundle\Utils;
+
+use DeviceBundle\Utils\ChoiceTrait;
+
+class DHCPOptions
+{
+
+    use ChoiceTrait;
+
+    const DHCP_FILENAME = 'filename';
+    const DHCP_SUBNET_MASK = 'subnet_mask';
+    const DHCP_TIME_OFFSET = 'time_offset';
+    const DHCP_ROUTERS = 'routers';
+    const DHCP_DOMAIN_NAME_SERVERS = 'domain_name_servers';
+    const DHCP_HOST_NAME = 'host_name';
+    const DHCP_DOMAIN_NAME = 'domain_name';
+    const DHCP_BROADCAST_ADDRESS = 'broadcast_address';
+    const DHCP_DEFAULT_LEASE_TIME = 'default_lease_time';
+    const DHCP_LEASE_TIME = 'max_lease_time';
+    const DHCP_NEXT_SERVER = 'next_server';
+    const DHCP_TFTP_SERVER_NAME = 'tftp_server_name';
+    const DHCP_OPT122_DHCP_SERVER = 'option122_dhcp_server';
+    const DHCP_OPT122_DHCP_SERVER_SECONDARY = 'option122_dhcp_server_secondary';
+    const DHCP_OPT122_PROVISIONING_SERVER = 'option122_provisioning_server';
+    const DHCP_OPT122_PROVISIONING_TYPE = 'option122_provisioning_type';
+    
+}

+ 1 - 1
src/IPv4Bundle/tests/Controller/REST/HostRESTControllerTest.php

@@ -76,9 +76,9 @@ class HostRESTControllerTest extends BaseRESTControllerTest
     {
         $datos = [
             'mac' => 'cafecafecafe',
-            'options' => 'cafecafecafe',
             'hostType' => null,
             'state' => Host::STATE_ACTIVE,
+            'filename' => 'cafecafecafe.bin',
         ];
 
         if ($key == null) {