move queue and system user logic out of dispatch_jobs
[arvados.git] / services / api / app / helpers / application_helper.rb
index d4cc4ec92dc37929fcde6929824b049aab66a960..385477562dd948fb4dbc4761ea79f03a4438f6e2 100644 (file)
@@ -2,4 +2,24 @@ module ApplicationHelper
   def current_user
     controller.current_user
   end
+
+  def act_as_system_user
+    if not $system_user
+      Thread.current[:user] = User.new(is_admin: true)
+      sysuser_id = [Server::Application.config.uuid_prefix,
+                    User.uuid_prefix,
+                    '000000000000000'].join('-')
+      $system_user = User.where('uuid=?', sysuser_id).first
+      if !$system_user
+        $system_user = User.new(uuid: sysuser_id,
+                                is_admin: true,
+                                email: 'root',
+                                first_name: 'root',
+                                last_name: '')
+        $system_user.save!
+        $system_user.reload
+      end
+    end
+    Thread.current[:user] = $system_user
+  end
 end