/** * @param array $columnValues * @param boolean $useColumnsValuesId * * @throws \Cms\Exception * @return \Cms\Data\User */ public function create(array $columnValues, $useColumnsValuesId = false) { $user = new User(); if ($this->isEmailAlreadyTaken($columnValues['email'])) { throw new CmsException(1001, __METHOD__, __LINE__); } if ($useColumnsValuesId && isset($columnValues['id'])) { $user->setId($columnValues['id']); } else { $user->setNewGeneratedId(); } $user->setFirstname($columnValues['firstname']); $user->setLastname($columnValues['lastname']); $user->setEmail($columnValues['email']); if (isset($columnValues['gender'])) { $user->setGender($columnValues['gender']); } if (isset($columnValues['language'])) { $user->setLanguage($columnValues['language']); } $user->setPassword(''); $user->setSuperuser($columnValues['isSuperuser']); $user->setDeletable($columnValues['isDeletable']); try { $entityManager = $this->getEntityManager(); $entityManager->persist($user); $entityManager->flush(); $entityManager->refresh($user); } catch (Exception $e) { throw new CmsException(1004, __METHOD__, __LINE__, null, $e); } return $this->convertToCmsDataObject($user); }
/** * {@inheritDoc} */ public function setId($id) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setId', array($id)); return parent::setId($id); }