##// END OF EJS Templates
Upgraded to Rails 2.3.4 (#3597)...
Upgraded to Rails 2.3.4 (#3597) * Ran the Rails upgrade * Upgraded to Rails Engines 2.3.2 * Added a plugin to let Engines override application views. * Converted tests to use the new classes: ** ActionController::TestCase for functional ** ActiveSupport::TestCase for units * Converted ActiveRecord::Error message to a string. * ActiveRecord grouping returns an ordered hash which doesn't have #sort! * Updated the I18n storage_units format. * Added some default initializers from a fresh rails app * Changed the order of check_box_tags and hidden_field_tags. The hidden tag needs to appear first in Rails 2.3, otherwise it will override any value in the check_box_tag. * Removed the custom handler for when the cookie store is tampered with. Rails 2.3 removed the TamperedWithCookie exception and instead Rails will not load the data from it when it's been tampered with (e.g. no user login). * Fixed mail layouts, 2.3 has problems with implicit multipart emails that use layouts. Also removed some custom Redmine mailer code. * Fixed a bug that occurred in tests where the "required" span tag would be added to the :field_status translation. This resulted in an email string of: <li>Status<span class="required"> *</span><span class="required"> *</span> Instead of: <li>Status: New</li> git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2887 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r2755:770745714544
r2773:7b0cb6aba871
Show More
users_controller.rb
125 lines | 4.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'
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}%"
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
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