public function execute(BlockContextInterface $blockContext, Response $response = null) { $schoolID = $this->session->get('tsk_school_id'); $orgID = $this->session->get('tsk_organization_id'); $em = $this->entityManager; $sc = $this->securityContext; $erpContext = new \TSK\UserBundle\Form\Model\ErpContext(); if ($orgID) { $organization = $em->getRepository('TSKUserBundle:Organization')->find($orgID); $erpContext->setOrganization($organization); } if ($schoolID) { $school = $em->getRepository('TSKSchoolBundle:School')->find($schoolID); $erpContext->setSchool($school); } $isSuperAdmin = false; foreach ($sc->getToken()->getRoles() as $role) { if ($role->getRole() == 'ROLE_SUPER_ADMIN') { $isSuperAdmin = true; } } if ($isSuperAdmin) { // Create form $form = $this->formFactory->create(new \TSK\UserBundle\Form\Type\AdminErpContextType($em, $sc), $erpContext); } else { // Determine if user has more than one school ... // Create form $form = $this->formFactory->create(new \TSK\UserBundle\Form\Type\UserErpContextType($em, $sc), $erpContext); } return $this->renderResponse($blockContext->getTemplate(), array('block' => $blockContext->getBlock(), 'form' => $form->createView(), 'isSuperAdmin' => $isSuperAdmin, 'settings' => $blockContext->getSettings()), $response); }
/** * switchAction * @Route("/switch1") * @Template() * @Method({"GET","POST"}) * * @access public * @return void */ public function switchAction() { // Retrieve org and school from session $session = $this->get('session'); $schoolID = $session->get($this->container->getParameter('tsk_user.session.school_key')); $orgID = $session->get($this->container->getParameter('tsk_user.session.org_key')); $em = $this->getDoctrine()->getManager(); $sc = $this->get('security.context'); $erpContext = new \TSK\UserBundle\Form\Model\ErpContext(); if ($orgID) { $organization = $em->getRepository('TSKUserBundle:Organization')->find($orgID); $erpContext->setOrganization($organization); } if ($schoolID) { $school = $em->getRepository('TSKSchoolBundle:School')->find($schoolID); $erpContext->setSchool($school); } // Embed into form model $isSuperAdmin = false; foreach ($sc->getToken()->getRoles() as $role) { if ($role->getRole() == 'ROLE_SUPER_ADMIN') { $isSuperAdmin = true; } } if ($isSuperAdmin) { // Create form $form = $this->createForm(new \TSK\UserBundle\Form\Type\AdminErpContextType($em, $sc), $erpContext); } else { // Create form $form = $this->createForm(new \TSK\UserBundle\Form\Type\UserErpContextType($em, $sc), $erpContext); } return array('form' => $form->createView(), 'isSuperAdmin' => $isSuperAdmin); }