From: Misha Zatsman Date: Tue, 22 Apr 2014 23:00:00 +0000 (+0000) Subject: Have a new view showing users at /users/storage. No storage info yet, but it's a... X-Git-Tag: 1.1.0~2690^2~9 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/0e7a1577b51111a9d503f21d40582da62c2dd7b9 Have a new view showing users at /users/storage. No storage info yet, but it's a start. --- diff --git a/apps/workbench/app/controllers/users_controller.rb b/apps/workbench/app/controllers/users_controller.rb index 3077c2f6d3..cf61c4bb22 100644 --- a/apps/workbench/app/controllers/users_controller.rb +++ b/apps/workbench/app/controllers/users_controller.rb @@ -1,5 +1,5 @@ class UsersController < ApplicationController - skip_before_filter :find_object_by_uuid, :only => [:welcome, :activity] + skip_before_filter :find_object_by_uuid, :only => [:welcome, :activity, :storage] skip_around_filter :thread_with_mandatory_api_token, :only => :welcome before_filter :ensure_current_user_is_admin, only: [:sudo, :unsetup, :setup] @@ -63,6 +63,11 @@ class UsersController < ApplicationController @users = [OpenStruct.new(uuid: nil)] + @users end + def storage + @breadcrumb_page_name = nil + @users = User.limit(params[:limit] || 1000).all + end + def show_pane_list if current_user.andand.is_admin super | %w(Admin) diff --git a/apps/workbench/app/views/users/storage.html.erb b/apps/workbench/app/views/users/storage.html.erb new file mode 100644 index 0000000000..ffa67003cd --- /dev/null +++ b/apps/workbench/app/views/users/storage.html.erb @@ -0,0 +1,55 @@ +<% content_for :css do %> +table#users-storage-table th { + overflow-x: hidden; +} +table#users-storage-table .cell-for-span-This-month, +table#users-storage-table .cell-for-span-Last-month { + background: #eee; +} +<% end %> + + + + + + + + + + + + <% 2.times do %> + + + <% end %> + + + <% @users.each do |user| %> + + + + <% end %> +
User + Collections Read Size + + Collections Persisted Storage +
+ Total (unweighted) + + Shared (weighted) +
+ + <% if user.uuid %> + <%= link_to_if_arvados_object user, friendly_name: true %> + <% else %> + Total + <% end %> + +
+ +<% content_for :footer_js do %> +$('#users-storage-table td small').each(function(){ + if ($(this).html().trim() == '0') + $(this).css('opacity', '0.3'); +}); +<% end %> diff --git a/apps/workbench/config/routes.rb b/apps/workbench/config/routes.rb index 8c8923889d..9890ce47b2 100644 --- a/apps/workbench/config/routes.rb +++ b/apps/workbench/config/routes.rb @@ -24,6 +24,7 @@ ArvadosWorkbench::Application.routes.draw do get 'home', :on => :member get 'welcome', :on => :collection get 'activity', :on => :collection + get 'storage', :on => :collection post 'sudo', :on => :member post 'unsetup', :on => :member get 'setup_popup', :on => :member