##// END OF EJS Templates
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once. There are 2 ways to select a set of issues on the issue list: * by using checkbox and/or the little pencil that will select/unselect all issues (#567) * by clicking on the rows (but not on the links), Ctrl and Shift keys can be used to select multiple issues Context menu was disabled on links so that the default context menu of the browser is displayed when right-clicking on a link (#545). All this was tested with Firefox 2, IE 6/7, Opera 8 (use Alt+Click instead of Right-click) and Safari 2/3. git-svn-id: http://redmine.rubyforge.org/svn/trunk@1130 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r1104:4e244be21cc1
r1116:4155c97222ce
Show More
users_controller.rb
112 lines | 4.6 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
layout 'base'
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
conditions = "status <> 0"
Jean-Philippe Lang
added a status filter on users/list...
r344 conditions = ["status=?", @status] unless @status == 0
@user_count = User.count(:conditions => 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
added a status filter on users/list...
r344 :conditions => 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
Custom fields can now be reordered....
r888 @custom_values = UserCustomField.find(:all, :order => "#{CustomField.table_name}.position").collect { |x| CustomValue.new(:custom_field => x, :customized => @user) }
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
Custom fields can now be reordered....
r888 @custom_values = UserCustomField.find(:all, :order => "#{CustomField.table_name}.position").collect { |x| CustomValue.new(:custom_field => x, :customized => @user, :value => (params[:custom_fields] ? params["custom_fields"][x.id.to_s] : nil)) }
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @user.custom_values = @custom_values
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
added svn:eol-style native property on /app files...
r330 if request.get?
Jean-Philippe Lang
Custom fields can now be reordered....
r888 @custom_values = UserCustomField.find(:all, :order => "#{CustomField.table_name}.position").collect { |x| @user.custom_values.find_by_custom_field_id(x.id) || CustomValue.new(:custom_field => x) }
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 else
@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
if params[:custom_fields]
Jean-Philippe Lang
Custom fields can now be reordered....
r888 @custom_values = UserCustomField.find(:all, :order => "#{CustomField.table_name}.position").collect { |x| CustomValue.new(:custom_field => x, :customized => @user, :value => params["custom_fields"][x.id.to_s]) }
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @user.custom_values = @custom_values
end
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
v0.2.0...
r5 redirect_to :action => 'list'
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
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]
if request.post? and @membership.save
flash[:notice] = l(:notice_successful_update)
end
redirect_to :action => 'edit', :id => @user and return
end
def destroy_membership
@user = User.find(params[:id])
if request.post? and Member.find(params[:membership_id]).destroy
flash[:notice] = l(:notice_successful_update)
end
redirect_to :action => 'edit', :id => @user and return
Jean-Philippe Lang
v0.2.0...
r5 end
Jean-Philippe Lang
Initial commit...
r2 end