本文整理汇总了PHP中APY\DataGridBundle\Grid\Source\Entity::manipulateRow方法的典型用法代码示例。如果您正苦于以下问题:PHP Entity::manipulateRow方法的具体用法?PHP Entity::manipulateRow怎么用?PHP Entity::manipulateRow使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类APY\DataGridBundle\Grid\Source\Entity
的用法示例。
在下文中一共展示了Entity::manipulateRow方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: indexAction
/**
* Finds and displays a Users of a Journal with roles
*
* @param Request $request
* @return Response
*/
public function indexAction(Request $request)
{
$journal = $this->get('ojs.journal_service')->getSelectedJournal();
if (!$this->isGranted('VIEW', $journal, 'userRole')) {
throw new AccessDeniedException("You are not authorized for view this page");
}
$source = new Entity('OjsJournalBundle:JournalUser');
$source->manipulateRow(function (Row $row) use($request) {
/* @var JournalUser $entity */
$entity = $row->getEntity();
if (!is_null($entity)) {
$entity->getJournal()->setDefaultLocale($request->getDefaultLocale());
if (!is_null($entity)) {
$row->setField('journal', $entity->getJournal()->getTitle());
}
}
return $row;
});
$grid = $this->get('grid');
$grid->setSource($source);
$gridAction = $this->get('grid_action');
$rowAction = [];
$rowAction[] = $gridAction->editAction('ojs_journal_user_edit', ['journalId' => $journal->getId(), 'id']);
$rowAction[] = $gridAction->deleteAction('ojs_journal_user_delete', ['journalId' => $journal->getId(), 'id']);
$actionColumn = new ActionsColumn("actions", "actions");
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
return $grid->getGridResponse('OjsJournalBundle:JournalUser:index.html.twig', $grid);
}
示例2: indexAction
public function indexAction(Request $request)
{
$data = array();
$source = new Entity('OjsJournalBundle:Journal');
$source->manipulateRow(function (Row $row) use($request) {
/* @var Journal $entity */
$entity = $row->getEntity();
$entity->setDefaultLocale($request->getDefaultLocale());
if (!is_null($entity)) {
$row->setField('title', $entity->getTitle());
}
return $row;
});
$alias = $source->getTableAlias();
$source->manipulateQuery(function (QueryBuilder $query) use($alias) {
$query->andWhere($alias . '.status = :status')->setParameter('status', '0');
return $query;
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$rowAction = array();
$rowAction[] = $gridAction->editAction('ojs_admin_application_journal_edit', 'id');
$rowAction[] = $gridAction->showAction('ojs_admin_application_journal_show', 'id');
$rowAction[] = $gridAction->deleteAction('ojs_admin_application_journal_delete', 'id');
$actionColumn = new ActionsColumn("actions", 'actions');
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
$data['grid'] = $grid;
return $grid->getGridResponse('OjsAdminBundle:AdminApplication:journal.html.twig', $data);
}
示例3: indexAction
/**
* @param Request $request
* @return Response
*/
public function indexAction(Request $request)
{
$router = $this->get('router');
$source = new Entity('OjsJournalBundle:Journal');
$source->manipulateRow(function (Row $row) use($request, $router) {
/* @var Journal $entity */
$entity = $row->getEntity();
if (!is_null($entity)) {
$journalLinkTemplate = $entity->getTitleTranslations();
if ($entity->isIndexable() && $entity->getPublisher() !== null) {
$generateJournalLink = $router->generate('ojs_journal_index', ['slug' => $entity->getSlug()]);
$journalLinkTemplate = '<a target="_blank" href="' . $generateJournalLink . '">' . $entity->getTitleTranslations() . '</a>';
}
$row->setField('translations.title:translation_agg', $journalLinkTemplate);
}
return $row;
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$actionColumn = new ActionsColumn("actions", 'actions');
$rowAction[] = $gridAction->showAction('ojs_admin_journal_show', 'id');
$rowAction[] = $gridAction->editAction('ojs_admin_journal_edit', 'id');
$rowAction[] = $gridAction->contactsAction('ojs_journal_journal_contact_index');
$rowAction[] = (new RowAction('Manage', 'ojs_journal_dashboard_index'))->setRouteParameters('id')->setRouteParametersMapping(array('id' => 'journalId'))->setAttributes(array('class' => 'btn btn-success btn-xs', 'data-toggle' => 'tooltip', 'title' => "Manage"));
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
$data = [];
$data['grid'] = $grid;
return $grid->getGridResponse('OjsAdminBundle:AdminJournal:index.html.twig', $data);
}
示例4: indexAction
/**
* Lists all JournalIndex entities.
*
* @param Request $request
* @return Response
*/
public function indexAction(Request $request)
{
$journal = $this->get('ojs.journal_service')->getSelectedJournal();
if (!$this->isGranted('VIEW', $journal, 'index')) {
throw new AccessDeniedException("You are not authorized for view this page!");
}
$source = new Entity('OjsJournalBundle:JournalIndex');
$source->manipulateRow(function (Row $row) use($request) {
/* @var JournalIndex $entity */
$entity = $row->getEntity();
$entity->getJournal()->setDefaultLocale($request->getDefaultLocale());
return $row;
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$actionColumn = new ActionsColumn("actions", 'actions');
$rowAction[] = $gridAction->showAction('ojs_journal_index_show', ['id', 'journalId' => $journal->getId()]);
$rowAction[] = $gridAction->editAction('ojs_journal_index_edit', ['id', 'journalId' => $journal->getId()]);
$rowAction[] = $gridAction->deleteAction('ojs_journal_index_delete', ['id', 'journalId' => $journal->getId()]);
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
$data = [];
$data['grid'] = $grid;
return $grid->getGridResponse('OjsJournalBundle:JournalIndex:index.html.twig', $data);
}
示例5: indexAction
/**
* @Template()
* @Route("/", name="ticket.ticket.index")
* @Security("has_role('ROLE_USER')")
* @param Request $request
* @return array
*/
public function indexAction(Request $request)
{
$user = $this->getUser();
$source = new Entity('DreamlexTicketBundle:Ticket');
$source->addHint(\Doctrine\ORM\Query::HINT_CUSTOM_OUTPUT_WALKER, 'Gedmo\\Translatable\\Query\\TreeWalker\\TranslationWalker');
$prefixTitle = 'ticket.label.grid.';
$translator = $this->get('translator');
$tableAlias = $source->getTableAlias();
$source->manipulateQuery(function ($query) use($tableAlias, $user) {
/** @var QueryBuilder $query */
$query->andWhere($tableAlias . '.user = :user')->setParameter('user', $user);
});
$source->manipulateRow(function ($row) use($user) {
/** @var Row $row */
if ($row->getField('lastUser.id') != $user->getId() && !$row->getField('isRead')) {
$row->setClass('warning');
}
return $row;
});
$grid = $this->get('grid');
$grid->setSource($source);
$grid->setLimits(10);
$grid->setPrefixTitle($prefixTitle);
$grid->setId('ticket');
$grid->setNoDataMessage($translator->trans('ticket.message.no_tickets'));
$replyAction = new RowAction('ticket.button.reply', 'ticket.ticket.show', false, '_self', ['class' => 'btn btn-success', 'icon' => 'fa fa-reply']);
$grid->addRowAction($replyAction);
$grid->isReadyForRedirect();
return $grid->getGridResponse();
}
示例6: indexAction
public function indexAction(Request $request)
{
$data = array();
$source = new Entity('OjsJournalBundle:Journal');
$source->manipulateRow(function (Row $row) use($request) {
/* @var Journal $entity */
$entity = $row->getEntity();
$entity->setDefaultLocale($request->getDefaultLocale());
if (!is_null($entity)) {
$row->setField('title', $entity->getTitle());
}
return $row;
});
$alias = $source->getTableAlias();
$source->manipulateQuery(function (QueryBuilder $query) use($alias) {
$query->andWhere($alias . '.status = :status')->setParameter('status', JournalStatuses::STATUS_PREPARING);
return $query;
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$saveAction = new RowAction('<i class="fa fa-save"></i>', 'ojs_admin_application_journal_save');
$saveAction->setRouteParameters(['id']);
$saveAction->setAttributes(['class' => 'btn btn-primary btn-xs', 'title' => $this->get('translator')->trans('journal.merge_as_new_journal')]);
$rowAction = array();
$rowAction[] = $saveAction;
$rowAction[] = $gridAction->editAction('ojs_admin_application_journal_edit', 'id');
$rowAction[] = $gridAction->showAction('ojs_admin_application_journal_show', 'id');
$rowAction[] = $gridAction->deleteAction('ojs_admin_application_journal_delete', 'id');
$actionColumn = new ActionsColumn("actions", 'actions');
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
$data['grid'] = $grid;
return $grid->getGridResponse('OjsAdminBundle:AdminApplication:journal.html.twig', $data);
}
示例7: indexAction
/**
* Lists all Subject entities.
*
* @param Request $request
* @return Response
*/
public function indexAction(Request $request)
{
if (!$this->isGranted('VIEW', new Subject())) {
throw new AccessDeniedException("You are not authorized for this page!");
}
$source = new Entity("OjsJournalBundle:Subject");
$source->manipulateRow(function (Row $row) use($request) {
/* @var Subject $entity */
$entity = $row->getEntity();
$entity->setDefaultLocale($request->getDefaultLocale());
if (!is_null($entity)) {
$row->setField('subject', $entity->getSubject());
$row->setField('description', $entity->getDescription());
}
return $row;
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$actionColumn = new ActionsColumn("actions", 'actions');
$rowAction[] = $gridAction->showAction('ojs_admin_subject_show', 'id');
$rowAction[] = $gridAction->editAction('ojs_admin_subject_edit', 'id');
$rowAction[] = $gridAction->deleteAction('ojs_admin_subject_delete', 'id');
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
/** @var ArrayCollection|Subject[] $all */
$all = $this->getDoctrine()->getRepository('OjsJournalBundle:Subject')->findAll();
$data = ['grid' => $grid, 'tree' => $this->createTreeView($all)];
return $grid->getGridResponse('OjsAdminBundle:AdminSubject:index.html.twig', $data);
}
示例8: indexAction
/**
* Lists all Section entities.
*
* @param Request $request
* @return Response
*/
public function indexAction(Request $request)
{
$journal = $this->get('ojs.journal_service')->getSelectedJournal();
if (!$this->isGranted('VIEW', $journal, 'sections')) {
throw new AccessDeniedException("You are not authorized for view this journal's sections!");
}
$source = new Entity('OjsJournalBundle:Section');
$source->manipulateRow(function (Row $row) use($request) {
/* @var Section $entity */
$entity = $row->getEntity();
$entity->setDefaultLocale($request->getDefaultLocale());
if (!is_null($entity)) {
$row->setField('title', $entity->getTitle());
if ($row->getField('title') && strlen($row->getField('title')) > 20) {
$row->setField('title', substr($row->getField('title'), 0, 20) . "...");
}
}
return $row;
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$actionColumn = new ActionsColumn("actions", 'actions');
$rowAction[] = $gridAction->showAction('ojs_journal_section_show', ['id', 'journalId' => $journal->getId()]);
if ($this->isGranted('EDIT', $this->get('ojs.journal_service')->getSelectedJournal(), 'sections')) {
$rowAction[] = $gridAction->editAction('ojs_journal_section_edit', ['id', 'journalId' => $journal->getId()]);
}
if ($this->isGranted('DELETE', $this->get('ojs.journal_service')->getSelectedJournal(), 'sections')) {
$rowAction[] = $gridAction->deleteAction('ojs_journal_section_delete', ['id', 'journalId' => $journal->getId()]);
}
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
$data = [];
$data['grid'] = $grid;
return $grid->getGridResponse('OjsJournalBundle:Section:index.html.twig', $data);
}
示例9: indexAction
/**
* Lists all Design entities.
*
* @param Request $request
* @return Response
*/
public function indexAction(Request $request)
{
$journal = $this->get('ojs.journal_service')->getSelectedJournal();
if (!$this->isGranted('VIEW', $journal, 'design')) {
throw new AccessDeniedException("You are not authorized for view this journal's designs!");
}
$source = new Entity('OjsJournalBundle:Design');
$tableAlias = $source->getTableAlias();
$source->manipulateQuery(function ($query) use($tableAlias, $journal) {
$query->andWhere($tableAlias . '.owner = :journal')->setParameter('journal', $journal);
});
$source->manipulateRow(function (Row $row) use($request) {
/* @var Design $entity */
$entity = $row->getEntity();
if (!is_null($entity)) {
$entity->getOwner()->setDefaultLocale($request->getDefaultLocale());
$row->setField('owner', $entity->getOwner()->getTitle());
}
return $row;
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$actionColumn = new ActionsColumn("actions", 'actions');
$rowAction[] = $gridAction->showAction('ojs_journal_design_show', ['id', 'journalId' => $journal->getId()]);
$rowAction[] = $gridAction->editAction('ojs_journal_design_edit', ['id', 'journalId' => $journal->getId()]);
$rowAction[] = $gridAction->deleteAction('ojs_journal_design_delete', ['id', 'journalId' => $journal->getId()]);
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
$data = [];
$data['grid'] = $grid;
return $grid->getGridResponse('OjsJournalBundle:Design:index.html.twig', $data);
}
示例10: indexAction
/**
* Lists all JournalPost entities.
*
* @param Request $request
* @return Response
*/
public function indexAction(Request $request)
{
$journal = $this->get('ojs.journal_service')->getSelectedJournal();
if (!$this->isGranted('VIEW', $journal, 'posts')) {
throw new AccessDeniedException("You are not authorized for this post!");
}
$source = new Entity('OjsJournalBundle:JournalPost');
$source->manipulateRow(function (Row $row) use($request) {
/* @var JournalPost $entity */
$entity = $row->getEntity();
$entity->setDefaultLocale($request->getDefaultLocale());
if (!is_null($entity)) {
$row->setField('title', $entity->getTitle());
$row->setField('content', $entity->getContent());
}
return $row;
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$actionColumn = new ActionsColumn("actions", 'actions');
$rowAction[] = $gridAction->showAction('ojs_journal_post_show', ['id', 'journalId' => $journal->getId()]);
$rowAction[] = $gridAction->editAction('ojs_journal_post_edit', ['id', 'journalId' => $journal->getId()]);
$rowAction[] = $gridAction->deleteAction('ojs_journal_post_delete', ['id', 'journalId' => $journal->getId()]);
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
return $grid->getGridResponse('OjsJournalBundle:JournalPost:index.html.twig', ['grid' => $grid]);
}
示例11: indexAction
/**
* Lists all JournalContact entities.
*
* @param Request $request
* @return Response
*/
public function indexAction(Request $request)
{
if (!$this->isGranted('VIEW', new JournalContact())) {
throw new AccessDeniedException("You are not authorized for view this page!");
}
$source = new Entity('OjsJournalBundle:JournalContact');
$source->manipulateRow(function (Row $row) use($request) {
/* @var JournalContact $entity */
$entity = $row->getEntity();
$entity->setDefaultLocale($request->getDefaultLocale());
if (!is_null($entity)) {
$row->setField('title', $entity->getTitle());
$row->setField('contactTypeName', $entity->getContactType()->getName());
}
return $row;
});
$grid = $this->get('grid');
$grid->setSource($source);
$gridAction = $this->get('grid_action');
$rowAction = [];
$rowAction[] = $gridAction->showAction('ojs_admin_contact_show', 'id');
$rowAction[] = $gridAction->editAction('ojs_admin_contact_edit', 'id');
$rowAction[] = $gridAction->deleteAction('ojs_admin_contact_delete', 'id');
$actionColumn = new ActionsColumn("actions", 'actions');
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
return $grid->getGridResponse('OjsAdminBundle:AdminContact:index.html.twig', ['grid' => $grid]);
}
示例12: indexAction
/**
* Lists all PublisherTypes entities.
*
* @param Request $request
* @return Response
*/
public function indexAction(Request $request)
{
if (!$this->isGranted('VIEW', new PublisherTypes())) {
throw new AccessDeniedException("You are not authorized for this page!");
}
$source = new Entity('OjsJournalBundle:PublisherTypes');
$source->manipulateRow(function (Row $row) use($request) {
/* @var PublisherTypes $entity */
$entity = $row->getEntity();
$entity->setDefaultLocale($request->getDefaultLocale());
if (!is_null($entity)) {
$row->setField('name', $entity->getName());
$row->setField('description', $entity->getDescription());
}
return $row;
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$actionColumn = new ActionsColumn("actions", 'actions');
$rowAction[] = $gridAction->showAction('ojs_admin_publisher_type_show', 'id');
$rowAction[] = $gridAction->editAction('ojs_admin_publisher_type_edit', 'id');
$rowAction[] = $gridAction->deleteAction('ojs_admin_publisher_type_delete', 'id');
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
$data = [];
$data['grid'] = $grid;
return $grid->getGridResponse('OjsAdminBundle:AdminPublisherType:index.html.twig', $data);
}
示例13: indexAction
/**
* Lists all JournalContact entities.
*
* @param Request $request
* @return Response
*/
public function indexAction(Request $request)
{
$journal = $this->get('ojs.journal_service')->getSelectedJournal();
$eventDispatcher = $this->get('event_dispatcher');
if (!$this->isGranted('VIEW', $journal, 'contacts')) {
throw new AccessDeniedException("You are not authorized for view this page!");
}
$source = new Entity('OjsJournalBundle:JournalContact');
$source->manipulateRow(function (Row $row) use($request) {
/* @var JournalContact $entity */
$entity = $row->getEntity();
$entity->setDefaultLocale($request->getDefaultLocale());
if (!is_null($entity)) {
$row->setField('title', $entity->getTitle());
$row->setField('contactTypeName', $entity->getContactType()->getName());
}
return $row;
});
$grid = $this->get('grid');
$grid->setSource($source);
$gridAction = $this->get('grid_action');
$actionColumn = new ActionsColumn("actions", 'actions');
$rowAction = [];
$rowAction[] = $gridAction->showAction('ojs_journal_journal_contact_show', ['id', 'journalId' => $journal->getId()]);
$rowAction[] = $gridAction->editAction('ojs_journal_journal_contact_edit', ['id', 'journalId' => $journal->getId()]);
$rowAction[] = $gridAction->deleteAction('ojs_journal_journal_contact_delete', ['id', 'journalId' => $journal->getId()]);
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
$listEvent = new ListEvent();
$listEvent->setGrid($grid);
$eventDispatcher->dispatch(JournalContactEvents::LISTED, $listEvent);
$grid = $listEvent->getGrid();
return $grid->getGridResponse('OjsJournalBundle:JournalContact:index.html.twig');
}
示例14: indexAction
/**
* Lists all ArticleAuthor entities.
*
* @param Integer $articleId
* @return Response
*/
public function indexAction($articleId, Request $request)
{
$journal = $this->get('ojs.journal_service')->getSelectedJournal();
$article = $this->getDoctrine()->getRepository('OjsJournalBundle:Article')->find($articleId);
$this->throw404IfNotFound($article);
if (!$this->isGranted('VIEW', $journal, 'articles')) {
throw new AccessDeniedException("You not authorized for this page!");
}
$source = new Entity('OjsJournalBundle:ArticleAuthor');
$source->manipulateRow(function (Row $row) use($request) {
/* @var ArticleAuthor $entity */
$entity = $row->getEntity();
if (!is_null($entity)) {
$entity->getArticle()->setDefaultLocale($request->getDefaultLocale());
$row->setField('article', $entity->getArticle()->getTitle());
}
return $row;
});
$tableAlias = $source->getTableAlias();
$source->manipulateQuery(function (QueryBuilder $qb) use($article, $tableAlias) {
return $qb->where($tableAlias . '.article = :article')->setParameter('article', $article);
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$actionColumn = new ActionsColumn("actions", 'actions');
$rowAction[] = $gridAction->showAction('ojs_journal_article_author_show', ['id', 'journalId' => $journal->getId(), 'articleId' => $articleId]);
$rowAction[] = $gridAction->editAction('ojs_journal_article_author_edit', ['id', 'journalId' => $journal->getId(), 'articleId' => $articleId]);
$rowAction[] = $gridAction->deleteAction('ojs_journal_article_author_delete', ['id', 'journalId' => $journal->getId(), 'articleId' => $articleId]);
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
$data = [];
$data['grid'] = $grid;
$data['article'] = $article;
return $grid->getGridResponse('OjsJournalBundle:ArticleAuthor:index.html.twig', $data);
}
示例15: notFinishedAction
/**
* Returns setupFinished == false journals
*
* @param Request $request
* @return Response
*/
public function notFinishedAction(Request $request)
{
if (!$this->isGranted('VIEW', new Journal())) {
throw new AccessDeniedException("You not authorized for list journals!");
}
$source = new Entity('OjsJournalBundle:Journal');
$tableAlias = $source->getTableAlias();
$source->manipulateQuery(function (QueryBuilder $query) use($tableAlias) {
$query->andWhere($tableAlias . '.setupFinished = 0');
});
$source->manipulateRow(function (Row $row) use($request) {
/* @var Journal $entity */
$entity = $row->getEntity();
$entity->setDefaultLocale($request->getDefaultLocale());
if (!is_null($entity)) {
$row->setField('title', $entity->getTitle());
$row->setField('subtitle', $entity->getSubtitle());
$row->setField('description', $entity->getDescription());
}
return $row;
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$actionColumn = new ActionsColumn("actions", 'actions');
$rowAction[] = $gridAction->showAction('ojs_admin_journal_show', 'id');
$rowAction[] = $gridAction->editAction('ojs_journal_settings_index', 'id')->setRouteParametersMapping(['id' => 'journalId']);
$rowAction[] = $gridAction->cmsAction();
$rowAction[] = $gridAction->deleteAction('ojs_admin_journal_delete', 'id');
$rowAction[] = (new RowAction('Manage', 'ojs_journal_dashboard_index'))->setRouteParameters('id')->setRouteParametersMapping(array('id' => 'journalId'))->setAttributes(array('class' => 'btn btn-success btn-xs', 'data-toggle' => 'tooltip', 'title' => "Manage"));
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
$data = [];
$data['grid'] = $grid;
return $grid->getGridResponse('OjsAdminBundle:AdminJournal:index.html.twig', $data);
}