Browse Source

Admin: Moderate: Gestion des tags

Sevajol Bastien 11 years ago
parent
commit
21e9454536

+ 5 - 0
app/config/routing.yml View File

@@ -121,3 +121,8 @@ MuzichAdminBundle_admin_muzich_admin_bundle_Moderate_element:
121 121
     resource: "@MuzichAdminBundle/Controller/Moderate_element/"
122 122
     type:     admingenerator
123 123
     prefix:   /admin/muzich_admin_bundle/Moderate_element
124
+
125
+MuzichAdminBundle_admin_muzich_admin_bundle_Moderate_tag:
126
+    resource: "@MuzichAdminBundle/Controller/Moderate_tag/"
127
+    type:     admingenerator
128
+    prefix:   /admin/muzich_admin_bundle/Moderate_tag

+ 9 - 0
src/Muzich/AdminBundle/Controller/Moderate_tag/DeleteController.php View File

@@ -0,0 +1,9 @@
1
+<?php
2
+
3
+namespace Muzich\AdminBundle\Controller\Moderate_tag;
4
+
5
+use Admingenerated\MuzichAdminBundle\BaseModerate_tagController\DeleteController as BaseDeleteController;
6
+
7
+class DeleteController extends BaseDeleteController
8
+{
9
+}

+ 64 - 0
src/Muzich/AdminBundle/Controller/Moderate_tag/EditController.php View File

@@ -0,0 +1,64 @@
1
+<?php
2
+
3
+namespace Muzich\AdminBundle\Controller\Moderate_tag;
4
+
5
+use Admingenerated\MuzichAdminBundle\BaseModerate_tagController\EditController as BaseEditController;
6
+use Muzich\CoreBundle\Managers\TagManager;
7
+use Symfony\Component\HttpFoundation\RedirectResponse;
8
+
9
+class EditController extends BaseEditController
10
+{
11
+  
12
+  protected function getTagContext($pk)
13
+  {
14
+    //$Tag = $this->getObject($pk); Error ?!
15
+    $Tag = $tag = $this->getDoctrine()->getRepository('MuzichCoreBundle:Tag')->findOneBy(array(
16
+      'id'         => $pk,
17
+      'tomoderate' => true
18
+    ));
19
+    if (!$Tag) {
20
+        throw new NotFoundHttpException("The Muzich\CoreBundle\Entity\Tag with id $pk can't be found");
21
+    }
22
+    return $Tag;
23
+  }
24
+  
25
+  public function acceptAction($pk)
26
+  {
27
+    $tag = $this->getTagContext($pk);
28
+    $tagManager = new TagManager();
29
+    $tagManager->moderateTag($this->getDoctrine(), $tag, true);
30
+    
31
+    $this->get('session')->setFlash('success', $this->get('translator')->trans("object.edit.success", array(), 'Admingenerator') );
32
+    return new RedirectResponse($this->generateUrl("Muzich_AdminBundle_Moderate_tag_list" ));
33
+  }
34
+  
35
+  public function refuseAction($pk)
36
+  {
37
+    $tag = $this->getTagContext($pk);
38
+    $tagManager = new TagManager();
39
+    $tagManager->moderateTag($this->getDoctrine(), $tag, false);
40
+    
41
+    $uids = json_decode($tag->getPrivateids(), true);
42
+    
43
+    $users = $this->getDoctrine()->getEntityManager()
44
+      ->createQuery('
45
+        SELECT u FROM MuzichCoreBundle:User u
46
+        WHERE u.id IN (:uids)'
47
+      )
48
+      ->setParameter('uids', $uids)
49
+      ->getResult()
50
+    ;
51
+    
52
+    foreach ($users as $user)
53
+    {
54
+      $user->addModeratedTagCount();
55
+      $this->getDoctrine()->getEntityManager()->persist($user);
56
+    }
57
+    
58
+    $this->getDoctrine()->getEntityManager()->flush();
59
+    
60
+    $this->get('session')->setFlash('success', $this->get('translator')->trans("object.edit.success", array(), 'Admingenerator') );
61
+    return new RedirectResponse($this->generateUrl("Muzich_AdminBundle_Moderate_tag_list" ));
62
+  }
63
+  
64
+}

