OSDN Git Service

Plugin::Users: fix reset password related problem
authorhylom <hylom@users.sourceforge.jp>
Tue, 27 Nov 2018 12:00:55 +0000 (21:00 +0900)
committerhylom <hylom@users.sourceforge.jp>
Tue, 27 Nov 2018 12:00:55 +0000 (21:00 +0900)
src/newslash_web/lib/Newslash/Plugin/Users.pm

index 7da8f7b..d228481 100644 (file)
@@ -20,7 +20,7 @@ sub register {
 sub request_change_email {
     my ($self, $user, $email) = @_;
 
-    if (!$user || !$user->{uid}) {
+    if (!$user || !$user->{uid} || !$user->{is_login}) {
         $self->last_error("INVALID_USER");
         return;
     }
@@ -180,7 +180,10 @@ sub verify_and_change_email {
 
 sub cancel_change_email_request {
     my ($self, $uid) = @_;
-    return if !$uid;
+    if (!$uid) {
+        $self->last_error("INVALID_UID");
+        return;
+    }
     my $users = $self->app->model('users');
     my $params = $users->param->select(uid => $uid);
 
@@ -214,7 +217,7 @@ sub cancel_change_email_request {
 sub reset_password {
     my ($self, $user) = @_;
 
-    if (!$user || $user->{uid}) {
+    if (!$user || !$user->{uid} || !$user->{is_login}) {
         $self->last_error("INVALID_USER");
         return;
     }
@@ -244,7 +247,7 @@ sub generate_password_reset_token {
 
 sub cancel_activation {
     my ($self, $user) = @_;
-    if (!$user || $user->{uid}) {
+    if (!$user || !$user->{uid}) {
         $self->last_error("INVALID_USER");
         return;
     }