public static function populateCountryStateCity(PersonInterface $person, FormInterface $form) { $country = $person->getCountry(); $state = $person->getState(); $city = $person->getCity(); $countryName = ''; if ($country) { $countryName = $country->getName(); } $form->add('country', 'text', array('required' => true, 'mapped' => false, 'read_only' => true, 'data' => $countryName)); $stateName = ''; if ($state) { $stateName = $state->getName(); } $form->add('state', 'text', array('required' => true, 'read_only' => 'true', 'mapped' => false, 'read_only' => true, 'data' => $stateName)); $cityName = ''; if ($city) { $cityName = $city->getName(); } $form->add('city', 'text', array('required' => true, 'read_only' => 'true', 'mapped' => false, 'read_only' => true, 'data' => $cityName)); return $form; }
/** * @param PersonInterface $user * @param string $scope * @return bool */ private function checkScope(PersonInterface $user, $scope) { // 'id_cards', 'addresses' switch ($scope) { case 'name': case 'full_name': case 'surname': $value = $user->getFullName(); return $value && strlen($value) > 0 && strlen($user->getSurname()) > 0; break; case 'mobile': case 'phone_number': $value = $user->getMobile(); break; case 'country': return $user->getCountry() instanceof Country; case 'state': return $user->getState() instanceof State; case 'city': return $user->getCity() instanceof City; case 'birthdate': return $user->getBirthdate() instanceof \DateTime; case 'email': case 'email_verified': return $user->getEmailConfirmedAt() instanceof \DateTime; case 'cpf': $cpf = $user->getCpf(); return $cpf && CPFValidator::isCPFValid($cpf); default: return true; } return $value && strlen($value) > 0; }