Ejemplo n.º 1
0
 /**
  * Adds a new user.
  *
  * @return void
  */
 public function add()
 {
     $this->loadModel('User.Users');
     $user = $this->Users->newEntity();
     $user = $this->Users->attachFields($user);
     $languages = LocaleToolbox::languagesList();
     $roles = $this->Users->Roles->find('list', ['conditions' => ['id NOT IN' => [ROLE_ID_AUTHENTICATED, ROLE_ID_ANONYMOUS]]]);
     if ($this->request->data()) {
         $user->accessible('id', false);
         $data = $this->request->data;
         if (isset($data['welcome_message'])) {
             $sendWelcomeMessage = (bool) $data['welcome_message'];
             unset($data['welcome_message']);
         } else {
             $sendWelcomeMessage = false;
         }
         $user = $this->Users->patchEntity($user, $data);
         if ($this->Users->save($user)) {
             if ($sendWelcomeMessage) {
                 NotificationManager::welcome($user)->send();
             }
             $this->Flash->success(__d('user', 'User successfully registered!'));
             $this->redirect(['plugin' => 'User', 'controller' => 'manage', 'action' => 'edit', $user->id]);
         } else {
             $this->Flash->danger(__d('user', 'User could not be registered, please check your information.'));
         }
     }
     $this->title(__d('user', 'Register New User'));
     $this->set(compact('user', 'roles', 'languages'));
     $this->Breadcrumb->push('/admin/user/manage');
 }
 /**
  * test __callStatic() for welcome().
  *
  * @return void
  */
 public function testCallStaticWelcome()
 {
     $user = new User();
     $welcomeMessage = NotificationManager::welcome($user);
     $this->assertInstanceOf('User\\Notification\\Message\\WelcomeMessage', $welcomeMessage);
 }
Ejemplo n.º 3
0
 /**
  * Users can request to re-send activation instructions to their email address.
  *
  * @return void
  */
 public function activationEmail()
 {
     $this->loadModel('User.Users');
     $sent = false;
     if (!empty($this->request->data['username'])) {
         $user = $this->Users->find()->where(['OR' => ['username' => $this->request->data['username'], 'email' => $this->request->data['username']], 'status' => 0])->limit(1)->first();
         if ($user) {
             NotificationManager::welcome($user)->send();
             $this->Flash->success(__d('user', 'Instructions have been sent to your e-mail address.'), ['key' => 'activation_email']);
             $sent = true;
         } else {
             $this->Flash->danger(__d('user', 'No account was found matching the given username/email.'), ['key' => 'activation_email']);
         }
     }
     $this->title(__d('user', 'Activation Request'));
     $this->set(compact('sent'));
 }