/** * Blah * */ public function attachMissingUserProfileValues(UserProfile $userProfile) { $fields = $this->em->getRepository('CrisisTextLineUserProfileBundle:UserProfileField')->findAll(); foreach ($fields as $field) { if ($userProfile->hasValueForField($field) == false) { $default = $field->getDefaultValue(); $value = new UserProfileValue($userProfile, $field, $default); $userProfile->addValue($value); $this->em->persist($userProfile); $this->em->persist($value); } } $this->em->flush(); return $userProfile; }
/** * Set the profile's values according to field name and jsonified values in incoming array * * @param UserProfile $profile * @param array $dataArray */ private function setProfileValues($profile, $dataArray) { foreach ($dataArray as $fieldName => $jsonValue) { $value = $this->valueRepo->findOneBy(array('userProfile' => $profile, 'userProfileField' => $this->fieldRepo->findOneByName($fieldName))); $value->setValue($jsonValue); $this->em->persist($value); } $this->em->flush(); $this->userCallback['service']->{$this->userCallback['method']}($profile->getUser(), true); }