Exemplo n.º 1
0
 /**
  * Lists all Issue 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, 'issues')) {
         throw new AccessDeniedException("You not authorized for this page!");
     }
     $source = new Entity('OjsJournalBundle:Issue');
     $grid = $this->get('grid')->setSource($source);
     $gridAction = $this->get('grid_action');
     $actionColumn = new ActionsColumn("actions", 'actions');
     $rowAction[] = $gridAction->showAction('ojs_journal_issue_show', ['id', 'journalId' => $journal->getId()]);
     $articleAction = new RowAction('<i class="fa fa-file-text"></i>', 'ojs_journal_issue_view');
     $articleAction->setRouteParameters(['journalId' => $journal->getId(), 'id']);
     $articleAction->setAttributes(['class' => 'btn btn-success btn-xs  ', 'data-toggle' => 'tooltip', 'title' => $this->get('translator')->trans("Articles")]);
     $rowAction[] = $articleAction;
     $lastIssueAction = new RowAction('<i class="fa fa-cog"></i>', 'ojs_journal_issue_make_last');
     $lastIssueAction->setRouteParameters(['journalId' => $journal->getId(), 'id']);
     $lastIssueAction->setAttributes(['class' => 'btn btn-success btn-xs  ', 'data-toggle' => 'tooltip', 'title' => $this->get('translator')->trans("make.last.issue")]);
     $rowAction[] = $lastIssueAction;
     if ($this->isGranted('EDIT', $journal, 'issues')) {
         $rowAction[] = $gridAction->editAction('ojs_journal_issue_edit', ['id', 'journalId' => $journal->getId()]);
     }
     if ($this->isGranted('DELETE', $journal, 'issues')) {
         $rowAction[] = $gridAction->deleteAction('ojs_journal_issue_delete', ['id', 'journalId' => $journal->getId()]);
     }
     $rowAction[] = $gridAction->filesAction('ojs_journal_issue_file_index', ['journalId' => $journal->getId(), 'id']);
     $actionColumn->setRowActions($rowAction);
     $grid->addColumn($actionColumn);
     $listEvent = new ListEvent();
     $listEvent->setGrid($grid);
     $eventDispatcher->dispatch(IssueEvents::LISTED, $listEvent);
     $grid = $listEvent->getGrid();
     return $grid->getGridResponse('OjsJournalBundle:Issue:index.html.twig');
 }
 public function indexAction()
 {
     $data = array();
     $source = new Entity('OjsJournalBundle:Publisher', 'application');
     $tableAlias = $source->getTableAlias();
     $source->manipulateQuery(function (QueryBuilder $query) use($tableAlias) {
         $query->andWhere($tableAlias . ".status = :status")->setParameter('status', 0);
         return $query;
     });
     $grid = $this->get('grid')->setSource($source);
     $gridAction = $this->get('grid_action');
     $grid->getColumn('status')->manipulateRenderCell(function ($value) {
         return $this->get('translator')->trans(Publisher::$statuses[$value]);
     });
     $rowAction = array();
     $saveAction = new RowAction('<i class="fa fa-save"></i>', 'ojs_admin_application_publisher_save');
     $saveAction->setRouteParameters(['id']);
     $saveAction->setAttributes(['class' => 'btn btn-primary btn-xs', 'title' => $this->get('translator')->trans('institute.merge_as_new_institute')]);
     $rowAction[] = $saveAction;
     $rowAction[] = $gridAction->showAction('ojs_admin_application_publisher_show', 'id');
     $rowAction[] = $gridAction->editAction('ojs_admin_application_publisher_edit', 'id');
     $rowAction[] = $gridAction->deleteAction('ojs_admin_application_publisher_delete', 'id');
     $actionColumn = new ActionsColumn("actions", 'actions');
     $actionColumn->setRowActions($rowAction);
     $grid->addColumn($actionColumn);
     $data['grid'] = $grid;
     return $grid->getGridResponse('OjsAdminBundle:AdminApplication:publisher.html.twig', $data);
 }
 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);
 }
Exemplo n.º 4
0
 /**
  * Lists all Issue entities.
  *
  * @param   Request $request
  * @return  Response
  */
 public function indexAction(Request $request)
 {
     $journal = $this->get('ojs.journal_service')->getSelectedJournal();
     if (!$this->isGranted('VIEW', $journal, 'issues')) {
         throw new AccessDeniedException("You are not authorized for view this journal's issues!");
     }
     $source = new Entity('OjsJournalBundle:Issue');
     $source->addHint(Query::HINT_CUSTOM_OUTPUT_WALKER, 'Gedmo\\Translatable\\Query\\TreeWalker\\TranslationWalker');
     $ta = $source->getTableAlias();
     $source->manipulateQuery(function (QueryBuilder $query) use($ta, $journal) {
         $query->andWhere($ta . '.journalId = :journal_id')->setParameter('journal_id', $journal->getId());
     });
     $grid = $this->get('grid')->setSource($source);
     $gridAction = $this->get('grid_action');
     $actionColumn = new ActionsColumn("actions", 'actions');
     $rowAction[] = $gridAction->showAction('ojs_journal_issue_show', ['id', 'journalId' => $journal->getId()]);
     $articleAction = new RowAction('<i class="fa fa-file-text"></i>', 'ojs_journal_issue_view');
     $articleAction->setRouteParameters(['journalId' => $journal->getId(), 'id']);
     $articleAction->setAttributes(['class' => 'btn btn-success btn-xs  ', 'data-toggle' => 'tooltip', 'title' => $this->get('translator')->trans("Articles")]);
     $rowAction[] = $articleAction;
     if ($this->isGranted('EDIT', $journal, 'issues')) {
         $rowAction[] = $gridAction->editAction('ojs_journal_issue_edit', ['id', 'journalId' => $journal->getId()]);
     }
     if ($this->isGranted('DELETE', $journal, 'issues')) {
         $rowAction[] = $gridAction->deleteAction('ojs_journal_issue_delete', ['id', 'journalId' => $journal->getId()]);
     }
     $actionColumn->setRowActions($rowAction);
     $grid->addColumn($actionColumn);
     $data = [];
     $data['grid'] = $grid;
     return $grid->getGridResponse('OjsJournalBundle:Issue:index.html.twig', $data);
 }
