##// END OF EJS Templates
Merged r2109, r2118, r2130, r2131, r2134, r2135, r2136 and r2139 to r2145 from trunk....
Merged r2109, r2118, r2130, r2131, r2134, r2135, r2136 and r2139 to r2145 from trunk. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/0.8-stable@2146 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r1943:d967507dcb20
r2144:7389b4bed0ca
Show More
users_controller.rb
104 lines | 3.9 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # redMine - project management software
# Copyright (C) 2006-2007 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.
class UsersController < ApplicationController
before_filter :require_admin
helper :sort
include SortHelper
helper :custom_fields
include CustomFieldsHelper
Jean-Philippe Lang
v0.2.0...
r5
def index
list
Jean-Philippe Lang
ajaxified paginators...
r31 render :action => 'list' unless request.xhr?
Jean-Philippe Lang
v0.2.0...
r5 end
Jean-Philippe Lang
Initial commit...
r2
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def list
sort_init 'login', 'asc'
sort_update
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}%"
c << ["LOWER(login) LIKE ? OR LOWER(firstname) LIKE ? OR LOWER(lastname) LIKE ?", name, name, name]
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
ajaxified paginators...
r31 render :action => "list", :layout => false if request.xhr?
Jean-Philippe Lang
v0.2.0...
r5 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
v0.2.0...
r5 redirect_to :action => 'list'
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
v0.2.0...
r5 if @user.update_attributes(params[:user])
Jean-Philippe Lang
notice messages translation...
r15 flash[:notice] = l(:notice_successful_update)
Jean-Philippe Lang
Preserve status filter and page number when using lock/unlock/activate links on the users list (closes #998)....
r1319 # Give a string to redirect_to otherwise it would use status param as the response code
redirect_to(url_for(:action => 'list', :status => params[:status], :page => params[:page]))
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)
Jean-Philippe Lang
Merged 0.6 branch into trunk....
r663 @roles = Role.find_all_givable
Jean-Philippe Lang
Added the ability to archive projects:...
r546 @projects = Project.find(:all, :order => 'name', :conditions => "status=#{Project::STATUS_ACTIVE}") - @user.projects
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @membership ||= Member.new
Jean-Philippe Lang
Split user edit screen into tabs....
r1389 @memberships = @user.memberships
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
def edit_membership
@user = User.find(params[:id])
@membership = params[:membership_id] ? Member.find(params[:membership_id]) : Member.new(:user => @user)
@membership.attributes = params[:membership]
Jean-Philippe Lang
Split user edit screen into tabs....
r1389 @membership.save if request.post?
redirect_to :action => 'edit', :id => @user, :tab => 'memberships'
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
Split user edit screen into tabs....
r1389 Member.find(params[:membership_id]).destroy if request.post?
redirect_to :action => 'edit', :id => @user, :tab => 'memberships'
Jean-Philippe Lang
v0.2.0...
r5 end
Jean-Philippe Lang
Initial commit...
r2 end