1 pièce(s) jointe(s)
utilisation sde sg datatable bundle
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:
Code:
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 ma foction delete bulk:
Code:
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);
} |
voici la vue de mon formulaire :
Pièce jointe 384607