/** * Deletes a set of $class identified by the provided $idx array * * @param string $class * @param \Sonata\AdminBundle\Datagrid\ProxyQueryInterface $queryProxy * * @return void */ public function batchDelete($class, ProxyQueryInterface $queryProxy) { try { foreach ($queryProxy->getQuery()->iterate() as $pos => $object) { $this->delete($object[0]); } } catch (\PDOException $e) { throw new ModelManagerException('', 0, $e); } }
/** * {@inheritdoc} */ public function batchDelete($class, ProxyQueryInterface $queryProxy) { $queryProxy->select('DISTINCT ' . $queryProxy->getRootAlias()); try { $entityManager = $this->getEntityManager($class); $i = 0; foreach ($queryProxy->getQuery()->iterate() as $pos => $object) { $entityManager->remove($object[0]); if (++$i % 20 == 0) { $entityManager->flush(); $entityManager->clear(); } } $entityManager->flush(); $entityManager->clear(); } catch (\PDOException $e) { throw new ModelManagerException('', 0, $e); } catch (DBALException $e) { throw new ModelManagerException('', 0, $e); } }
/** * Deletes a set of $class identified by the provided $idx array * * @param string $class * @param array $idx * @return void */ public function batchDelete($class, ProxyQueryInterface $queryProxy) { $i = 0; foreach ($queryProxy->getQuery()->iterate() as $pos => $object) { $this->entityManager->remove($object[0]); if ((++$i % 20) == 0) { $this->entityManager->flush(); $this->entityManager->clear(); } } $this->entityManager->flush(); $this->entityManager->clear(); }
/** * {@inheritdoc} */ public function batchDelete($class, ProxyQueryInterface $queryProxy) { foreach ($queryProxy->getQuery()->iterate() as $pos => $object) { $this->delete($object); } }
/** * {@inheritdoc} */ public function batchDelete($class, ProxyQueryInterface $queryProxy) { /** @var Query $queryBuilder */ $queryBuilder = $queryProxy->getQuery(); $documentManager = $this->getDocumentManager($class); $i = 0; foreach ($queryBuilder->execute() as $object) { $documentManager->remove($object); if (++$i % 20 == 0) { $documentManager->flush(); $documentManager->clear(); } } $documentManager->flush(); $documentManager->clear(); }
/** * Deletes a set of $class identified by the provided $idx array * * @param $class * @param \Sonata\AdminBundle\Datagrid\ProxyQueryInterface $queryProxy * @return void */ public function batchDelete($class, ProxyQueryInterface $queryProxy) { try { $i = 0; foreach ($queryProxy->getQuery()->iterate() as $pos => $object) { $this->documentManager->remove($object[0]); if (++$i % 20 == 0) { $this->documentManager->flush(); $this->documentManager->clear(); } } $this->documentManager->flush(); $this->documentManager->clear(); } catch (\Exception $e) { throw new ModelManagerException('', 0, $e); } }
/** * @param string $class * @param \Sonata\AdminBundle\Datagrid\ProxyQueryInterface $queryProxy */ public function batchDelete($class, ProxyQueryInterface $queryProxy) { if (count($queryProxy->getQuery()->getMap()) == 0) { $queryProxy->deleteAll(); } else { $queryProxy->delete(); } }
public function preBatchAction($actionName, ProxyQueryInterface $query, array &$idx, $allElements) { if ($actionName == 'delete') { try { $test = array(); foreach ($query->getQuery()->iterate() as $pos => $object) { $url = $object[0]->getUrl(); if (file_exists('/var/lib/mpd/' . $url) && in_array($object[0]->getId(), $idx)) { chmod('/var/lib/mpd/' . $url, 0777); if (!unlink('/var/lib/mpd/' . $url)) { die('can\'t unlink'); } } } } catch (\PDOException $e) { throw new ModelManagerException('', 0, $e); } } }
/** * Execute a batch download * * @param ProxyQueryInterface $query * * @return RedirectResponse */ public function batchActionDownload(ProxyQueryInterface $queryProxy) { $flashType = 'success'; $dumper = new Dumper(); $dumper->setIndentation(4); $response = new StreamedResponse(function () use($queryProxy, &$flashType, $dumper) { try { /** * @var TransUnit $transUnit */ foreach ($queryProxy->getQuery()->iterate() as $pos => $object) { foreach ($object as $transUnit) { $chunkPrefix = $transUnit->getDomain() . '__' . $transUnit->getKey() . '__' . $transUnit->getId() . '__'; $chunk = array(); /** @var TranslationInterface $translation */ foreach ($transUnit->getTranslations() as $translation) { $chunk[$chunkPrefix . $translation->getLocale()] = $translation->getContent(); } echo $dumper->dump($chunk, 2); flush(); } } } catch (\PDOException $e) { $flashType = 'error'; flush(); } catch (DBALException $e) { $flashType = 'error'; flush(); } }); $this->addFlash('sonata_flash_' . $flashType, 'translations.flash_batch_download_' . $flashType); $response->headers->set('Content-Type', 'text/x-yaml'); $response->headers->set('Cache-Control', ''); $response->headers->set('Transfer-Encoding', 'chunked'); $response->headers->set('Last-Modified', gmdate('D, d M Y H:i:s')); $contentDisposition = $response->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, 'translations.yml'); $response->headers->set('Content-Disposition', $contentDisposition); return $response; }