/** * * @param Institution $institution * @return boolean */ public function isActive(Institution $institution) { $activeStatus = InstitutionStatus::getBitValueForActiveStatus(); return $activeStatus == $activeStatus & $institution->getStatus() ? true : false; }
/** * Add Institution Details, step 2 when creating new institution * * @param Request $request * @return \Symfony\Component\HttpFoundation\Response * @author Chaztine Blance */ public function addDetailsAction(Request $request) { $medicalProviderGroup = $this->getDoctrine()->getRepository('InstitutionBundle:MedicalProviderGroup')->getActiveMedicalGroups(); $medicalProviderGroupArr = array(); foreach ($medicalProviderGroup as $e) { $medicalProviderGroupArr[] = array('value' => $e->getName(), 'id' => $e->getId()); } $this->get('services.contact_detail')->initializeContactDetails($this->institution, array(ContactDetailTypes::PHONE)); $this->institution->setName(''); //set institution name to empty // redirect to edit institution if status is already active if ($this->get('services.institution')->isActive($this->institution)) { return $this->redirect($this->generateUrl('admin_institution_edit_details', array('institutionId' => $this->institution->getId()))); } if ($request->isMethod('GET')) { $form = $this->createForm(new InstitutionProfileFormType(), $this->institution); } if ($request->isMethod('POST')) { $formVariables = $request->get(InstitutionProfileFormType::NAME); unset($formVariables['_token']); $removedFields = \array_diff(InstitutionProfileFormType::getFieldNames(), array_keys($formVariables)); $form = $this->createForm(new InstitutionProfileFormType(), $this->institution, array(InstitutionProfileFormType::OPTION_HIDDEN_FIELDS => array(''), InstitutionProfileFormType::OPTION_BUBBLE_ALL_ERRORS => false, InstitutionProfileFormType::OPTION_REMOVED_FIELDS => $removedFields)); $formRequestData = $request->get($form->getName()); if (isset($formRequestData['medicalProviderGroups'])) { // we always expect 1 medical provider group // if it is empty remove it from the array if (isset($formRequestData['medicalProviderGroups'][0]) && '' == trim($formRequestData['medicalProviderGroups'][0])) { unset($formRequestData['medicalProviderGroups'][0]); } } $form->bind($formRequestData); if ($form->isValid()) { $institution = $form->getData(); // update the sign up step status $institution->setSignupStepStatus(0); // update to active status $institution->setStatus(InstitutionStatus::getBitValueForActiveStatus()); $this->get('services.contact_detail')->removeInvalidContactDetails($institution); $this->get('services.institution.factory')->save($institution); $this->get('session')->setFlash('notice', "Successfully completed details of {$institution->getName()}."); return $this->redirect($this->generateUrl('admin_institution_view', array('institutionId' => $this->institution->getId()))); } } return $this->render('AdminBundle:Institution:addDetails.html.twig', array('form' => $form->createView(), 'institution' => $this->institution, 'id' => $this->institution->getId(), 'medicalProvidersJSON' => \json_encode($medicalProviderGroupArr))); }