Example #1
0
 /**
  * {@inheritdoc}
  */
 public function getMassActions()
 {
     $archive = new MassAction('Restore', function ($ids) {
         /** @var ClientRepository $clientRepository */
         $clientRepository = $this->entityManager->getRepository('CSBillClientBundle:Client');
         /** @var Client[] $clients */
         $clients = $clientRepository->findBy(array('id' => $ids));
         foreach ($clients as $client) {
             $client->setArchived(null);
             $this->entityManager->persist($client);
         }
         $this->entityManager->flush();
         /** @var FlashBag $flashBag */
         $flashBag = $this->session->getBag('flashes');
         $flashBag->add('success', 'client.restore.success');
     }, true);
     $archive->setIcon('reply');
     $archive->setClass('success');
     $deleteAction = new DeleteMassAction(true);
     return array($archive, $deleteAction);
 }
Example #2
0
 /**
  * {@inheritdoc}
  */
 public function getMassActions()
 {
     $archive = new MassAction('Archive', function ($ids) {
         /** @var ClientRepository $clientRepository */
         $clientRepository = $this->objectManager->getRepository('CSBillClientBundle:Client');
         /** @var Client[] $clients */
         $clients = $clientRepository->findBy(array('id' => $ids));
         foreach ($clients as $client) {
             $client->archive();
             $client->setStatus(Status::STATUS_ARCHIVED);
             $this->objectManager->persist($client);
         }
         $this->objectManager->flush();
         /** @var FlashBag $flashBag */
         $flashBag = $this->session->getBag('flashes');
         $flashBag->add('success', 'client.archive.success');
     }, true);
     $archive->setIcon('archive');
     $archive->setClass('warning');
     $deleteAction = new DeleteMassAction(true);
     return array($archive, $deleteAction);
 }
Example #3
0
 /**
  * {@inheritdoc}
  */
 public function getMassActions()
 {
     $archiveAction = new MassAction('Archive', function ($ids) {
         /** @var InvoiceRepository $invoiceRepository */
         $invoiceRepository = $this->entityManager->getRepository('CSBillInvoiceBundle:Invoice');
         /** @var Invoice[] $invoices */
         $invoices = $invoiceRepository->findBy(array('id' => $ids));
         /** @var FlashBag $flashBag */
         $flashBag = $this->session->getBag('flashes');
         $failed = 0;
         foreach ($invoices as $invoice) {
             try {
                 $this->invoiceManager->archive($invoice);
             } catch (InvalidTransitionException $e) {
                 $flashBag->add('warning', $e->getMessage());
                 ++$failed;
             }
         }
         if ($failed !== count($invoices)) {
             $flashBag->add('success', 'invoice.archive.success');
         }
     }, true);
     $archiveAction->setIcon('archive');
     $archiveAction->setClass('warning');
     return array($archiveAction, new DeleteMassAction());
 }
Example #4
0
 /**
  * {@inheritdoc}
  */
 public function getMassActions()
 {
     $archiveAction = new MassAction('Archive', function ($ids) {
         /** @var QuoteRepository $quoteRepository */
         $quoteRepository = $this->entityManager->getRepository('CSBillQuoteBundle:Quote');
         /** @var Quote[] $quotes */
         $quotes = $quoteRepository->findBy(array('id' => $ids));
         /** @var FlashBag $flashBag */
         $flashBag = $this->session->getBag('flashes');
         $failed = 0;
         foreach ($quotes as $quote) {
             $finite = $this->finite->get($quote, Graph::GRAPH);
             if ($finite->can(Graph::TRANSITION_ARCHIVE)) {
                 $quote->archive();
                 $this->entityManager->persist($quote);
             } else {
                 $flashBag->add('warning', 'quote.transition.exception.archive');
                 ++$failed;
             }
         }
         if ($failed !== count($quotes)) {
             $this->entityManager->flush();
             $flashBag->add('success', 'quote.archive.success');
         }
     }, true);
     $archiveAction->setIcon('archive');
     $archiveAction->setClass('warning');
     return array($archiveAction, new DeleteMassAction());
 }