12033: Ensure current Rails login is always in sessions list.
[arvados.git] / apps / workbench / app / controllers / sessions_controller.rb
index 488c67c3c2e8b51cfb8990b9148d7b3b4d0a7f13..48fbc6bd04a708326d2dfe0f01afd5ae5383c12f 100644 (file)
@@ -1,12 +1,24 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class SessionsController < ApplicationController
-  skip_around_filter :thread_with_mandatory_api_token, :only => [:destroy, :index]
-  skip_around_filter :thread_with_optional_api_token, :only => [:destroy, :index]
-  skip_before_filter :find_object_by_uuid, :only => [:destroy, :index]
+  skip_around_filter :require_thread_api_token, :only => [:destroy, :logged_out]
+  skip_around_filter :set_thread_api_token, :only => [:destroy, :logged_out]
+  skip_before_filter :find_object_by_uuid
+  skip_before_filter :find_objects_for_index
+  skip_before_filter :ensure_arvados_api_exists
+
   def destroy
     session.clear
-    redirect_to $arvados_api_client.arvados_logout_url(return_to: root_url)
+    redirect_to arvados_api_client.arvados_logout_url(return_to: root_url)
   end
-  def index
+
+  def logged_out
     redirect_to root_url if session[:arvados_api_token]
+    render_index
+  end
+
+  def index
   end
 end