class UsersController < ApplicationController
- skip_before_filter :find_object_by_uuid, :only => [:welcome, :activity, :storage]
+ skip_around_filter :require_thread_api_token, only: :welcome
+ skip_before_filter :check_user_agreements, only: [:welcome, :inactive]
+ skip_before_filter :check_user_profile, only: [:welcome, :inactive, :profile]
+ skip_before_filter :find_object_by_uuid, only: [:welcome, :activity, :storage]
before_filter :ensure_current_user_is_admin, only: [:sudo, :unsetup, :setup]
+ def show
+ if params[:uuid] == current_user.uuid
+ respond_to do |f|
+ f.html do
+ redirect_to(params[:return_to] || project_path(params[:uuid]))
+ end
+ end
+ else
+ super
+ end
+ end
+
def welcome
if current_user
- params[:action] = 'home'
- home
+ redirect_to (params[:return_to] || '/')
+ end
+ end
+
+ def inactive
+ if current_user.andand.is_invited
+ redirect_to (params[:return_to] || '/')
end
end
+ def profile
+ params[:offer_return_to] ||= params[:return_to]
+ end
+
def activity
@breadcrumb_page_name = nil
@users = User.limit(params[:limit] || 1000).all
def manage_account
# repositories current user can read / write
repo_links = []
- Link.where(tail_uuid: current_user.uuid,
- link_class: 'permission',
- name: ['can_write', 'can_read']).
+ Link.filter([['head_uuid', 'is_a', 'arvados#repository'],
+ ['tail_uuid', '=', current_user.uuid],
+ ['link_class', '=', 'permission'],
+ ['name', 'in', ['can_write', 'can_read']],
+ ]).
each do |perm_link|
repo_links << perm_link[:head_uuid]
end
key_params['authorized_user_uuid'] = current_user.uuid
if params['name'] && params['name'].size>0
- key_params['name'] = params['name']
+ key_params['name'] = params['name'].strip
end
if params['public_key'] && params['public_key'].size>0
- key_params['public_key'] = params['public_key']
+ key_params['public_key'] = params['public_key'].strip
+ end
+
+ if !key_params['name'] && params['public_key'].andand.size>0
+ split_key = key_params['public_key'].split
+ key_params['name'] = split_key[-1] if (split_key.size == 3)
end
new_key = AuthorizedKey.create! key_params