+ 9 - 0
src/Muzich/AdminBundle/Controller/Moderate_tag/ListController.php View File

@@ -0,0 +1,9 @@
1
+<?php
2
+
3
+namespace Muzich\AdminBundle\Controller\Moderate_tag;
4
+
5
+use Admingenerated\MuzichAdminBundle\BaseModerate_tagController\ListController as BaseListController;
6
+
7
+class ListController extends BaseListController
8
+{
9
+}

+ 9 - 0
src/Muzich/AdminBundle/Controller/Moderate_tag/NewController.php View File

@@ -0,0 +1,9 @@
1
+<?php
2
+
3
+namespace Muzich\AdminBundle\Controller\Moderate_tag;
4
+
5
+use Admingenerated\MuzichAdminBundle\BaseModerate_tagController\NewController as BaseNewController;
6
+
7
+class NewController extends BaseNewController
8
+{
9
+}

+ 9 - 0
src/Muzich/AdminBundle/Controller/Moderate_tag/ShowController.php View File

@@ -0,0 +1,9 @@
1
+<?php
2
+
3
+namespace Muzich\AdminBundle\Controller\Moderate_tag;
4
+
5
+use Admingenerated\MuzichAdminBundle\BaseModerate_tagController\ShowController as BaseShowController;
6
+
7
+class ShowController extends BaseShowController
8
+{
9
+}

+ 9 - 0
src/Muzich/AdminBundle/Form/Type/Moderate_tag/EditType.php View File

@@ -0,0 +1,9 @@
1
+<?php
2
+
3
+namespace Muzich\AdminBundle\Form\Type\Moderate_tag;
4
+
5
+use Admingenerated\MuzichAdminBundle\Form\BaseModerate_tagType\EditType as BaseEditType;
6
+
7
+class EditType extends BaseEditType
8
+{
9
+}

+ 9 - 0
src/Muzich/AdminBundle/Form/Type/Moderate_tag/FiltersType.php View File

@@ -0,0 +1,9 @@
1
+<?php
2
+
3
+namespace Muzich\AdminBundle\Form\Type\Moderate_tag;
4
+
5
+use Admingenerated\MuzichAdminBundle\Form\BaseModerate_tagType\FiltersType as BaseFiltersType;
6
+
7
+class FiltersType extends BaseFiltersType
8
+{
9
+}

+ 9 - 0
src/Muzich/AdminBundle/Form/Type/Moderate_tag/NewType.php View File

@@ -0,0 +1,9 @@
1
+<?php
2
+
3
+namespace Muzich\AdminBundle\Form\Type\Moderate_tag;
4
+
5
+use Admingenerated\MuzichAdminBundle\Form\BaseModerate_tagType\NewType as BaseNewType;
6
+
7
+class NewType extends BaseNewType
8
+{
9
+}

+ 1 - 1
src/Muzich/AdminBundle/Menu/MenuBuilder.php View File

@@ -49,7 +49,7 @@ class MenuBuilder extends BaseMenu
49 49
   {
50 50
     $this->addNavLinkRoute($menu, 'Element', 'Muzich_AdminBundle_Moderate_element_list');
51 51
     $this->addNavLinkRoute($menu, 'Tag', 'Muzich_AdminBundle_Moderate_tag_list');
52
-    $this->addNavLinkRoute($menu, 'Comment', 'Muzich_AdminBundle_Moderate_comment_list');
52
+    //$this->addNavLinkRoute($menu, 'Comment', 'Muzich_AdminBundle_Moderate_comment_list');
53 53
   }
54 54
   
55 55
   public function createAdminMenu(Request $request)

+ 8 - 0
src/Muzich/AdminBundle/Resources/config/Moderate_element-generator.yml View File

@@ -15,6 +15,12 @@ builders:
15 15
       object_actions:
16 16
         show: ~
17 17
       sort: [ count_report, DESC ]
18
+      scopes:
19
+        moderation: 
20
+          ToModerate: 
21
+            default: true
22
+            filters: 
23
+              count_report: true
18 24
   filters:
19 25
     params:
20 26
       fields: ~
