Beispiel #1
0
 /**
  * @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');
 }
Beispiel #4
0
 /**
  * @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;
 }