Exemplo n.º 1
0
 /**
  * Prefix method to createAction()
  *        Create Confirmation from Admin is not necessary
  *
  * @param User $user
  * @return void
  */
 public function createAllConfirmed(User $user)
 {
     $this->userRepository->add($user);
     $this->persistenceManager->persistAll();
     $this->addFlashMessage(LocalizationUtility::translate('createAndInvited'));
     LogUtility::log(Log::STATUS_INVITATIONPROFILECREATED, $user);
     // send confirmation mail to user
     $this->sendMailService->send('invitation', StringUtility::makeEmailArray($user->getEmail(), $user->getUsername()), StringUtility::makeEmailArray($user->getEmail(), $user->getUsername()), 'Profile creation with invitation', ['user' => $user, 'settings' => $this->settings, 'hash' => HashUtility::createHashForUser($user)], $this->config['invitation.']['email.']['invitation.']);
     // send notify email to admin
     if ($this->settings['invitation']['notifyAdminStep1']) {
         $this->sendMailService->send('invitationNotifyStep1', StringUtility::makeEmailArray($this->settings['invitation']['notifyAdminStep1'], $this->settings['invitation']['email']['invitationAdminNotifyStep1']['receiver']['name']['value']), StringUtility::makeEmailArray($user->getEmail(), $user->getUsername()), 'Profile creation with invitation - Step 1', ['user' => $user, 'settings' => $this->settings], $this->config['invitation.']['email.']['invitationAdminNotifyStep1.']);
     }
     $this->signalSlotDispatcher->dispatch(__CLASS__, __FUNCTION__ . 'AfterPersist', [$user, $this]);
     $this->redirectByAction('redirectStep1');
     $this->redirect('new');
 }
Exemplo n.º 2
0
 /**
  * Status action: User confirmation
  *
  * @param User $user
  * @param string $hash
  * @param string $status
  * @return bool allow further functions
  * @throws UnsupportedRequestTypeException
  * @throws IllegalObjectTypeException
  */
 protected function statusUserConfirmation(User $user, $hash, $status)
 {
     if (HashUtility::validHash($hash, $user)) {
         if ($user->getTxFemanagerConfirmedbyuser()) {
             $this->addFlashMessage(LocalizationUtility::translate('userAlreadyConfirmed'), '', FlashMessage::ERROR);
             $this->redirect('new');
         }
         $user = FrontendUtility::forceValues($user, $this->config['new.']['forceValues.']['onUserConfirmation.']);
         $user->setTxFemanagerConfirmedbyuser(true);
         $this->userRepository->update($user);
         $this->persistenceManager->persistAll();
         LogUtility::log(Log::STATUS_REGISTRATIONCONFIRMEDUSER, $user);
         if ($this->isAdminConfirmationMissing($user)) {
             $this->sendMailService->send('createAdminConfirmation', StringUtility::makeEmailArray($this->settings['new']['confirmByAdmin'], $this->settings['new']['email']['createAdminConfirmation']['receiver']['name']['value']), StringUtility::makeEmailArray($user->getEmail(), $user->getUsername()), 'New Registration request', ['user' => $user, 'hash' => HashUtility::createHashForUser($user)], $this->config['new.']['email.']['createAdminConfirmation.']);
             $this->addFlashMessage(LocalizationUtility::translate('createRequestWaitingForAdminConfirm'));
         } else {
             $user->setDisable(false);
             $this->addFlashMessage(LocalizationUtility::translate('create'));
             LogUtility::log(Log::STATUS_NEWREGISTRATION, $user);
             $this->finalCreate($user, 'new', 'createStatus', true, $status);
         }
     } else {
         $this->addFlashMessage(LocalizationUtility::translate('createFailedProfile'), '', FlashMessage::ERROR);
         return false;
     }
     return true;
 }
Exemplo n.º 3
0
 /**
  * Prefix method to updateAction(): Update must be confirmed by Admin
  *
  * @param User $user
  * @return void
  */
 public function updateRequest($user)
 {
     $dirtyProperties = UserUtility::getDirtyPropertiesFromUser($user);
     $user = UserUtility::rollbackUserWithChangeRequest($user, $dirtyProperties);
     $this->sendMailService->send('updateRequest', [$this->settings['edit']['confirmByAdmin'] => $this->settings['edit']['email']['updateRequest']['sender']['name']['value']], StringUtility::makeEmailArray($user->getEmail(), $user->getUsername()), 'New Profile change request', ['user' => $user, 'changes' => $dirtyProperties, 'hash' => HashUtility::createHashForUser($user)], $this->config['edit.']['email.']['updateRequest.']);
     LogUtility::log(Log::STATUS_PROFILEUPDATEREFUSEDADMIN, $user, ['dirtyProperties' => $dirtyProperties]);
     $this->redirectByAction('edit', 'requestRedirect');
     $this->addFlashMessage(LocalizationUtility::translate('updateRequest'));
 }
 /**
  * Send email to user for confirmation
  *
  * @param \Gigabonus\Gbfemanager\Domain\Model\User $user
  * @return void
  * @throws UnsupportedRequestTypeException
  */
 protected function createUserConfirmationRequest(\Gigabonus\Gbfemanager\Domain\Model\User $user)
 {
     $this->sendMailService->send('createUserConfirmation', StringUtility::makeEmailArray($user->getEmail(), $user->getUsername()), [$this->settings['new']['email']['createUserConfirmation']['sender']['email']['value'] => $this->settings['settings']['new']['email']['createUserConfirmation']['sender']['name']['value']], 'Confirm your profile creation request', ['user' => $user, 'hash' => HashUtility::createHashForUser($user), 'registrationPageId' => 4], $this->config['new.']['email.']['createUserConfirmation.']);
 }