##// END OF EJS Templates
Do not store query object in session but id or filters only. This allows to use Rails 2.0 cookie based sessions....
Do not store query object in session but id or filters only. This allows to use Rails 2.0 cookie based sessions. git-svn-id: http://redmine.rubyforge.org/svn/trunk@1027 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r1013:9a1b46fe4287
r1014:5bc7dc77e24a
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
@status = params[:status] ? params[:status].to_i : 1
conditions = nil
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