Pārlūkot izejas kodu

Mise en place (alpha) de l'admin.

bastien 12 gadus atpakaļ
vecāks
revīzija
eb3303094b

+ 7 - 7
app/config/routing.yml Parādīt failu

@@ -5,14 +5,14 @@
5 5
 #   resource: "@FrameworkBundle/Resources/config/routing/internal.xml"
6 6
 #   prefix:   /_internal
7 7
   
8
-_white_october_admin:
9
-    resource: .
10
-    type: white_october_admin
11
-
12
-white_october_admin:
13
-    resource: "@WhiteOctoberAdminBundle/Resources/config/routing/admin.xml"
8
+admin:
9
+    resource: '@SonataAdminBundle/Resources/config/routing/sonata_admin.xml'
10
+    prefix: /admin
14 11
 
15
-  
12
+_sonata_admin:
13
+    resource: .
14
+    type: sonata_admin
15
+    prefix: /admin
16 16
   
17 17
 MuzichIndexBundle:
18 18
   resource: "@MuzichIndexBundle/Resources/config/routing.yml"

+ 4 - 25
src/Muzich/AdminBundle/Admin/ElementAdmin.php Parādīt failu

@@ -2,32 +2,11 @@
2 2
 
3 3
 namespace Muzich\AdminBundle\Admin;
4 4
 
5
-use WhiteOctober\AdminBundle\Admin\Admin;
5
+use Sonata\AdminBundle\Admin\Admin;
6
+use Sonata\AdminBundle\Form\FormMapper;
7
+use Sonata\AdminBundle\Datagrid\DatagridMapper;
8
+use Sonata\AdminBundle\Datagrid\ListMapper;
6 9
 
7 10
 class ElementAdmin extends Admin
8 11
 {
9
-  
10
-  protected function configure()
11
-  {
12
-    $this
13
-      // model class to admin
14
-      ->setDataClass('MuzichCoreBundle\Entity\Element')
15
-      // optional, if not the admin class urlized
16
-      ->setRoutePatternPrefix('/admin/elements')
17
-      // optional, if not the admin class urlized
18
-      ->setRouteNamePrefix('admin_elements')
19
-      // fields to use
20
-      ->addFields(array(
21
-          'name',
22
-          'url'
23
-      ))
24
-      // actions the admin has
25
-      ->addActions(array(
26
-          'mandango.crud',
27
-      ))
28
-    ;
29
-  }
30
-  
31 12
 }
32
-
33
-?>

+ 12 - 0
src/Muzich/AdminBundle/Admin/ElementTypeAdmin.php Parādīt failu

@@ -0,0 +1,12 @@
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
+class ElementTypeAdmin extends Admin
11
+{
12
+}

+ 9 - 0
src/Muzich/AdminBundle/Controller/ElementAdminController.php Parādīt failu

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

+ 9 - 0
src/Muzich/AdminBundle/Controller/ElementTypeAdminController.php Parādīt failu

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

+ 44 - 0
src/Muzich/CoreBundle/Admin/ElementAdmin.php Parādīt failu

@@ -0,0 +1,44 @@
1
+<?php
2
+
3
+namespace Muzich\CoreBundle\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
+use Sonata\AdminBundle\Show\ShowMapper;
10
+
11
+class ElementAdmin extends Admin
12
+{
13
+  
14
+  protected $baseRouteName = 'elements_admin';
15
+  
16
+  protected function configureListFields(ListMapper $listMapper)
17
+  {
18
+    $listMapper
19
+      ->addIdentifier('id')
20
+      ->add('name')
21
+      ->add('url')
22
+
23
+      // add custom action links
24
+      ->add('_action', 'actions', array(
25
+        'actions' => array(
26
+          'view' => array(),
27
+          'edit' => array(),
28
+        )
29
+      ))
30
+    ;
31
+  }
32
+  
33
+  protected function configureDatagridFilters(DatagridMapper $datagrid)
34
+  {
35
+    $datagrid
36
+      ->add('name')
37
+      ->add('url')
38
+      ->add('tags', null, array('label' => 'les tags'), null, array('expanded' => true, 'multiple' => true))
39
+    ;
40
+  }
41
+  
42
+}
43
+
44
+?>

+ 19 - 6
src/Muzich/CoreBundle/Resources/config/security.yml Parādīt failu

@@ -1,4 +1,7 @@
1
-
1
+parameters:
2
+    # ... other parameters
3
+    security.acl.permission.map.class: Sonata\AdminBundle\Security\Acl\Permission\AdminPermissionMap
4
+    
2 5
 security:
3 6
     providers:
4 7
         fos_userbundle:
@@ -6,7 +9,7 @@ security:
6 9
 
7 10
     firewalls:
8 11
         main:
9
-            pattern:      ^/
12
+            pattern:      .*
10 13
             form_login:
11 14
                 provider:       fos_userbundle
12 15
                 login_path:     index
@@ -20,11 +23,18 @@ security:
20 23
                 target: /hello
21 24
             anonymous:  ~
22 25
             
23
-    role_hierarchy:
26
+    #role_hierarchy:
24 27
       # Attention, pas sur de ces lignes là !
25
-        ROLE_USER:        ROLE_USER
26
-        ROLE_ADMIN:       ROLE_ADMIN
27
-        ROLE_SUPER_ADMIN: ROLE_SUPER_ADMIN
28
+        #ROLE_USER:        ROLE_USER
29
+        #ROLE_ADMIN:       ROLE_ADMIN
30
+        #ROLE_SUPER_ADMIN: ROLE_SUPER_ADMIN
31
+        
32
+    role_hierarchy:
33
+        ROLE_ADMIN:       ROLE_USER
34
+        ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_SONATA_ADMIN, ROLE_ALLOWED_TO_SWITCH]
35
+        
36
+    acl:
37
+        connection: default
28 38
         
29 39
     ## La en tant qu'exemple, exploiter ça (http://j-place.developpez.com/tutoriels/php/ameliorez-vos-applications-developpees-avec-symfony2/#LVI-A-3)
30 40
     access_control:
@@ -34,9 +44,12 @@ security:
34 44
         - { path: "^/(?:fr|en)/resetting", roles: IS_AUTHENTICATED_ANONYMOUSLY }
35 45
         - { path: "^/change-language/(?:fr|en)", roles: IS_AUTHENTICATED_ANONYMOUSLY }
36 46
         
47
+        # PAGES ACCESSIBLES AUX ADMINISTRATEURS
48
+        - { path: ^/admin, role: IS_AUTHENTICATED_ANONYMOUSLY }
37 49
         
38 50
         - { path: ^/_wdt/, role: IS_AUTHENTICATED_ANONYMOUSLY }
39 51
         - { path: ^/_profiler/, role: IS_AUTHENTICATED_ANONYMOUSLY }
52
+        
40 53
         - { path: ^/js/, role: IS_AUTHENTICATED_ANONYMOUSLY }
41 54
         - { path: ^/css/, role: IS_AUTHENTICATED_ANONYMOUSLY }
42 55
         - { path: ^/bundles/, role: IS_AUTHENTICATED_ANONYMOUSLY }

+ 2 - 0
src/Muzich/HomeBundle/Resources/config/routing.yml Parādīt failu

@@ -3,6 +3,8 @@
3 3
 home:
4 4
   pattern:  /{_locale}
5 5
   defaults: { _controller: MuzichHomeBundle:Home:index, _locale: fr }
6
+  requirements:
7
+    _locale: en|fr
6 8
   
7 9
 show_user:
8 10
   pattern: /{_locale}/user/{slug}