During setup of an existing user, create oid login permission, if it does not already...
[arvados.git] / services / api / app / controllers / arvados / v1 / users_controller.rb
index b28db7cf5178390448fda541ff00589f4aa0de68..58661a0e9a3c970712eccc054b8d2e9060dc249e 100644 (file)
@@ -4,7 +4,7 @@ class Arvados::V1::UsersController < ApplicationController
   skip_before_filter :render_404_if_no_object, only:
     [:activate, :event_stream, :current, :system, :setup]
   before_filter :admin_required, only: [:setup, :unsetup]
-  
+
   def current
     @object = current_user
     show
@@ -29,7 +29,7 @@ class Arvados::V1::UsersController < ApplicationController
       end
     end
   end
-      
+
   def event_stream
     channel = current_user.andand.uuid
     if current_user.andand.is_admin
@@ -124,7 +124,8 @@ class Arvados::V1::UsersController < ApplicationController
     end
 
     if object_found
-      @response = @object.setup_repo_vm_links params[:repo_name], params[:vm_uuid]
+      @response = @object.setup_repo_vm_links params[:repo_name],
+                    params[:vm_uuid], params[:openid_prefix]
     else
       @response = User.setup @object, params[:openid_prefix],
                     params[:repo_name], params[:vm_uuid]
@@ -135,8 +136,8 @@ class Arvados::V1::UsersController < ApplicationController
 
   # delete user agreements, vm, repository, login links; set state to inactive
   def unsetup
-    @object = User.find_by_uuid params[:uuid]
-    @object = @object.unsetup
+    reload_object_before_update
+    @object.unsetup
     show
   end