Ojs\CoreBundle\Service\Twig\OjsExtension::isGrantedForPublisher PHP Method

isGrantedForPublisher() public method

Check if user is selected journal publisher manager
public isGrantedForPublisher ( ) : boolean
return boolean
    public function isGrantedForPublisher()
    {
        $token = $this->tokenStorage->getToken();
        if ($token && method_exists($token, 'getUser')) {
            /** @var User $user */
            $user = $token->getUser();
        } else {
            return false;
        }
        $selectedJournal = $this->journalService->getSelectedJournal();
        if ($selectedJournal) {
            $publisher = $selectedJournal->getPublisher();
            if ($publisher == null) {
                return false;
            }
        } else {
            $publisherId = $this->requestStack->getCurrentRequest()->attributes->get('publisherId');
            if (!$publisherId) {
                return false;
            }
            $publisher = $this->em->getRepository('OjsJournalBundle:Publisher')->find($publisherId);
        }
        if ($user->isAdmin()) {
            return true;
        }
        foreach ($publisher->getPublisherManagers() as $manager) {
            if ($manager->getUser()->getId() == $user->getId()) {
                return true;
            }
        }
        return false;
    }