Ojs\JournalBundle\Controller\JournalUserController::getUserBasedJournalAction PHP Метод

getUserBasedJournalAction() публичный Метод

Search journal based users
public getUserBasedJournalAction ( Request $request ) : Response | NotFoundHttpException | static
$request Symfony\Component\HttpFoundation\Request
Результат Symfony\Component\HttpFoundation\Response | Symfony\Component\HttpKernel\Exception\NotFoundHttpException | static
    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);
    }