Example #1
0
 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();
 }
Example #2
0
 /**
  * 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();
     }
 }