Module: UsersHelper

Defined in:
app/helpers/users_helper.rb

Overview

redMine - project management software Copyright © 2006 Jean-Philippe Lang

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Instance Method Summary collapse

Instance Method Details



40
41
42
43
44
45
46
47
48
49
50
# File 'app/helpers/users_helper.rb', line 40

def change_status_link(user)
  url = {:controller => 'users', :action => 'update', :id => user, :page => params[:page], :status => params[:status], :tab => nil}
  
  if user.locked?
    link_to l(:button_unlock), url.merge(:user => {:status => User::STATUS_ACTIVE}), :method => :put, :class => 'icon icon-unlock'
  elsif user.registered?
    link_to l(:button_activate), url.merge(:user => {:status => User::STATUS_ACTIVE}), :method => :put, :class => 'icon icon-unlock'
  elsif user != User.current
    link_to l(:button_lock), url.merge(:user => {:status => User::STATUS_LOCKED}), :method => :put, :class => 'icon icon-lock'
  end
end

#options_for_membership_project_select(user, projects) ⇒ Object

Options for the new membership projects combo-box



28
29
30
31
32
33
34
# File 'app/helpers/users_helper.rb', line 28

def options_for_membership_project_select(user, projects)
  options = ('option', "--- #{l(:actionview_instancetag_blank_option)} ---")
  options << project_tree_options_for_select(projects) do |p|
    {:disabled => (user.projects.include?(p))}
  end
  options
end

#user_mail_notification_options(user) ⇒ Object



36
37
38
# File 'app/helpers/users_helper.rb', line 36

def user_mail_notification_options(user)
  user.valid_notification_options.collect {|o| [l(o.last), o.first]}
end

#user_settings_tabsObject



52
53
54
55
56
57
58
59
60
# File 'app/helpers/users_helper.rb', line 52

def 
  tabs = [{:name => 'general', :partial => 'users/general', :label => :label_general},
          {:name => 'memberships', :partial => 'users/memberships', :label => :label_project_plural}
          ]
  if Group.all.any?
    tabs.insert 1, {:name => 'groups', :partial => 'users/groups', :label => :label_group_plural}
  end
  tabs
end

#users_status_options_for_select(selected) ⇒ Object



19
20
21
22
23
24
25
# File 'app/helpers/users_helper.rb', line 19

def users_status_options_for_select(selected)
  user_count_by_status = User.count(:group => 'status').to_hash
  options_for_select([[l(:label_all), ''], 
                      ["#{l(:status_active)} (#{user_count_by_status[1].to_i})", 1],
                      ["#{l(:status_registered)} (#{user_count_by_status[2].to_i})", 2],
                      ["#{l(:status_locked)} (#{user_count_by_status[3].to_i})", 3]], selected)
end