Module: SwitchUserHelper

Defined in:
app/helpers/switch_user_helper.rb

Defined Under Namespace

Classes: SelectOption

Instance Method Summary collapse

Instance Method Details

#switch_user_selectObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/helpers/switch_user_helper.rb', line 3

def switch_user_select
  return unless available?
  options = []
  selected_user = nil

  options << SelectOption.new("Guest", "") if SwitchUser.helper_with_guest
  SwitchUser.available_users.each do |scope, user_proc|
    current_user = provider.current_user(scope)
    id_name = SwitchUser.available_users_identifiers[scope]
    name = SwitchUser.available_users_names[scope]

    user_proc.call.each do |user|
      if user == current_user
        selected_user = tag_value(user, id_name, scope)
      end
      options << SelectOption.new(tag_label(user, name), tag_value(user, id_name, scope))
    end
  end

  render :partial => "switch_user/widget",
         :locals => {
           :options => options,
           :current_scope => selected_user
         }
end