projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix patch_paging_vars args.
[arvados.git]
/
apps
/
workbench
/
app
/
controllers
/
users_controller.rb
diff --git
a/apps/workbench/app/controllers/users_controller.rb
b/apps/workbench/app/controllers/users_controller.rb
index 53f3d3912f59dcaed0bfd46738def408502cf444..8a3d35aaf0eade15bf9545410447ec1e1b8d273e 100644
(file)
--- a/
apps/workbench/app/controllers/users_controller.rb
+++ b/
apps/workbench/app/controllers/users_controller.rb
@@
-67,6
+67,7
@@
class UsersController < ApplicationController
@breadcrumb_page_name = nil
@users = User.limit(params[:limit] || 1000).all
@user_storage = {}
@breadcrumb_page_name = nil
@users = User.limit(params[:limit] || 1000).all
@user_storage = {}
+ total_storage = {}
@log_date = {}
@users.each do |u|
@user_storage[u.uuid] ||= {}
@log_date = {}
@users.each do |u|
@user_storage[u.uuid] ||= {}
@@
-76,12
+77,17
@@
class UsersController < ApplicationController
order(:created_at => :desc).
limit(1)
storage_log.each do |log_entry|
order(:created_at => :desc).
limit(1)
storage_log.each do |log_entry|
+ # We expect this block to only execute once since we specified limit(1)
@user_storage[u.uuid] = log_entry['properties']
@log_date[u.uuid] = log_entry['event_at']
end
@user_storage[u.uuid] = log_entry['properties']
@log_date[u.uuid] = log_entry['event_at']
end
+ total_storage.merge!(@user_storage[u.uuid]) { |k,v1,v2| v1 + v2 }
end
@users = @users.sort_by { |u|
[-@user_storage[u.uuid].values.push(0).inject(:+), u.full_name]}
end
@users = @users.sort_by { |u|
[-@user_storage[u.uuid].values.push(0).inject(:+), u.full_name]}
+ # Prepend a "Total" pseudo-user to the sorted list
+ @users = [OpenStruct.new(uuid: nil)] + @users
+ @user_storage[nil] = total_storage
end
def show_pane_list
end
def show_pane_list