Fix 404 at api_client_authorizations.create_system_auth and add tests.
[arvados.git] / services / api / app / controllers / arvados / v1 / users_controller.rb
index 441db9947e88480f5bc4de3968f889164601302b..133df0f62c17125ead845cbb64331b3cb79290a2 100644 (file)
@@ -1,4 +1,9 @@
 class Arvados::V1::UsersController < ApplicationController
+  skip_before_filter :find_object_by_uuid, only:
+    [:activate, :event_stream, :current, :system]
+  skip_before_filter :render_404_if_no_object, only:
+    [:activate, :event_stream, :current, :system]
+
   def current
     @object = current_user
     show
@@ -75,7 +80,7 @@ class Arvados::V1::UsersController < ApplicationController
         else
           logger.warn "User #{@object.uuid} called users.activate " +
             "before signing agreements #{todo_uuids.inspect}"
-          raise ArgumentError.new \
+          raise ArvadosModel::PermissionDeniedError.new \
           "Cannot activate without user agreements #{todo_uuids.inspect}."
         end
       end