浏览代码

Fix Admin classes

Thomas Rabaix 14 年之前
父节点
当前提交
1b1a27b1ef
共有 2 个文件被更改,包括 52 次插入55 次删除
  1. 18 15
      Admin/Entity/GroupAdmin.php
  2. 34 40
      Admin/Entity/UserAdmin.php

+ 18 - 15
Admin/Entity/GroupAdmin.php

@@ -19,15 +19,6 @@ use Sonata\AdminBundle\Route\RouteCollection;
 
 class GroupAdmin extends Admin
 {
-    protected $list = array(
-        'name' => array('identifier' => true),
-        'roles'
-    );
-
-    protected $form = array(
-        'name',
-    );
-
     public function getNewInstance()
     {
         $class = $this->getClass();
@@ -35,13 +26,25 @@ class GroupAdmin extends Admin
         return new $class('', array());
     }
 
+    public function configureListFields(ListMapper $listMapper)
+    {
+        $listMapper
+            ->addIdentifier('name')
+            ->add('roles')
+        ;
+    }
+
+    public function configureDatagridFilters(DatagridMapper $datagridMapper)
+    {
+        $datagridMapper
+            ->add('name')
+        ;
+    }
     public function configureFormFields(FormMapper $formMapper)
     {
-        $formMapper->addType('roles', 'sonata_security_roles', array(
-            'multiple' => true,
-//            'expanded' => true,
-        ), array(
-            'type' => 'choice'
-        ));
+        $formMapper
+            ->add('name')
+            ->add('roles', 'sonata_security_roles', array( 'multiple' => true))
+        ;
     }
 }

+ 34 - 40
Admin/Entity/UserAdmin.php

@@ -21,56 +21,50 @@ use FOS\UserBundle\Model\UserManagerInterface;
 
 class UserAdmin extends Admin
 {
-
-    protected $list = array(
-        'username' => array('identifier' => true),
-        'email',
-        'enabled',
-        'locked',
-        'createdAt',
-    );
-
-    protected $formGroups = array(
-        'General' => array(
-            'fields' => array('username', 'email', 'plainPassword')
-        ),
-        'Groups' => array(
-            'fields' => array('groups')
-        ),
-        'Management' => array(
-            'fields' => array('roles', 'locked', 'expired', 'enabled', 'credentialsExpired', 'credentialsExpireAt')
-        )
-    );
-
     protected $formOptions = array(
         'validation_groups' => 'admin'
     );
 
-    protected $filter = array(
-        'username',
-        'locked',
-        'email',
-        'id',
-    );
+    public function configureListFields(ListMapper $listMapper)
+    {
+        $listMapper
+            ->addIdentifier('username')
+            ->add('email')
+            ->add('enabled')
+            ->add('locked')
+            ->add('createdAt')
+        ;
+    }
 
-    public function configureFormFields(FormMapper $formMapper)
+    public function configureDatagridFilters(DatagridMapper $filterMapper)
     {
-        $formMapper
+        $filterMapper
             ->add('username')
+            ->add('locked')
             ->add('email')
-            ->add('groups', array('required' => false))
-            ->add('locked', array('required' => false))
-            ->add('expired', array('required' => false))
-            ->add('enabled', array('required' => false))
-            ->add('credentialsExpired', array('required' => false))
+            ->add('id')
         ;
+    }
 
-        $formMapper->addType('roles', 'sonata_security_roles', array(
-            'multiple' => true,
-//            'expanded' => true,
-        ), array(
-            'type' => 'choice'
-        ));
+    public function configureFormFields(FormMapper $formMapper)
+    {
+        $formMapper
+            ->with('General')
+                ->add('username')
+                ->add('email')
+                ->add('plainPassword', 'text')
+            ->end()
+            ->with('Groups')
+                ->add('groups', 'sonata_type_model', array('required' => false))
+            ->end()
+            ->with('Management')
+                ->add('roles', 'sonata_security_roles', array( 'multiple' => true))
+                ->add('locked', null, array('required' => false))
+                ->add('expired', null, array('required' => false))
+                ->add('enabled', null, array('required' => false))
+                ->add('credentialsExpired', null, array('required' => false))
+            ->end()
+        ;
     }
     
     public function preUpdate($user)