@@ -28,8 +34,10 @@ builders:
28 34
           route: Muzich_AdminBundle_Moderate_element_accept
29 35
           params:
30 36
             pk: "{{ Element.id }}"
37
+          confirm: Sure to ACCEPT and CLEAN ?
31 38
         refuse:
32 39
           route: Muzich_AdminBundle_Moderate_element_refuse
33 40
           params:
34 41
             pk: "{{ Element.id }}"
42
+          confirm: Sure to REFUSE and REMOVE ?
35 43
         list: ~

+ 31 - 0
src/Muzich/AdminBundle/Resources/config/Moderate_tag-generator.yml View File

@@ -0,0 +1,31 @@
1
+generator: admingenerator.generator.doctrine
2
+params:
3
+  model: Muzich\CoreBundle\Entity\Tag
4
+  namespace_prefix: Muzich
5
+  bundle_name: AdminBundle
6
+  fields: ~
7
+
8
+builders:
9
+  list:
10
+    params:
11
+      title: List for Tag
12
+      display: [ id, name, arguments, tomoderate ]
13
+      actions: []
14
+      object_actions:
15
+        accept:
16
+          route: Muzich_AdminBundle_Moderate_tag_accept
17
+          confirm: Sure to ACCEPT ?
18
+        refuse:
19
+          route: Muzich_AdminBundle_Moderate_tag_refuse
20
+          confirm: Sure to REFUSE ?
21
+      sort: [ tomoderate, DESC ]
22
+      scopes:
23
+        moderation: 
24
+          ToModerate: 
25
+            default: true
26
+            filters: 
27
+              tomoderate: true
28
+  filters:
29
+    params:
30
+      fields: ~
31
+      display: [ id, name ]

+ 7 - 7
src/Muzich/AdminBundle/Resources/config/routing.yml View File

@@ -28,14 +28,14 @@ Muzich_AdminBundle_Moderate_element_refuse:
28 28
   requirements:
29 29
     _method:  GET
30 30
     
31
-Muzich_AdminBundle_Moderate_tag_list:
32
-  pattern:  /Moderate_tag/list
33
-  defaults: { _controller:Muzich\AdminBundle\Controller\Moderate\TagController::listAction }
31
+Muzich_AdminBundle_Moderate_tag_accept:
32
+  pattern:  /Moderate_tag/{pk}/accept
33
+  defaults: { _controller:Muzich\AdminBundle\Controller\Moderate_tag\EditController::acceptAction }
34 34
   requirements:
35 35
     _method:  GET
36 36
     
37
-Muzich_AdminBundle_Moderate_comment_list:
38
-  pattern:  /Moderate_comment/list
39
-  defaults: { _controller:Muzich\AdminBundle\Controller\Moderate\CommentController::listAction }
37
+Muzich_AdminBundle_Moderate_tag_refuse:
38
+  pattern:  /Moderate_tag/{pk}/refuse
39
+  defaults: { _controller:Muzich\AdminBundle\Controller\Moderate_tag\EditController::refuseAction }
40 40
   requirements:
41
-    _method:  GET
41
+    _method:  GET

+ 1 - 0
src/Muzich/AdminBundle/Resources/views/Moderate_tagEdit/index.html.twig View File

@@ -0,0 +1 @@
1
+{% extends_admingenerated "MuzichAdminBundle:Moderate_tagEdit:index.html.twig" %}

+ 1 - 0
src/Muzich/AdminBundle/Resources/views/Moderate_tagList/index.html.twig View File

@@ -0,0 +1 @@
1
+{% extends_admingenerated "MuzichAdminBundle:Moderate_tagList:index.html.twig" %}

+ 1 - 0
src/Muzich/AdminBundle/Resources/views/Moderate_tagNew/index.html.twig View File

@@ -0,0 +1 @@
1
+{% extends_admingenerated "MuzichAdminBundle:Moderate_tagNew:index.html.twig" %}

+ 1 - 0
src/Muzich/AdminBundle/Resources/views/Moderate_tagShow/index.html.twig View File

@@ -0,0 +1 @@
1
+{% extends_admingenerated "MuzichAdminBundle:Moderate_tagShow:index.html.twig" %}