/** * @return Response */ public function indexAction() { $source = new Entity('OpiferCmsBundle:Cron'); $editAction = new RowAction('edit', 'opifer_cms_cronjob_edit'); $editAction->setRouteParameters(['id']); $deleteAction = new RowAction('delete', 'opifer_cms_cronjob_delete'); $deleteAction->setRouteParameters(['id']); $resetAction = new RowAction('reset', 'opifer_cms_cronjob_reset', true, '_self'); $resetAction->setConfirmMessage('Confirm reset?'); $resetAction->setRouteParameters(['id']); $grid = $this->get('grid'); $grid->setId('cronjobs')->setSource($source)->addRowAction($editAction)->addRowAction($deleteAction)->addRowAction($resetAction); $grid->getColumn('state')->manipulateRenderCell(function ($value, $row, $router) { switch ($value) { case Cron::STATE_RUNNING: $label = 'info'; break; case Cron::STATE_FINISHED: $label = 'success'; break; case Cron::STATE_TERMINATED: case Cron::STATE_CANCELED: case Cron::STATE_FAILED: $label = 'danger'; break; default: $label = 'default'; break; } return '<span class="label label-' . $label . '">' . $value . '</span>'; }); $grid->getColumn('state')->setSafe(false); return $grid->getGridResponse('OpiferCmsBundle:Backend/Cronjob:index.html.twig'); }
/** * @return Response */ public function indexAction() { $source = new Entity('OpiferMailingListBundle:MailingList'); $editAction = new RowAction('button.edit', 'opifer_mailing_list_mailing_list_edit'); $editAction->setRouteParameters(['id']); $deleteAction = new RowAction('button.delete', 'opifer_mailing_list_mailing_list_delete', true, '_self'); $deleteAction->setConfirmMessage('Confirm deleting this entry?'); $deleteAction->setRouteParameters(['id']); /* @var $grid \APY\DataGridBundle\Grid\Grid */ $grid = $this->get('grid'); $grid->setId('property')->setSource($source)->addRowAction($editAction)->addRowAction($deleteAction); return $grid->getGridResponse('OpiferMailingListBundle:MailingList:index.html.twig'); }
public function lister_utilisateurAction() { if (false === $this->get('security.authorization_checker')->isGranted('ROLE_ADMIN') && false === $this->get('security.authorization_checker')->isGranted('ROLE_SUPER_ADMIN')) { throw new AccessDeniedException(); } // Creates a simple grid based on your entity (ORM) $source = new Entity('ROUtilisateurBundle:Utilisateur'); // Get a Grid instance $grid = $this->get('grid'); //Récupération du repository utilisateur $utilisateurRepository = $this->getDoctrine()->getManager()->getRepository('ROUtilisateurBundle:Utilisateur'); //Dire au dataGrid que la source sera différente du paramétrage onnataion de l'entité modéle $utilisateurQueryBuilder = $utilisateurRepository->loadUserForGrid(); $source->initQueryBuilder($utilisateurQueryBuilder); //Création de la colonne avec les roles concaténé $rolesColumn = new TextColumn(array('id' => 'concatNomRole', 'title' => 'Rôles', 'filterable' => false, 'sortable' => false)); $grid->addColumn($rolesColumn); // Attach the source to the grid $grid->setSource($source); //Création de la possiblité d'exporter le listing au format CSV $grid->addExport(new CSVExport('CSV Export', 'Export utilisateur CSV')); $grid->addExport(new ExcelExport('XLS Export', 'Export utilisateur XLS')); //Message a afficher si la valeur de l'attribut est vide $grid->setNoDataMessage(' - '); //Message a afficher si le listing ne contient aucune ligne $grid->setNoResultMessage('Aucun resultat trouvé'); //GESTION DES ACTION DE LA COLONNE DE DROITE //Ajout de l'action d'ajout utilisateur $rowDetailAction = new RowAction('', 'ro_utilisateur_detail', false, '_self', array('class' => 'btn btn-primary'), array('class' => 'glyphicon glyphicon-eye-open', 'title' => 'Détail utilisateur')); $grid->addRowAction($rowDetailAction); //Ajout de l'action de modification utilisateur $rowUpdateAction = new RowAction('', 'ro_utilisateur_edit', false, '_self', array('class' => 'btn btn-success'), array('class' => 'glyphicon glyphicon-edit glyphicon-white', 'title' => 'Modifier utilisateur')); $grid->addRowAction($rowUpdateAction); //Ajout de l'action de suppression utilisateur $rowDeleteAction = new RowAction('', 'ro_utilisateur_delete', true, '_self', array('class' => 'btn btn-danger'), array('class' => 'glyphicon glyphicon-trash glyphicon-white', 'title' => 'Supprimer utilisateur')); //Message de confirmation de suppression $rowDeleteAction->setConfirmMessage('Etes vous sur de vouloir supprimer cet utilisateur ?'); $grid->addRowAction($rowDeleteAction); //GESTION DES MASS ACTION //Mass action,traitement sur plusieur ligne en les cochant,ici on crée un bouton de suppresssion $grid->addMassAction(new DeleteMassAction()); // Return the response of the grid to the template return $grid->getGridResponse('ROUtilisateurBundle:utilisateur:lister_utilisateur.html.twig'); }
/** * @param null $role * @return RowAction */ public function userBanAction($role = null) { $rowAction = new RowAction('<i class="fa fa-ban"></i>', 'ojs_admin_user_block'); $rowAction->setAttributes(['class' => 'btn btn-warning btn-xs ', 'data-toggle' => 'tooltip', 'title' => $this->translator->trans('block')]); $rowAction->setRouteParameters('id'); $rowAction->setConfirm(true); $rowAction->setConfirmMessage($this->translator->trans('Are you sure?')); if ($role) { $rowAction->setRole($role); } $translator = $this->translator; $rowAction->manipulateRender(function (RowAction $action, Row $row) use($translator) { if (!$row->getField('status')) { $action->setRoute('ojs_admin_user_unblock'); $action->setTitle('<i class="fa fa-check"></i>'); $action->setConfirmMessage($translator->trans('sure.ban')); } return $action; }); return $rowAction; }