##// END OF EJS Templates
By default, only show statuses that are used by the tracker on the workflow edit view....
By default, only show statuses that are used by the tracker on the workflow edit view. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3188 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r3070:0e4525d76caf
r3074:6bf0723d0654
Show More
users_controller.rb
144 lines | 5.6 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
AccountController#show (/account/show/:id) moved to UsersController#show (/users/:id)....
r2874 # Redmine - project management software
# Copyright (C) 2006-2009 Jean-Philippe Lang
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 #
# 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.
class UsersController < ApplicationController
Jean-Philippe Lang
Adds an admin layout that displays the admin menu in the sidebar....
r3062 layout 'admin'
Jean-Philippe Lang
AccountController#show (/account/show/:id) moved to UsersController#show (/users/:id)....
r2874 before_filter :require_admin, :except => :show
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330
helper :sort
include SortHelper
helper :custom_fields
include CustomFieldsHelper
Jean-Philippe Lang
v0.2.0...
r5
def index
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 sort_init 'login', 'asc'
Jean-Philippe Lang
Validates sort_key and sort_order params (#2378)....
r2169 sort_update %w(login firstname lastname mail admin created_on last_login_on)
Jean-Philippe Lang
added a status filter on users/list...
r344
Jean-Philippe Lang
Slight changes on users list view and hide Anonymous user....
r1104 @status = params[:status] ? params[:status].to_i : 1
Jean-Philippe Lang
Adds the ability to search for a user on the administration users list....
r1943 c = ARCondition.new(@status == 0 ? "status <> 0" : ["status = ?", @status])
unless params[:name].blank?
name = "%#{params[:name].strip.downcase}%"
Jean-Philippe Lang
Add mail field to admin user search filter (#3882)....
r2849 c << ["LOWER(login) LIKE ? OR LOWER(firstname) LIKE ? OR LOWER(lastname) LIKE ? OR LOWER(mail) LIKE ?", name, name, name, name]
Jean-Philippe Lang
Adds the ability to search for a user on the administration users list....
r1943 end
Jean-Philippe Lang
added a status filter on users/list...
r344
Jean-Philippe Lang
Adds the ability to search for a user on the administration users list....
r1943 @user_count = User.count(:conditions => c.conditions)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @user_pages = Paginator.new self, @user_count,
Jean-Philippe Lang
New setting added to specify how many objects should be displayed on most paginated lists....
r1013 per_page_option,
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 params['page']
@users = User.find :all,:order => sort_clause,
Jean-Philippe Lang
Adds the ability to search for a user on the administration users list....
r1943 :conditions => c.conditions,
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 :limit => @user_pages.items_per_page,
:offset => @user_pages.current.offset
Jean-Philippe Lang
Unified UsersController#list and #index....
r2877 render :layout => !request.xhr?
Jean-Philippe Lang
v0.2.0...
r5 end
Jean-Philippe Lang
AccountController#show (/account/show/:id) moved to UsersController#show (/users/:id)....
r2874
def show
@user = User.active.find(params[:id])
@custom_values = @user.custom_values
# show only public projects and private projects that the logged in user is also a member of
@memberships = @user.memberships.select do |membership|
membership.project.is_public? || (User.current.member_of?(membership.project))
end
events = Redmine::Activity::Fetcher.new(User.current, :author => @user).events(nil, nil, :limit => 10)
@events_by_day = events.group_by(&:event_date)
if @user != User.current && !User.current.admin? && @memberships.empty? && events.empty?
Jean-Philippe Lang
Fixes test broken by r3176 (#4439)....
r3070 render_404
return
Jean-Philippe Lang
AccountController#show (/account/show/:id) moved to UsersController#show (/users/:id)....
r2874 end
Jean-Philippe Lang
Adds an admin layout that displays the admin menu in the sidebar....
r3062 render :layout => 'base'
Jean-Philippe Lang
AccountController#show (/account/show/:id) moved to UsersController#show (/users/:id)....
r2874 rescue ActiveRecord::RecordNotFound
render_404
end
Jean-Philippe Lang
Initial commit...
r2
Jean-Philippe Lang
v0.2.0...
r5 def add
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 if request.get?
@user = User.new(:language => Setting.default_language)
Jean-Philippe Lang
v0.2.0...
r5 else
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @user = User.new(params[:user])
@user.admin = params[:user][:admin] || false
@user.login = params[:user][:login]
@user.password, @user.password_confirmation = params[:password], params[:password_confirmation] unless @user.auth_source_id
Jean-Philippe Lang
v0.2.0...
r5 if @user.save
Jean-Philippe Lang
Account information can now be sent to the user when creating an account....
r543 Mailer.deliver_account_information(@user, params[:password]) if params[:send_information]
Jean-Philippe Lang
notice messages translation...
r15 flash[:notice] = l(:notice_successful_create)
Jean-Philippe Lang
User groups branch merged....
r2755 redirect_to :controller => 'users', :action => 'edit', :id => @user
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
end
Jean-Philippe Lang
* new report: project activity...
r42 @auth_sources = AuthSource.find(:all)
Jean-Philippe Lang
v0.2.0...
r5 end
Jean-Philippe Lang
Initial commit...
r2
Jean-Philippe Lang
v0.2.0...
r5 def edit
@user = User.find(params[:id])
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 if request.post?
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @user.admin = params[:user][:admin] if params[:user][:admin]
@user.login = params[:user][:login] if params[:user][:login]
@user.password, @user.password_confirmation = params[:password], params[:password_confirmation] unless params[:password].nil? or params[:password].empty? or @user.auth_source_id
Jean-Philippe Lang
User groups branch merged....
r2755 @user.group_ids = params[:user][:group_ids] if params[:user][:group_ids]
Jean-Philippe Lang
Send an email to the user when an administrator activates a registered user (#2656)....
r2422 @user.attributes = params[:user]
# Was the account actived ? (do it before User#save clears the change)
was_activated = (@user.status_change == [User::STATUS_REGISTERED, User::STATUS_ACTIVE])
if @user.save
Jean-Philippe Lang
Ability to send an email with password when changing a user's password (#3566)....
r2708 if was_activated
Mailer.deliver_account_activated(@user)
elsif @user.active? && params[:send_information] && !params[:password].blank? && @user.auth_source_id.nil?
Mailer.deliver_account_information(@user, params[:password])
end
Jean-Philippe Lang
notice messages translation...
r15 flash[:notice] = l(:notice_successful_update)
Jean-Philippe Lang
User groups branch merged....
r2755 redirect_to :back
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
v0.2.0...
r5 end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @auth_sources = AuthSource.find(:all)
@membership ||= Member.new
Jean-Philippe Lang
User groups branch merged....
r2755 rescue ::ActionController::RedirectBackError
redirect_to :controller => 'users', :action => 'edit', :id => @user
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
def edit_membership
@user = User.find(params[:id])
Jean-Philippe Lang
User groups branch merged....
r2755 @membership = params[:membership_id] ? Member.find(params[:membership_id]) : Member.new(:principal => @user)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @membership.attributes = params[:membership]
Jean-Philippe Lang
Split user edit screen into tabs....
r1389 @membership.save if request.post?
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 respond_to do |format|
format.html { redirect_to :controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships' }
format.js {
render(:update) {|page|
page.replace_html "tab-content-memberships", :partial => 'users/memberships'
page.visual_effect(:highlight, "member-#{@membership.id}")
}
}
end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
def destroy_membership
@user = User.find(params[:id])
Jean-Philippe Lang
User groups branch merged....
r2755 @membership = Member.find(params[:membership_id])
if request.post? && @membership.deletable?
@membership.destroy
end
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 respond_to do |format|
format.html { redirect_to :controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships' }
format.js { render(:update) {|page| page.replace_html "tab-content-memberships", :partial => 'users/memberships'} }
end
Jean-Philippe Lang
v0.2.0...
r5 end
Jean-Philippe Lang
Initial commit...
r2 end