ERROR_ACTIONS = [:render_error, :render_not_found]
+ prepend_before_filter :set_current_request_id, except: ERROR_ACTIONS
around_filter :thread_clear
around_filter :set_thread_api_token
# Methods that don't require login should
helper_method :user_notifications
def user_notifications
- return [] if @errors or not current_user.andand.is_active
+ return [] if @errors or not current_user.andand.is_active or not Rails.configuration.show_user_notifications_in_dashboard
@notifications ||= @@notification_tests.map do |t|
t.call(self, current_user)
end.compact
def recent_processes lim
lim = 12 if lim.nil?
- pipelines = PipelineInstance.limit(lim).order(["created_at desc"])
+ cols = %w(uuid owner_uuid created_at modified_at pipeline_template_uuid name state started_at finished_at)
+ pipelines = PipelineInstance.select(cols).limit(lim).order(["created_at desc"])
crs = ContainerRequest.limit(lim).order(["created_at desc"]).filter([["requesting_container_uuid", "=", nil]])
procs = {}
helper_method :recent_collections
def recent_collections lim
- c = Collection.limit(lim).order(["modified_at desc"]).filter([["owner_uuid", "is_a", "arvados#group"]])
+ c = Collection.limit(lim).order(["modified_at desc"]).results
own = {}
Group.filter([["uuid", "in", c.map(&:owner_uuid)]]).each do |g|
own[g[:uuid]] = g
def wiselinks_layout
'body'
end
+
+ def set_current_request_id
+ # Request ID format: '<timestamp>-<9_digits_random_number>'
+ current_request_id = "#{Time.new.to_i}-#{sprintf('%09d', rand(0..10**9-1))}"
+ Thread.current[:current_request_id] = current_request_id
+ end
end