public function getUserBasedJournalAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$journal = $this->get('ojs.journal_service')->getSelectedJournal();
if (!$journal) {
return $this->createNotFoundException();
}
$defaultLimit = 20;
$limit = $request->get('page_limit') && $defaultLimit >= $request->get('page_limit') ? $request->get('page_limit') : $defaultLimit;
$roles = [];
if ($request->query->has('roles')) {
if (!empty($request->get('roles'))) {
$roles = explode(',', $request->get('roles'));
}
}
$journalUsers = $em->getRepository('OjsUserBundle:User')->searchJournalUser($request->get('q'), $journal, $limit, $roles);
$data = [];
if (count($journalUsers) > 0) {
foreach ($journalUsers as $journalUser) {
$data[] = ['id' => $journalUser->getId(), 'text' => (string) $journalUser];
}
}
return JsonResponse::create($data);
}