From f51ce6f4acf28c224ec4a02f35ae35726cdc4c38 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Tue, 12 May 2015 22:31:07 +0200 Subject: Working login, but doesn't save token yet --- src/js/BotleaguesCallback.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/js/BotleaguesCallback.js') diff --git a/src/js/BotleaguesCallback.js b/src/js/BotleaguesCallback.js index f162e7c..3b1de02 100644 --- a/src/js/BotleaguesCallback.js +++ b/src/js/BotleaguesCallback.js @@ -29,4 +29,17 @@ BotleaguesCallback.register = function(data) { } } } +}; + +BotleaguesCallback.login = function(data) { + if (data.user_token) { + BotleaguesFrontend.error({ + message: "Login successful!", + type: 'success' + }); + } else { + BotleaguesFrontend.error({ + message: data.error ? data.error : "Could not login." + }); + } }; \ No newline at end of file -- cgit v1.2.3 From 3841987127e33a17a0c070b42c9293e282fa8a72 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 13 May 2015 08:09:25 +0200 Subject: Save token information in cookies --- src/js/Botleagues.js | 1 - src/js/BotleaguesCallback.js | 3 +++ src/js/BotleaguesFrontend.js | 4 ++++ src/js/forms.js | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/js/BotleaguesCallback.js') diff --git a/src/js/Botleagues.js b/src/js/Botleagues.js index 2ab1bc7..c219a3d 100644 --- a/src/js/Botleagues.js +++ b/src/js/Botleagues.js @@ -34,7 +34,6 @@ Botleagues.login = function(username, password) { endpoint: 'user_token', method: 'POST', callback: BotleaguesCallback.login, - async: false, headers: { 'Authorization': 'Basic ' + btoa(username + ':' + password) } diff --git a/src/js/BotleaguesCallback.js b/src/js/BotleaguesCallback.js index 3b1de02..ce91d50 100644 --- a/src/js/BotleaguesCallback.js +++ b/src/js/BotleaguesCallback.js @@ -37,6 +37,9 @@ BotleaguesCallback.login = function(data) { message: "Login successful!", type: 'success' }); + $.cookie(BotleaguesFrontend.cookie_login_user_id, data.user_token.userId); + $.cookie(BotleaguesFrontend.cookie_login_token, data.user_token.token); + $.cookie(BotleaguesFrontend.cookie_login_valid_till, Date.parse(data.user_token.valid_till)); } else { BotleaguesFrontend.error({ message: data.error ? data.error : "Could not login." diff --git a/src/js/BotleaguesFrontend.js b/src/js/BotleaguesFrontend.js index c25a7f2..be80f31 100644 --- a/src/js/BotleaguesFrontend.js +++ b/src/js/BotleaguesFrontend.js @@ -1,5 +1,9 @@ function BotleaguesFrontend(){} +BotleaguesFrontend.cookie_login_user_id = 'botleagues_login_user_id'; +BotleaguesFrontend.cookie_login_token = 'botleagues_login_token'; +BotleaguesFrontend.cookie_login_valid_till = 'botleagues_login_valid_till'; + BotleaguesFrontend.error = function(user_options) { options = { dismissable: true, diff --git a/src/js/forms.js b/src/js/forms.js index dfecb7f..6a567a8 100644 --- a/src/js/forms.js +++ b/src/js/forms.js @@ -17,4 +17,5 @@ $('.btn-botleagues-login').focus(function(){ }); $('#login-form').submit(function(){ Botleagues.login($('#login-email').val(), $('#login-password').val()); + return false; }); \ No newline at end of file -- cgit v1.2.3 From 3252fb165b74a9daf2ce27ac05b6c5a1c22018d4 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 13 May 2015 08:15:31 +0200 Subject: Save user's email in cookie --- src/js/Botleagues.js | 6 ++++-- src/js/BotleaguesCallback.js | 1 + src/js/BotleaguesFrontend.js | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/js/BotleaguesCallback.js') diff --git a/src/js/Botleagues.js b/src/js/Botleagues.js index c219a3d..f11c995 100644 --- a/src/js/Botleagues.js +++ b/src/js/Botleagues.js @@ -29,13 +29,15 @@ Botleagues.redirect = function(user_options) { window.location = Botleagues.url + '/' + user_options['endpoint']; }; -Botleagues.login = function(username, password) { +Botleagues.login = function(email, password) { Botleagues.request({ endpoint: 'user_token', method: 'POST', callback: BotleaguesCallback.login, headers: { - 'Authorization': 'Basic ' + btoa(username + ':' + password) + 'Authorization': 'Basic ' + btoa(email + ':' + password) } }); + + $.cookie(BotleaguesFrontend.cookie_login_email, email); }; \ No newline at end of file diff --git a/src/js/BotleaguesCallback.js b/src/js/BotleaguesCallback.js index ce91d50..3e7e512 100644 --- a/src/js/BotleaguesCallback.js +++ b/src/js/BotleaguesCallback.js @@ -44,5 +44,6 @@ BotleaguesCallback.login = function(data) { BotleaguesFrontend.error({ message: data.error ? data.error : "Could not login." }); + $.removeCookie(BotleaguesFrontend.cookie_login_email); } }; \ No newline at end of file diff --git a/src/js/BotleaguesFrontend.js b/src/js/BotleaguesFrontend.js index be80f31..b365743 100644 --- a/src/js/BotleaguesFrontend.js +++ b/src/js/BotleaguesFrontend.js @@ -1,5 +1,7 @@ function BotleaguesFrontend(){} +$.cookie.json = true; +BotleaguesFrontend.cookie_login_email = 'botleagues_login_email'; BotleaguesFrontend.cookie_login_user_id = 'botleagues_login_user_id'; BotleaguesFrontend.cookie_login_token = 'botleagues_login_token'; BotleaguesFrontend.cookie_login_valid_till = 'botleagues_login_valid_till'; -- cgit v1.2.3 From e7f88122ace11130d566e57461f14e383917f5a8 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 13 May 2015 09:45:54 +0200 Subject: Show login email if logged in --- src/include/foot.jade | 4 +++- src/include/layout-main.jade | 4 ++-- src/js/BotleaguesCallback.js | 3 ++- src/js/main.js | 16 ++++++++++++++++ 4 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 src/js/main.js (limited to 'src/js/BotleaguesCallback.js') diff --git a/src/include/foot.jade b/src/include/foot.jade index 1e383f2..4c8a7a1 100644 --- a/src/include/foot.jade +++ b/src/include/foot.jade @@ -2,4 +2,6 @@ script(src='/assets/js/script.js', type='text/javascript') script(src='/assets/js/Botleagues.js', type='text/javascript') script(src='/assets/js/BotleaguesCallback.js', type='text/javascript') script(src='/assets/js/BotleaguesFrontend.js', type='text/javascript') -script(src='/assets/js/forms.js', type='text/javascript') \ No newline at end of file + +script(src='/assets/js/forms.js', type='text/javascript') +script(src='/assets/js/main.js', type='text/javascript') \ No newline at end of file diff --git a/src/include/layout-main.jade b/src/include/layout-main.jade index fac12f2..164a7b2 100644 --- a/src/include/layout-main.jade +++ b/src/include/layout-main.jade @@ -12,13 +12,13 @@ html(lang="en") -var menu = { 'Home': '/', 'About': '/about', 'Contact': '/contact' }; .header.clearfix - nav: ul.nav.nav-pills.pull-right + nav: ul.nav.nav-pills.pull-right#nav each val, key in menu if selected === val li.active(role='presentation'): a(href=val,title=key)= key else li(role='presentation'): a(href=val,title=key)= key - li(role='presentation'): a.btn-botleagues-login(href='#',title='Login') Login + li.login-link(role='presentation'): a.btn-botleagues-login(href='#',title='Login') Login h3 Botleagues #messages diff --git a/src/js/BotleaguesCallback.js b/src/js/BotleaguesCallback.js index 3e7e512..ea837fd 100644 --- a/src/js/BotleaguesCallback.js +++ b/src/js/BotleaguesCallback.js @@ -39,7 +39,8 @@ BotleaguesCallback.login = function(data) { }); $.cookie(BotleaguesFrontend.cookie_login_user_id, data.user_token.userId); $.cookie(BotleaguesFrontend.cookie_login_token, data.user_token.token); - $.cookie(BotleaguesFrontend.cookie_login_valid_till, Date.parse(data.user_token.valid_till)); + $.cookie(BotleaguesFrontend.cookie_login_valid_till, + (new Date()).getTime() + Date.parse(data.user_token.valid_till) - Date.parse(data.user_token.updated_at)); } else { BotleaguesFrontend.error({ message: data.error ? data.error : "Could not login." diff --git a/src/js/main.js b/src/js/main.js new file mode 100644 index 0000000..04b5c6f --- /dev/null +++ b/src/js/main.js @@ -0,0 +1,16 @@ +$(document).ready(function(){ + + // Show profile link instead of login if user is logged in + var email = $.cookie(BotleaguesFrontend.cookie_login_email); + console.log(email); + if (typeof email != 'undefined' && $.cookie(BotleaguesFrontend.cookie_login_valid_till) > (new Date()).getTime()) { + $('#nav .login-link').remove(); + $('