Exemplo n.º 5
0
 /**
  * Lists all User entities.
  * @return Response
  */
 public function indexAction()
 {
     if (!$this->isGranted('VIEW', new User())) {
         throw new AccessDeniedException("You are not authorized for this page!");
     }
     $source = new Entity("OjsUserBundle:User");
     $grid = $this->get('grid');
     $gridAction = $this->get('grid_action');
     $grid->setSource($source);
     $passwordAction = new RowAction('<i class="fa fa-key"></i>', 'ojs_admin_user_password');
     $passwordAction->setRouteParameters('id');
     $passwordAction->setAttributes(['class' => 'btn btn-info btn-xs', 'data-toggle' => 'tooltip', 'title' => $this->get('translator')->trans('title.password_change')]);
     $actionColumn = new ActionsColumn("actions", 'actions');
     $rowAction[] = $gridAction->showAction('ojs_admin_user_show', 'id');
     $rowAction[] = $gridAction->editAction('ojs_admin_user_edit', 'id');
     $rowAction[] = $passwordAction;
     $rowAction[] = $gridAction->userBanAction();
     $rowAction[] = $gridAction->deleteAction('ojs_admin_user_delete', 'id');
     $actionColumn->setRowActions($rowAction);
     $grid->addColumn($actionColumn);
     return $grid->getGridResponse('OjsAdminBundle:AdminUser:index.html.twig', ['grid' => $grid]);
 }
Exemplo n.º 6
0
 /**
  * Lists all Issue entities.
  *
  * @param Request $request
  * @return Response
  */
 public function indexAction(Request $request)
 {
     $journal = $this->get('ojs.journal_service')->getSelectedJournal();
     if (!$this->isGranted('VIEW', $journal, 'issues')) {
         throw new AccessDeniedException("You not authorized for this page!");
     }
     $source = new Entity('OjsJournalBundle:Issue');
     $source->manipulateRow(function (Row $row) use($request) {
         /** @var Issue $entity */
         $entity = $row->getEntity();
         $entity->setDefaultLocale($request->getDefaultLocale());
         if (!is_null($entity)) {
             $row->setField('title', $entity->getTitle());
             $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_journal_issue_show', ['id', 'journalId' => $journal->getId()]);
     $articleAction = new RowAction('<i class="fa fa-file-text"></i>', 'ojs_journal_issue_view');
     $articleAction->setRouteParameters(['journalId' => $journal->getId(), 'id']);
     $articleAction->setAttributes(['class' => 'btn btn-success btn-xs  ', 'data-toggle' => 'tooltip', 'title' => $this->get('translator')->trans("Articles")]);
     $rowAction[] = $articleAction;
     if ($this->isGranted('EDIT', $journal, 'issues')) {
         $rowAction[] = $gridAction->editAction('ojs_journal_issue_edit', ['id', 'journalId' => $journal->getId()]);
     }
     if ($this->isGranted('DELETE', $journal, 'issues')) {
         $rowAction[] = $gridAction->deleteAction('ojs_journal_issue_delete', ['id', 'journalId' => $journal->getId()]);
     }
     $actionColumn->setRowActions($rowAction);
     $grid->addColumn($actionColumn);
     $data = [];
     $data['grid'] = $grid;
     return $grid->getGridResponse('OjsJournalBundle:Issue:index.html.twig', $data);
 }
Exemplo n.º 7
0
 /**
  * @param  null      $role
  * @return RowAction
  */
 public function cmsAction($role = null)
 {
     $route = 'ojs_admin_page_index';
     $rowAction = new RowAction('<i class="fa fa-anchor"></i>', $route);
     $rowAction->setAttributes(['class' => 'btn btn-info btn-xs  ', 'data-toggle' => 'tooltip', 'title' => "CMS"]);
     $rowAction->setRouteParameters(['id', 'object']);
     $rowAction->setRoute($route);
     if ($role) {
         $rowAction->setRole($role);
     }
     $postExtension = $this->postExtension;
     $rowAction->manipulateRender(function (RowAction $action, Row $row) use($postExtension) {
         $entity = $row->getEntity();
         $object = $postExtension->cmsobject($entity);
         $action->setRouteParameters(['id', 'object' => $object]);
         return $action;
     });
     return $rowAction;
 }
Exemplo n.º 8
0
 /**
  * @param string $route
  * @param $key
  * @return RowAction
  */
 public function filesAction($route, $key = 'id')
 {
     $rowAction = new RowAction('<i class="fa fa-files-o"></i>', $route);
     $rowAction->setAttributes(['class' => 'btn btn-primary btn-xs ', 'data-toggle' => 'tooltip', 'title' => $this->translator->trans('title.issue_files')]);
     $rowAction->setRouteParameters($key);
     $rowAction->setRouteParametersMapping(['id' => 'issueId']);
     return $rowAction;
 }