public function updatePayingClientStatus(Institution $institution, $payingClientStatus) { $qb = $this->doctrine->getEntityManagerForClass('InstitutionBundle:InstitutionMedicalCenter')->createQueryBuilder(); $qb->select('a.payingClient')->from('InstitutionBundle:InstitutionMedicalCenter', 'a')->where('a.status = :status')->andWhere('a.institution = :institutionId')->addOrderBy('a.payingClient', 'DESC')->setMaxResults(1)->setParameter('status', InstitutionMedicalCenterStatus::APPROVED)->setParameter('institutionId', $institution->getId()); $newInstitutionPayingClient = (int) $qb->getQuery()->getSingleScalarResult(); if ((int) $institution->getPayingClient() != $newInstitutionPayingClient) { $institution->setPayingClient($newInstitutionPayingClient); $em = $this->doctrine->getEntityManagerForClass('InstitutionBundle:Institution'); $em->persist($institution); $em->flush(); } }
/** * See comment in previous function */ public function getInstitutionLinks(Institution $institution, $url) { $links = array(); //Falls through; order of the elements in $links is significant if ($institution->getPayingClient()) { $socialMediaSites = json_decode($institution->getSocialMediaSites(), true); foreach ($socialMediaSites as $type => $value) { if ($value) { $links[$type] = array('tooltip' => "This hospital is on {$value}"); } } if ($website = $institution->getWebsites()) { $links['website'] = array('tooltip' => "Website: {$website}"); } if ($number = $institution->getContactNumber()) { $links['contactnumber'] = array('tooltip' => 'Call Us', 'value' => $url); } } $links['email'] = array('tooltip' => 'Email Us', 'value' => $url . '#form_feedback'); return $links; }