Merge branch '19954-permission-dedup-doc'
[arvados.git] / apps / workbench / app / models / arvados_api_client.rb
index 47fcc4ce51ffe1aafb288453b9d9c6a0b777bd0d..2abcf49e5742a0fb5a9c7d15a16291787fc7498e 100644 (file)
@@ -235,17 +235,37 @@ class ArvadosApiClient
   end
 
   def arvados_login_url(params={})
-    uri = URI.parse(Rails.configuration.Services.Controller.ExternalURL.to_s)
     if Rails.configuration.testing_override_login_url
       uri = URI(Rails.configuration.testing_override_login_url)
+      uri.path = "/login"
+      uri.query = URI.encode_www_form(params)
+      return uri.to_s
+    end
+
+    case
+    when Rails.configuration.Login.PAM.Enable,
+         Rails.configuration.Login.LDAP.Enable,
+         Rails.configuration.Login.Test.Enable
+
+      uri = URI.parse(Rails.configuration.Services.Workbench1.ExternalURL.to_s)
+      uri.path = "/users/welcome"
+      uri.query = URI.encode_www_form(params)
+    else
+      uri = URI.parse(Rails.configuration.Services.Controller.ExternalURL.to_s)
+      uri.path = "/login"
+      uri.query = URI.encode_www_form(params)
     end
-    uri.path = "/login"
-    uri.query = URI.encode_www_form(params)
     uri.to_s
   end
 
   def arvados_logout_url(params={})
-    arvados_login_url(params).sub('/login','/logout')
+    uri = URI.parse(Rails.configuration.Services.Controller.ExternalURL.to_s)
+    if Rails.configuration.testing_override_login_url
+      uri = URI(Rails.configuration.testing_override_login_url)
+    end
+    uri.path = "/logout"
+    uri.query = URI.encode_www_form(params)
+    uri.to_s
   end
 
   def arvados_v1_base