From 82818197bc77cc5b8a4b36188d9e9d9614acc822 Mon Sep 17 00:00:00 2001 From: Nils Caspar Date: Sat, 19 Jul 2014 12:10:30 +0200 Subject: [PATCH 1/2] Fix redirection for non-root installations, fixes #51 --- config/routes.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/routes.rb b/config/routes.rb index 53fe6faf..125959a3 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -26,7 +26,7 @@ end end - root to: redirect('/login') + root to: redirect('login') # The priority is based upon order of creation: # first created -> highest priority. From dfb32e0370be4f5421500a8ab9e35876d80ae7ef Mon Sep 17 00:00:00 2001 From: Nils Caspar Date: Sat, 2 Aug 2014 21:35:41 +0200 Subject: [PATCH 2/2] Fix redirection for installations with custom root path, refs #58 --- app/assets/javascripts/casino/application.js | 9 +++++++++ app/assets/javascripts/casino/sessions.js | 3 +-- app/views/layouts/application.html.erb | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/casino/application.js b/app/assets/javascripts/casino/application.js index deb8738d..954bec4b 100644 --- a/app/assets/javascripts/casino/application.js +++ b/app/assets/javascripts/casino/application.js @@ -1 +1,10 @@ // Place all the behaviors and hooks related to the matching controller here. +(function(win) { + if(!win.CASino) { + win.CASino = { baseUrl: '/' }; + } + + win.CASino.url = function(path) { + return win.CASino.baseUrl + path; + } +})(this); diff --git a/app/assets/javascripts/casino/sessions.js b/app/assets/javascripts/casino/sessions.js index 7b257f86..bcee5e5e 100644 --- a/app/assets/javascripts/casino/sessions.js +++ b/app/assets/javascripts/casino/sessions.js @@ -1,5 +1,5 @@ (function(win, doc) { - var url = '/login', + var url = win.CASino.url('login'), cookie_regex = /(^|;)\s*tgt=/, ready_bound = false; @@ -8,7 +8,6 @@ service = serviceEl ? serviceEl.getAttribute('value') : null; if(cookie_regex.test(doc.cookie)) { - url = '/login'; if(service) { url += '?service=' + encodeURIComponent(service); } diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 7378a757..61c066ec 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -4,6 +4,7 @@ <%= CASino.config.frontend[:sso_name] %> <%= stylesheet_link_tag "application", :media => "all" %> + <%= javascript_tag "window.CASino = { baseUrl: '#{root_path}' };" %> <%= javascript_include_tag "application" %> <%= csrf_meta_tags %> <%= favicon_link_tag 'favicon.png', type: 'image/png' %>