|
@@ -0,0 +1,109 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace KeaBundle\Admin;
|
|
|
+
|
|
|
+use Base\AdminBundle\Admin\BaseAdmin;
|
|
|
+use Sonata\AdminBundle\Datagrid\DatagridMapper;
|
|
|
+use Sonata\AdminBundle\Datagrid\ListMapper;
|
|
|
+use Sonata\AdminBundle\Form\FormMapper;
|
|
|
+use Sonata\AdminBundle\Show\ShowMapper;
|
|
|
+use Sonata\AdminBundle\Route\RouteCollection;
|
|
|
+
|
|
|
+class Lease4Admin extends BaseAdmin
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * @param DatagridMapper $datagridMapper
|
|
|
+ */
|
|
|
+ protected function configureDatagridFilters(DatagridMapper $datagridMapper)
|
|
|
+ {
|
|
|
+ $datagridMapper
|
|
|
+ ->add('address', 'doctrine_orm_callback', array(
|
|
|
+ 'callback' => function($queryBuilder, $alias, $field, $value) {
|
|
|
+ if (!$value['value']) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ $queryBuilder
|
|
|
+ ->andWhere("{$alias}.address = :address")
|
|
|
+ ->setParameter('address', ip2long($value['value']));
|
|
|
+
|
|
|
+ return true;
|
|
|
+ },
|
|
|
+ ))
|
|
|
+ ->add('hwaddr', 'doctrine_orm_callback', array(
|
|
|
+ 'callback' => function($queryBuilder, $alias, $field, $value) {
|
|
|
+ if (!$value['value']) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ $queryBuilder->andWhere("{$alias}.hwaddr = :hwaddr");
|
|
|
+ $queryBuilder->setParameter('hwaddr', hex2bin($value['value']));
|
|
|
+
|
|
|
+ return true;
|
|
|
+ },
|
|
|
+ ))
|
|
|
+ ;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param ListMapper $listMapper
|
|
|
+ */
|
|
|
+ protected function configureListFields(ListMapper $listMapper)
|
|
|
+ {
|
|
|
+ $listMapper
|
|
|
+ ->add('address')
|
|
|
+ ->add('hwaddr')
|
|
|
+ ->add('client_id')
|
|
|
+ ->add('valid_lifetime')
|
|
|
+ ->add('expire')
|
|
|
+ ->add('_action', null, array(
|
|
|
+ 'actions' => array(
|
|
|
+ 'show' => array(),
|
|
|
+ 'edit' => array(),
|
|
|
+ 'delete' => array(),
|
|
|
+ ),
|
|
|
+ ))
|
|
|
+ ;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param FormMapper $formMapper
|
|
|
+ */
|
|
|
+ protected function configureFormFields(FormMapper $formMapper)
|
|
|
+ {
|
|
|
+ $formMapper
|
|
|
+ ->add('address')
|
|
|
+ ->add('hwaddr')
|
|
|
+ ->add('client_id')
|
|
|
+ ->add('valid_lifetime')
|
|
|
+ ->add('expire')
|
|
|
+ ;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param ShowMapper $showMapper
|
|
|
+ */
|
|
|
+ protected function configureShowFields(ShowMapper $showMapper)
|
|
|
+ {
|
|
|
+ $showMapper
|
|
|
+ ->add('address')
|
|
|
+ ->add('hwaddr')
|
|
|
+ ->add('client_id')
|
|
|
+ ->add('valid_lifetime')
|
|
|
+ ->add('expire')
|
|
|
+ ;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param RouteCollection $collection
|
|
|
+ */
|
|
|
+ protected function configureRoutes(RouteCollection $collection)
|
|
|
+ {
|
|
|
+ $collection
|
|
|
+ ->remove('create')
|
|
|
+ ->remove('edit')
|
|
|
+ ->remove('delete')
|
|
|
+ ;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|