|
@@ -3,10 +3,12 @@
|
|
|
namespace IPv4Bundle\Admin;
|
|
|
|
|
|
use Base\AdminBundle\Admin\BaseAdmin;
|
|
|
+use IPv4Bundle\Entity\Host;
|
|
|
use Sonata\AdminBundle\Datagrid\DatagridMapper;
|
|
|
use Sonata\AdminBundle\Datagrid\ListMapper;
|
|
|
use Sonata\AdminBundle\Form\FormMapper;
|
|
|
use Sonata\AdminBundle\Show\ShowMapper;
|
|
|
+use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
|
|
|
|
|
class HostAdmin extends BaseAdmin
|
|
|
{
|
|
@@ -48,11 +50,17 @@ class HostAdmin extends BaseAdmin
|
|
|
$formMapper
|
|
|
->tab('Host')
|
|
|
->with('Host')
|
|
|
- ->add('mac')
|
|
|
- ->add('hostType')
|
|
|
- ->add('state')
|
|
|
- ->end()
|
|
|
- ->end()
|
|
|
+ ->add('mac')
|
|
|
+ ->add('hostType')
|
|
|
+ ->add('state', ChoiceType::class, [
|
|
|
+ 'choices' => [
|
|
|
+ Host::STATE_ACTIVE => Host::STATE_ACTIVE,
|
|
|
+ Host::STATE_SUSPENDED => Host::STATE_SUSPENDED,
|
|
|
+ ],
|
|
|
+ 'translation_domain' => 'IPv4Bundle',
|
|
|
+ ])
|
|
|
+ ->end()
|
|
|
+ ->end()
|
|
|
;
|
|
|
}
|
|
|
|
|
@@ -67,18 +75,41 @@ class HostAdmin extends BaseAdmin
|
|
|
->add('mac')
|
|
|
->add('hostType')
|
|
|
->add('state')
|
|
|
- ->end()
|
|
|
- ->end()
|
|
|
+ ->end()
|
|
|
+ ->end()
|
|
|
;
|
|
|
+
|
|
|
+ $this->addCablemodemTab($showMapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param ShowMapper $showMapper
|
|
|
+ */
|
|
|
+ protected function addCablemodemTab(ShowMapper $showMapper)
|
|
|
+ {
|
|
|
+ if ($showMapper->hasOpenTab()) {
|
|
|
+ $showMapper
|
|
|
+ ->end()
|
|
|
+ ->end();
|
|
|
+ }
|
|
|
+ $showMapper
|
|
|
+ ->tab('Cablemodem')
|
|
|
+ ->with('Cablemodem')
|
|
|
+ ->add('cablemodem', null, array(
|
|
|
+ 'template' => 'IPv4Bundle:CRUD:cablemodem_show_field.html.twig',
|
|
|
+ 'label' => false,
|
|
|
+ ))
|
|
|
+ ->end()
|
|
|
+ ->end();
|
|
|
}
|
|
|
|
|
|
function prePersist($object){
|
|
|
- $object->setOptions(json_encode($object->getDHCPOption()));
|
|
|
- return parent::preUpdate($object);
|
|
|
+ $object->setOptions(json_encode($object->getDHCPOption()));
|
|
|
+ return parent::preUpdate($object);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
function preUpdate($object){
|
|
|
- $object->setOptions(json_encode($object->getDHCPOption()));
|
|
|
- return parent::preUpdate($object);
|
|
|
+ $object->setOptions(json_encode($object->getDHCPOption()));
|
|
|
+ return parent::preUpdate($object);
|
|
|
}
|
|
|
}
|