From 9b141699fdd5b81afd12e410c197074de27f2e91 Mon Sep 17 00:00:00 2001 From: hylom Date: Fri, 25 Nov 2016 19:12:29 +0900 Subject: [PATCH] Controller::Login: fix user prefs convertion --- src/newslash_web/lib/Newslash/Web/Controller/Login.pm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/newslash_web/lib/Newslash/Web/Controller/Login.pm b/src/newslash_web/lib/Newslash/Web/Controller/Login.pm index 7926e29d..80244c4f 100644 --- a/src/newslash_web/lib/Newslash/Web/Controller/Login.pm +++ b/src/newslash_web/lib/Newslash/Web/Controller/Login.pm @@ -33,16 +33,21 @@ sub login { # TODO: if user already logged-in, force logout? my $user = $users->authentification($nickname, $passwd); if ($user) { - my $token = $c->_generate_token; - my $existence = $c->kvs->hget('sessions', $token); - $users->convert_old_prefs($user->{uid}); + # convert old preferences + my $new_cfg = $users->convert_old_prefs($user->{uid}); + if ($new_cfg) { + # if convert executed, update conf + $user->{config} = $new_cfg; + $user->{configJSON} = encode_json($new_cfg); + } + my $token = $c->_generate_token; # check token's overlap, if so, regenerate + my $existence = $c->kvs->hget('sessions', $token); if ($existence) { $token = $c->_generate_token; $existence = $c->kvs->hget('sessions', $token); } - $c->kvs->hset('sessions', $token, $user); my $session = { token => $token, -- 2.11.0