diff --git a/Controller/ForgotPassController.php b/Controller/ForgotPassController.php index 430f549..a4611bb 100644 --- a/Controller/ForgotPassController.php +++ b/Controller/ForgotPassController.php @@ -12,6 +12,7 @@ App::uses('AuthAppController', 'Auth.Controller'); App::uses('NetCommonsMail', 'Mails.Utility'); App::uses('SiteSettingUtil', 'SiteManager.Utility'); +App::uses('UserAttributeChoice', 'UserAttributes.Model'); /** * パスワード再発行Controller @@ -234,6 +235,18 @@ public function update() { } if ($this->request->is('put')) { + // 承認済ならば、利用可へ + $userId = $this->request->data[$this->User->alias]['id'] ?? null; + $user = $this->User->find('first', array( + 'recursive' => -1, + 'conditions' => array('id' => $userId) + )); + + if ($user && $user[$this->User->alias]['status'] === UserAttributeChoice::STATUS_CODE_APPROVED) { + $this->request->data[$this->User->alias]['status'] + = UserAttributeChoice::STATUS_CODE_ACTIVE; + } + if ($this->ForgotPass->savePassowrd($this->request->data)) { $this->NetCommons->setFlashNotification( __d('net_commons', 'Successfully saved.'), array('class' => 'success') diff --git a/Model/ForgotPass.php b/Model/ForgotPass.php index 9d5e20c..48bc54b 100644 --- a/Model/ForgotPass.php +++ b/Model/ForgotPass.php @@ -10,6 +10,7 @@ */ App::uses('AppModel', 'Model'); +App::uses('UserAttributeChoice', 'UserAttributes.Model'); /** * パスワード再発行Model @@ -113,9 +114,12 @@ public function validateRequest($data) { //メールアドレスのチェック $email = trim($data['ForgotPass']['email']); + // 削除済 or 承認待ち or 利用不可ならメール送信しない $conditions = array( - 'is_deleted' => false + 'is_deleted' => false, + 'status' => [UserAttributeChoice::STATUS_CODE_ACTIVE, UserAttributeChoice::STATUS_CODE_APPROVED] ); + $fields = $this->User->getEmailFields(); foreach ($fields as $field) { $conditions['OR'][$field] = $email; diff --git a/VERSION.txt b/VERSION.txt new file mode 100644 index 0000000..4772543 --- /dev/null +++ b/VERSION.txt @@ -0,0 +1 @@ +3.3.2