aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2015-05-13 12:32:27 +0200
committerCamil Staps2015-05-13 12:32:27 +0200
commitf88789856be8a484bb1800a1b1695c2ac4b8a3b1 (patch)
tree3dd4bf80f70b4ff38f41059f1f32fe3471f260d4
parentReload page on successful login (diff)
Logout
-rw-r--r--src/include/layout-main.jade4
-rw-r--r--src/js/Botleagues.js5
-rw-r--r--src/js/BotleaguesFrontend.js11
-rw-r--r--src/js/main.js29
-rw-r--r--src/logout.jade11
5 files changed, 50 insertions, 10 deletions
diff --git a/src/include/layout-main.jade b/src/include/layout-main.jade
index 164a7b2..4b521a9 100644
--- a/src/include/layout-main.jade
+++ b/src/include/layout-main.jade
@@ -38,4 +38,6 @@ html(lang="en")
footer.footer: :markdown
© [ViviSoft](http://vivisoft.nl/) 2015
- include ./foot.jade \ No newline at end of file
+ include ./foot.jade
+
+ block js \ No newline at end of file
diff --git a/src/js/Botleagues.js b/src/js/Botleagues.js
index f11c995..21dd5d7 100644
--- a/src/js/Botleagues.js
+++ b/src/js/Botleagues.js
@@ -40,4 +40,9 @@ Botleagues.login = function(email, password) {
});
$.cookie(BotleaguesFrontend.cookie_login_email, email);
+};
+
+Botleagues.logout = function(){
+ BotleaguesFrontend.clearLoginCookies();
+ BotleaguesFrontend.redirect('/');
}; \ No newline at end of file
diff --git a/src/js/BotleaguesFrontend.js b/src/js/BotleaguesFrontend.js
index 752cd7a..b94708e 100644
--- a/src/js/BotleaguesFrontend.js
+++ b/src/js/BotleaguesFrontend.js
@@ -29,4 +29,15 @@ BotleaguesFrontend.error = function(user_options) {
BotleaguesFrontend.refresh = function() {
location.reload();
+};
+
+BotleaguesFrontend.redirect = function(location) {
+ window.location = location;
+}
+
+BotleaguesFrontend.clearLoginCookies = function() {
+ $.removeCookie(BotleaguesFrontend.cookie_login_email);
+ $.removeCookie(BotleaguesFrontend.cookie_login_user_id);
+ $.removeCookie(BotleaguesFrontend.cookie_login_token);
+ $.removeCookie(BotleaguesFrontend.cookie_login_valid_till);
}; \ No newline at end of file
diff --git a/src/js/main.js b/src/js/main.js
index d3ab688..4444273 100644
--- a/src/js/main.js
+++ b/src/js/main.js
@@ -3,13 +3,24 @@ $(document).ready(function(){
// Show profile link instead of login if user is logged in
var email = $.cookie(BotleaguesFrontend.cookie_login_email);
if (typeof email != 'undefined' && $.cookie(BotleaguesFrontend.cookie_login_valid_till) > (new Date()).getTime()) {
- $('#nav .login-link').remove();
- $('<li>').append(
- $('<a>')
- .attr('role', 'presentation')
- .attr('title', 'User profile')
- .attr('href', '/profile')
- .text(email))
- .appendTo($('#nav'));
+ setupLoginMenu(email);
}
-}); \ No newline at end of file
+});
+
+function setupLoginMenu(email) {
+ $('#nav .login-link').remove();
+ $('<li>').append(
+ $('<a>')
+ .attr('role', 'presentation')
+ .attr('title', 'User profile')
+ .attr('href', '/profile')
+ .text(email))
+ .appendTo($('#nav'));
+ $('<li>').append(
+ $('<a>')
+ .attr('role', 'presentation')
+ .attr('title', 'Logout')
+ .attr('href', '/logout')
+ .text('Logout'))
+ .appendTo($('#nav'));
+} \ No newline at end of file
diff --git a/src/logout.jade b/src/logout.jade
new file mode 100644
index 0000000..f94e608
--- /dev/null
+++ b/src/logout.jade
@@ -0,0 +1,11 @@
+extends ./include/layout-main.jade
+
+block menu
+ -var selected = '/logout'
+
+block content
+ p Login you out...
+
+block js
+ script(type='text/javascript')
+ |$(document).ready(function(){ Botleagues.logout(); }); \ No newline at end of file