Bonjour;
j'ai besoin d'aide voici le problème
j'ai une table de donnée que j'affiche dans un formulaire via un bundle le datatable bundle
ce bundle me permet de selectionné plusieurs ligne via une options multiselectcolumn qui place un checkbox devant chaque ligne
cependant lorsque je sélectionne mes lignes et que je clique sur le botton delete posting, rien ne se passe aucune ligne n'est supprimer et j'ai une erreur car apparament c'est une requète GET qui est envoyé alors que ma fonction delete bulk a besoin d'un requète POST pour s'exécuter:
voici ma foction delete bulk:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 ->add(null, MultiselectColumn::class, array( 'start_html' => '<div class="start_checkboxes">', 'end_html' => '</div>', 'add_if' => function() { // add Column if condition is true return true; }, //'attributes' => array('data-toggle' => 'toggle'), 'value' => 'id', 'value_prefix' => true, //'render_actions_to_id' => 'sidebar-multiselect-actions', // custom Dom id for the actions //'render_if' => function() { // render checkbox only if the Post created by 'user' //return true; //}, 'actions' => array( array( 'route' => 'Ressources_delete_multicolumns', 'icon' => 'glyphicon glyphicon-ok', 'label' => 'Delete Postings', 'attributes' => array( 'rel' => 'tooltip', 'title' => 'Delete', 'class' => 'btn btn-primary btn-xs', 'role' => 'button' ), 'confirm' => true, 'confirm_message' => 'Really?', 'start_html' => '<div class="start_delete_action">', 'end_html' => '</div>', 'render_if' => function() { // render checkbox only if the Post created by 'user' return true; }, ), ) ))
voici la vue de mon formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 /** * Bulk delete action. * * @param Request $request * * @Route("/delete_multicolumns", name="Ressources_delete_multicolumns") * @method("POST") * * @return Response */ public function DeleteColumnsAction(Request $request) { $isAjax = $request->isXmlHttpRequest(); var_dump($isAjax); if ($isAjax){ $choices = $request->request->get('data'); $token = $request->request->get('token'); if (!$this->isCsrfTokenValid('multiselect', $token)) { throw new AccessDeniedException('The CSRF token is invalid.'); } $em = $this->getDoctrine()->getManager(); $repository = $em->getRepository('PSAApplicationBundle:Ressources'); foreach ($choices as $choice) { $entity = $repository->find($choice['id']); $em->remove($entity); } $em->flush(); return new Response('Success', 200); } return new Response('Bad Request', 400); }
![]()
Partager