Kaynağa Gözat

Ajout de user and groups a l'admin (echec pour le moment)

bastien 12 yıl önce
ebeveyn
işleme
d375621c34

+ 1 - 0
app/AppKernel.php Dosyayı Görüntüle

@@ -30,6 +30,7 @@ class AppKernel extends Kernel
30 30
             new Muzich\HomeBundle\MuzichHomeBundle(),
31 31
             new Muzich\MynetworkBundle\MuzichMynetworkBundle(),
32 32
             new Muzich\AdminBundle\MuzichAdminBundle(),
33
+            new Sonata\UserBundle\SonataUserBundle(),
33 34
         );
34 35
 
35 36
         if (in_array($this->getEnvironment(), array('dev', 'test'))) {

+ 15 - 2
src/Muzich/AdminBundle/Admin/ElementAdmin.php Dosyayı Görüntüle

@@ -14,8 +14,15 @@ class ElementAdmin extends Admin
14 14
   {
15 15
     $listMapper
16 16
       ->addIdentifier('name')
17
-      ->add('url')
17
+      ->add('owner', 'many_to_one')
18
+      ->add('type')
18 19
       ->add('tags')
20
+      ->add('_action', 'actions', array(
21
+        'actions' => array(
22
+          'view' => array(),
23
+          'edit' => array(),
24
+        )
25
+      ))
19 26
     ;
20 27
   }
21 28
   
@@ -25,15 +32,21 @@ class ElementAdmin extends Admin
25 32
       ->add('name')
26 33
       ->add('url')
27 34
       ->add('tags')
35
+      ->add('type')
28 36
     ;
29 37
   }
30 38
   
31 39
   protected function configureFormFields(FormMapper $formMapper)
32 40
   {
33 41
     $formMapper
34
-      ->add('id')
42
+      ->add('type', 'sonata_type_model', array(), array('edit' => 'list'))
35 43
       ->add('name')
36 44
       ->add('url')
45
+      ->add('owner', 'sonata_type_model', array(), array('edit' => 'list'))
46
+      ->add('group', 'sonata_type_model', array('required' => false), array('edit' => 'list'))
47
+      ->add('embed', null, array('required' => false))
48
+      ->add('tags', null, array('required' => false))
49
+      
37 50
     ;
38 51
   }
39 52
 

+ 95 - 0
src/Muzich/AdminBundle/Admin/UserAdmin.php Dosyayı Görüntüle

@@ -0,0 +1,95 @@
1
+<?php
2
+
3
+namespace Muzich\AdminBundle\Admin;
4
+
5
+use Sonata\AdminBundle\Admin\Admin;
6
+use Sonata\AdminBundle\Form\FormMapper;
7
+use Sonata\AdminBundle\Datagrid\DatagridMapper;
8
+use Sonata\AdminBundle\Datagrid\ListMapper;
9
+
10
+use FOS\UserBundle\Model\UserManagerInterface;
11
+
12
+class UserAdmin extends Admin
13
+{
14
+  
15
+  protected $userManager;
16
+  
17
+  protected function configureListFields(ListMapper $listMapper)
18
+  {
19
+    $listMapper
20
+      ->addIdentifier('username')
21
+      ->add('email')
22
+      ->add('enabled')
23
+      ->add('_action', 'actions', array(
24
+        'actions' => array(
25
+          'view' => array(),
26
+          'edit' => array(),
27
+        )
28
+      ))
29
+    ;
30
+  }
31
+  
32
+  protected function configureDatagridFilters(DatagridMapper $datagrid)
33
+  {
34
+    $datagrid
35
+      ->add('username')
36
+      ->add('email')
37
+      ->add('enabled')
38
+    ;
39
+  }
40
+//  
41
+//  protected function configureFormFields(FormMapper $formMapper)
42
+//  {
43
+//    $formMapper
44
+//      ->add('email')
45
+//      ->add('enabled', null, array('required' => false))
46
+//      //->add('password')
47
+//      ->add('confirmationToken', null, array('required' => false))
48
+//    ;
49
+//  }
50
+//
51
+////  public function validate(ErrorElement $errorElement, $object)
52
+////  {
53
+////     
54
+////  }
55
+  
56
+  protected function configureFormFields(FormMapper $formMapper)
57
+  {
58
+      $formMapper
59
+          ->with('General')
60
+              ->add('username')
61
+              ->add('email')
62
+              ->add('plainPassword', 'text')
63
+          ->end()
64
+//          ->with('Groups')
65
+//              ->add('groups', 'sonata_type_model', array('required' => false))
66
+//          ->end()
67
+          ->with('Management')
68
+//              ->add('roles', 'sonata_security_roles', array( 'multiple' => true))
69
+              ->add('locked', null, array('required' => false))
70
+              ->add('expired', null, array('required' => false))
71
+              ->add('enabled', null, array('required' => false))
72
+              ->add('credentialsExpired', null, array('required' => false))
73
+          ->end()
74
+      ;
75
+  }
76
+  public function preUpdate($user)
77
+  {
78
+      $this->getUserManager()->updateCanonicalFields($user);
79
+      $this->getUserManager()->updatePassword($user);
80
+  }
81
+
82
+  public function setUserManager(UserManagerInterface $userManager)
83
+  {
84
+      $this->userManager = $userManager;
85
+  }
86
+
87
+  /**
88
+   * @return UserManagerInterface
89
+   */
90
+  public function getUserManager()
91
+  {
92
+      return $this->userManager;
93
+  }
94
+  
95
+}

+ 9 - 0
src/Muzich/AdminBundle/Controller/UserAdminController.php Dosyayı Görüntüle

@@ -0,0 +1,9 @@
1
+<?php
2
+
3
+namespace Muzich\AdminBundle\Controller;
4
+
5
+use Sonata\AdminBundle\Controller\CRUDController as Controller;
6
+
7
+class UserAdminController extends Controller
8
+{
9
+}

+ 5 - 0
src/Muzich/CoreBundle/Entity/User.php Dosyayı Görüntüle

@@ -99,6 +99,11 @@ class User extends BaseUser
99 99
     $this->groups = new ArrayCollection();
100 100
     parent::__construct();
101 101
   }
102
+  
103
+  public function __toString()
104
+  {
105
+    return $this->getName();
106
+  }
102 107
 
103 108
   /**
104 109
    * Get id

+ 2 - 0
src/Muzich/CoreBundle/Resources/doc/index.rst Dosyayı Görüntüle

@@ -1,2 +1,4 @@
1 1
 CoreBudle est chargé de contenir le coeur du logiciel
2 2
 (a definir ...)
3
+
4
+Notes: Bundle d'Admin: http://sonata-project.org