/** * Transforms an object (City) to a string. * * @param City|null $city * @return string */ public function transform($city) { if (null === $city) { return ""; } $cityName = $city->getName(); $state = $city->getState(); $stateName = $state->getAcronym(); return sprintf("%s, %s", $cityName, $stateName); }
private function checkAddressLocation(&$address, $form, &$em) { $form = $form->get('location'); if (!$address->getCountry()) { $form->get('country')->addError(new FormError($this->get('translator')->trans('required.field'))); return false; } $isPreferred = $em->getRepository('PROCERGSLoginCidadaoCoreBundle:Country')->isPreferred($address->getCountry()); if (!$address->getState() && !$isPreferred) { $steppe = ucwords(strtolower(trim($form->get('statesteppe')->getData()))); if ($steppe) { $repo = $em->getRepository('PROCERGSLoginCidadaoCoreBundle:State'); $ent = $repo->findOneBy(array('name' => $steppe, 'country' => $address->getCountry())); if (!$ent) { $ent = new State(); $ent->setName($steppe); $ent->setCountry($address->getCountry()); $em->persist($ent); } $address->setState($ent); } } if (!$address->getState()) { $form->get('state')->addError(new FormError($this->get('translator')->trans('required.field'))); return false; } if (!$address->getCity() && !$isPreferred) { $steppe = ucwords(strtolower(trim($form->get('citysteppe')->getData()))); if ($address->getState()) { $state = $address->getState(); } elseif (isset($ent)) { $state = $ent; } else { $state = null; } if ($state && $steppe) { $repo = $em->getRepository('PROCERGSLoginCidadaoCoreBundle:City'); $ent = $repo->findOneBy(array('name' => $steppe, 'state' => $state)); if (!$ent) { $ent = new City(); $ent->setName($steppe); $ent->setState($state); $em->persist($ent); } $address->setCity($ent); } } if (!$address->getCity()) { $form->get('city')->addError(new FormError($this->get('translator')->trans('required.field'))); return false; } return true; }
public function onProfileEditSuccess(FormEvent $event) { $user = $event->getForm()->getData(); if (!$user->getState()) { $steppe = ucwords(strtolower(trim($event->getForm()->get('ufsteppe')->getData()))); if ($steppe) { if ($user->getCountry()) { $isPreferred = $this->em->getRepository('PROCERGSLoginCidadaoCoreBundle:Country')->isPreferred($user->getCountry()); if ($isPreferred) { throw new LcValidationException('restrict.location.creation'); } } else { throw new LcValidationException('required.field.country'); } $repo = $this->em->getRepository('PROCERGSLoginCidadaoCoreBundle:State'); $ent = $repo->findOneBy(array('name' => $steppe, 'country' => $user->getCountry())); if (!$ent) { $ent = new State(); $ent->setName($steppe); $ent->setCountry($user->getCountry()); $this->em->persist($ent); } $user->setState($ent); } } if (!$user->getCity()) { $steppe = ucwords(strtolower(trim($event->getForm()->get('citysteppe')->getData()))); if ($steppe) { if ($user->getState()) { $isPreferred = $this->em->getRepository('PROCERGSLoginCidadaoCoreBundle:Country')->isPreferred($user->getState()->getCountry()); if ($isPreferred) { throw new LcValidationException('restrict.location.creation'); } } else { throw new LcValidationException('required.field.state'); } $repo = $this->em->getRepository('PROCERGSLoginCidadaoCoreBundle:City'); $ent = $repo->findOneBy(array('name' => $steppe, 'state' => $user->getState())); if (!$ent) { $ent = new City(); $ent->setName($steppe); $ent->setState($user->getState()); $this->em->persist($ent); } $user->setCity($ent); } } $this->checkEmailChanged($user); // default: $url = $this->router->generate('fos_user_profile_edit'); $event->setResponse(new RedirectResponse($url)); }
private function registerTextualCity(\Symfony\Component\Form\FormEvent $event) { $data = $event->getForm()->getData(); if (!$data instanceof SelectData) { return; } $form = $event->getForm(); if ($form->has('city_text')) { $cityTextInput = $form->get('city_text')->getData(); $cityText = ucwords(strtolower(trim($cityTextInput))); if (!$cityText) { return; } if (!$data->getState()) { throw new LcValidationException('required.field.state'); } $isPreferred = $this->em->getRepository('PROCERGSLoginCidadaoCoreBundle:Country')->isPreferred($data->getCountry()); if ($isPreferred) { throw new LcValidationException('restrict.location.creation'); } $repo = $this->em->getRepository('PROCERGSLoginCidadaoCoreBundle:City'); $city = $repo->findOneBy(array('name' => $cityText, 'state' => $data->getState())); if (!$city) { $city = new City(); $city->setName($cityText); $city->setState($data->getState()); $this->em->persist($city); } $data->setCity($city); } }