public function transformContent() { $form = $this->getForm('UserForm'); if ($form->isSent() && $form->isValid()) { $firstName = $form->getFormElementByName('FirstName'); $lastName = $form->getFormElementByName('LastName'); /* @var $birthday DateSelectorTag */ $birthday = $form->getFormElementByName('Birthday'); $streetName = $form->getFormElementByName('StreetName'); $streetNumber = $form->getFormElementByName('StreetNumber'); $zipCode = $form->getFormElementByName('ZIPCode'); $city = $form->getFormElementByName('City'); $email = $form->getFormElementByName('EMail'); $mobile = $form->getFormElementByName('Mobile'); $username = $form->getFormElementByName('Username'); $password = $form->getFormElementByName('Password'); $uM = $this->getManager(); $user = new UmgtUser(); $user->setFirstName($firstName->getValue()); $user->setLastName($lastName->getValue()); $user->setBirthday($birthday->getValue()); $user->setStreetName($streetName->getValue()); $user->setStreetNumber($streetNumber->getValue()); $user->setZIPCode($zipCode->getValue()); $user->setCity($city->getValue()); $user->setEMail($email->getValue()); $user->setMobile($mobile->getValue()); $user->setUsername($username->getValue()); $user->setPassword($password->getValue()); $uM->saveUser($user); $this->getResponse()->forward($this->generateLink(['mainview' => 'user', 'userview' => null])); } $form->transformOnPlace(); }
/** * Displays and handles the user edit form. * * @author Christian Achatz * @version * Version 0.1, 26.12.2008<br /> * Version 0.2, 02.01.2009 (Added the password fields handling)<br /> */ public function transformContent() { // get the userid from the request $userId = $this->getRequest()->getParameter('userid'); // setup the form $form = $this->getForm('UserForm'); $fieldUserId = $form->getFormElementByName('userid'); $fieldUserId->setAttribute('value', $userId); $firstName = $form->getFormElementByName('FirstName'); $lastName = $form->getFormElementByName('LastName'); /* @var $birthday DateSelectorTag */ $birthday = $form->getFormElementByName('Birthday'); $streetName = $form->getFormElementByName('StreetName'); $streetNumber = $form->getFormElementByName('StreetNumber'); $zipCode = $form->getFormElementByName('ZIPCode'); $city = $form->getFormElementByName('City'); $email = $form->getFormElementByName('EMail'); $mobile = $form->getFormElementByName('Mobile'); $username = $form->getFormElementByName('Username'); // get the manager $uM = $this->getManager(); if ($form->isSent()) { if ($form->isValid()) { // setup the domain object $user = new UmgtUser(); $user->setObjectId($userId); // read the "normal" fields $user->setFirstName($firstName->getValue()); $user->setLastName($lastName->getValue()); $user->setBirthday($birthday->getValue()); $user->setStreetName($streetName->getValue()); $user->setStreetNumber($streetNumber->getValue()); $user->setZIPCode($zipCode->getValue()); $user->setCity($city->getValue()); $user->setEMail($email->getValue()); $user->setMobile($mobile->getValue()); $user->setUsername($username->getValue()); // read the password field $passField1 = $form->getFormElementByName('Password'); $passField2 = $form->getFormElementByName('Password2'); $pass1 = $passField1->getAttribute('value'); $pass2 = $passField2->getAttribute('value'); $response = $this->getResponse(); if (!empty($pass1)) { if ($pass1 !== $pass2) { $passField1->markAsInvalid(); $passField2->markAsInvalid(); $passField1->appendCssClass($this->getMarkerClass($passField1)); $passField2->appendCssClass($this->getMarkerClass($passField2)); $this->setPlaceHolder('UserEdit', $form->transformForm()); } else { // add the password to the object $user->setPassword($pass2); // save the user $uM->saveUser($user); $response->forward($this->generateLink(['mainview' => 'user', 'userview' => '', 'userid' => ''])); } } else { $uM->saveUser($user); $response->forward($this->generateLink(['mainview' => 'user', 'userview' => '', 'userid' => ''])); } } else { $form->transformOnPlace(); } } else { $user = $uM->loadUserByID($userId); // pre-fill form $firstName->setValue($user->getFirstName()); $lastName->setValue($user->getLastName()); $birthday->setValue($user->getBirthday()); $streetName->setValue($user->getStreetName()); $streetNumber->setValue($user->getStreetNumber()); $zipCode->setValue($user->getZIPCode()); $city->setValue($user->getCity()); $email->setValue($user->getEMail()); $mobile->setValue($user->getMobile()); $username->setValue($user->getUsername()); $form->transformOnPlace(); } }
public function transformContent() { $form = $this->getForm('register'); if ($form->isSent() && $form->isValid()) { $uM = $this->getManager(); $user = new UmgtUser(); $firstName = $form->getFormElementByName('firstname'); $firstNameValue = $firstName->getValue(); $user->setFirstName($firstNameValue); $lastName = $form->getFormElementByName('lastname'); $lastNameValue = $lastName->getValue(); $user->setLastName($lastNameValue); $street = $form->getFormElementByName('street'); $user->setStreetName($street->getValue()); $number = $form->getFormElementByName('number'); $user->setStreetNumber($number->getValue()); $zip = $form->getFormElementByName('zip'); $user->setZIPCode($zip->getValue()); $city = $form->getFormElementByName('city'); $user->setCity($city->getValue()); $email = $form->getFormElementByName('email'); $user->setEMail($email->getValue()); $userName = $form->getFormElementByName('username'); $userNameValue = $userName->getValue(); $user->setUsername($userNameValue); $password = $form->getFormElementByName('password'); $user->setPassword($password->getValue()); // assemble display name to have a more readable user within the umgt mgmt UI if (empty($firstNameValue) && empty($lastNameValue)) { $user->setDisplayName($userNameValue); } else { $user->setDisplayName($lastNameValue . ', ' . $firstNameValue); } // add initial groups and roles if applicable try { foreach ($this->getInitialGroups() as $initialGroup) { $user->addGroup($initialGroup); } foreach ($this->getInitialRoles() as $initialRole) { $user->addRole($initialRole); } } catch (ConfigurationException $e) { $l = Singleton::getInstance(Logger::class); /* @var $l Logger */ $l->logEntry('registration', 'Registration cannot add initial groups or roles due to the following ' . 'exception: ' . $e . ' This may be ok, in case you have no initial groups and/or roles specified.', LogEntry::SEVERITY_INFO); } try { // Lets have a look if the username/email is always in use and show an error message try { $config = $this->getConfiguration('APF\\modules\\usermanagement\\pres', 'login.ini'); $loginType = $config->getSection('Default')->getValue('login.type', 'username'); } catch (ConfigurationException $e) { $loginType = 'username'; } if ($loginType === 'username') { $regUser = $uM->loadUserByUserName($userNameValue); } else { $regUser = $uM->loadUserByEMail($email->getValue()); } if ($regUser === null) { $uM->saveUser($user); $this->getTemplate('register-ok')->transformOnPlace(); } else { $form->setPlaceHolder('register-error', $this->getTemplate('register-error-user-already-exists')->transformTemplate()); $form->transformOnPlace(); } } catch (Exception $e) { $this->getTemplate('system-error')->transformOnPlace(); $l = Singleton::getInstance(Logger::class); /* @var $l Logger */ $l->logEntry('registration', 'Registration is not possible due to ' . $e, LogEntry::SEVERITY_ERROR); } } elseif ($form->isSent() && !$form->isValid()) { $form->setPlaceHolder('register-error', $this->getTemplate('register-error')->transformTemplate()); $form->transformOnPlace(); } else { $form->transformOnPlace(); } }