From 1e1668f98afd04e2da7c779a825e6d28e777fec7 Mon Sep 17 00:00:00 2001 From: NavaL Date: Thu, 25 Feb 2016 09:16:28 +0100 Subject: changed logout to post Issue #612 --- web-ui/app/js/helpers/browser.js | 2 +- web-ui/app/js/page/logout.js | 13 +++++++++++-- web-ui/app/scss/_styles.scss | 1 + web-ui/app/templates/page/logout.hbs | 7 ++++--- 4 files changed, 17 insertions(+), 6 deletions(-) (limited to 'web-ui/app') diff --git a/web-ui/app/js/helpers/browser.js b/web-ui/app/js/helpers/browser.js index 23aa79c8..dacf2263 100644 --- a/web-ui/app/js/helpers/browser.js +++ b/web-ui/app/js/helpers/browser.js @@ -26,7 +26,7 @@ define([], function () { function getCookie(name) { var value = '; ' + document.cookie; var parts = value.split('; ' + name + '='); - if (parts.length === 2) return parts.pop().split(';').shift(); + if (parts.length === 2) { return parts.pop().split(';').shift(); } } return { diff --git a/web-ui/app/js/page/logout.js b/web-ui/app/js/page/logout.js index d881f6c2..81b57db2 100644 --- a/web-ui/app/js/page/logout.js +++ b/web-ui/app/js/page/logout.js @@ -14,19 +14,28 @@ * You should have received a copy of the GNU Affero General Public License * along with Pixelated. If not, see . */ -define(['flight/lib/component', 'features', 'views/templates'], function (defineComponent, features, templates) { +define(['flight/lib/component', 'features', 'views/templates', 'helpers/browser'], + function (defineComponent, features, templates, browser) { 'use strict'; return defineComponent(function () { + this.defaultAttrs({form: '#logout-form'}); + this.render = function () { - var logoutHTML = templates.page.logout({ logout_url: features.getLogoutUrl() }); + var logoutHTML = templates.page.logout({ logout_url: features.getLogoutUrl(), + csrf_token: browser.getCookie('XSRF-TOKEN')}); this.$node.html(logoutHTML); }; + this.logout = function(){ + this.select('form').submit(); + }; + this.after('initialize', function () { if (features.isLogoutEnabled()) { this.render(); + this.on(this.$node, 'click', this.logout); } }); diff --git a/web-ui/app/scss/_styles.scss b/web-ui/app/scss/_styles.scss index a7d6dedf..63f15f6a 100644 --- a/web-ui/app/scss/_styles.scss +++ b/web-ui/app/scss/_styles.scss @@ -8,6 +8,7 @@ #logout { color: $white; + cursor: pointer; } .search-highlight { diff --git a/web-ui/app/templates/page/logout.hbs b/web-ui/app/templates/page/logout.hbs index dd931274..3768d24f 100644 --- a/web-ui/app/templates/page/logout.hbs +++ b/web-ui/app/templates/page/logout.hbs @@ -1,8 +1,9 @@ -- cgit v1.2.3