Module: UserSwitch::Panel

Defined in:
lib/user_switch/extension.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



5
6
7
# File 'lib/user_switch/extension.rb', line 5

def self.included(base)
  base.after_filter :user_switch_output, :if => lambda { response.content_type == "text/html" && !(!!request.xhr?) }
end

Instance Method Details

#user_switch_outputObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/user_switch/extension.rb', line 9

def user_switch_output
  # self.
  self.response.body += "<link href='#{Rails.application.config.assets.prefix}/user_switch.css' media='all' rel='stylesheet' type='text/css' />"
  self.response.body += "<div class='user-switch-panel'><div class='icon'></div><div class='detail'><b>User Switch</b><hr>"
  UserSwitch.available_users.each do |scope,proc|
    self.response.body += "#{scope}: <form action='/user_switch/#{scope}' method='post'><select name='resource_id'>"
    users = proc[]
    users.each do |user|
      self.response.body += "<option value='#{user.id}'>" + (user.name||user.email) + "</option>"
    end
    self.response.body += "</select><input type='submit' value='switch'/></form><br>"
  end
  self.response.body += "
                        </div></div>"
end