comparison app/controllers/users_controller.rb @ 1298:4f746d8966dd redmine_2.3_integration

Merge from redmine-2.3 branch to create new branch redmine-2.3-integration
author Chris Cannam
date Fri, 14 Jun 2013 09:28:30 +0100
parents 96790506f247 622f24f53b42
children
comparison
equal deleted inserted replaced
1297:0a574315af3e 1298:4f746d8966dd
1 # Redmine - project management software 1 # Redmine - project management software
2 # Copyright (C) 2006-2012 Jean-Philippe Lang 2 # Copyright (C) 2006-2013 Jean-Philippe Lang
3 # 3 #
4 # This program is free software; you can redistribute it and/or 4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License 5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2 6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version. 7 # of the License, or (at your option) any later version.
43 scope = User.logged.status(@status) 43 scope = User.logged.status(@status)
44 scope = scope.like(params[:name]) if params[:name].present? 44 scope = scope.like(params[:name]) if params[:name].present?
45 scope = scope.in_group(params[:group_id]) if params[:group_id].present? 45 scope = scope.in_group(params[:group_id]) if params[:group_id].present?
46 46
47 @user_count = scope.count 47 @user_count = scope.count
48 @user_pages = Paginator.new self, @user_count, @limit, params['page'] 48 @user_pages = Paginator.new @user_count, @limit, params['page']
49 @offset ||= @user_pages.current.offset 49 @offset ||= @user_pages.offset
50 @users = scope.find :all, 50 @users = scope.order(sort_clause).limit(@limit).offset(@offset).all
51 :order => sort_clause,
52 :limit => @limit,
53 :offset => @offset
54 51
55 respond_to do |format| 52 respond_to do |format|
56 format.html { 53 format.html {
57 @groups = Group.all.sort 54 @groups = Group.all.sort
58 render :layout => !request.xhr? 55 render :layout => !request.xhr?
59 } 56 }
60 format.api 57 format.api
61 end 58 end
62 end 59 end
63 60
64 def show 61 def show
65 62
66 if @user.ssamr_user_detail != nil 63 if @user.ssamr_user_detail != nil
87 end 84 end
88 end 85 end
89 86
90 def new 87 def new
91 @user = User.new(:language => Setting.default_language, :mail_notification => Setting.default_notification_option) 88 @user = User.new(:language => Setting.default_language, :mail_notification => Setting.default_notification_option)
92 @auth_sources = AuthSource.find(:all) 89 @auth_sources = AuthSource.all
93 90
94 @ssamr_user_details = SsamrUserDetail.new 91 @ssamr_user_details = SsamrUserDetail.new
95 end 92 end
96 93
97 def create 94 def create
122 Mailer.account_information(@user, params[:user][:password]).deliver if params[:send_information] 119 Mailer.account_information(@user, params[:user][:password]).deliver if params[:send_information]
123 120
124 respond_to do |format| 121 respond_to do |format|
125 format.html { 122 format.html {
126 flash[:notice] = l(:notice_user_successful_create, :id => view_context.link_to(@user.login, user_path(@user))) 123 flash[:notice] = l(:notice_user_successful_create, :id => view_context.link_to(@user.login, user_path(@user)))
127 redirect_to(params[:continue] ? 124 if params[:continue]
128 {:controller => 'users', :action => 'new'} : 125 redirect_to new_user_path
129 {:controller => 'users', :action => 'edit', :id => @user} 126 else
130 ) 127 redirect_to edit_user_path(@user)
128 end
131 } 129 }
132 format.api { render :action => 'show', :status => :created, :location => user_url(@user) } 130 format.api { render :action => 'show', :status => :created, :location => user_url(@user) }
133 end 131 end
134 else 132 else
135 @auth_sources = AuthSource.find(:all) 133 @auth_sources = AuthSource.all
136 # Clear password input 134 # Clear password input
137 @user.password = @user.password_confirmation = nil 135 @user.password = @user.password_confirmation = nil
138 136
139 respond_to do |format| 137 respond_to do |format|
140 format.html { render :action => 'new' } 138 format.html { render :action => 'new' }
142 end 140 end
143 end 141 end
144 end 142 end
145 143
146 def edit 144 def edit
147 145 @auth_sources = AuthSource.all
148 @ssamr_user_details = @user.ssamr_user_detail 146 @ssamr_user_details = @user.ssamr_user_detail
149 147
150 if @user.ssamr_user_detail == nil 148 if @user.ssamr_user_detail == nil
151 @selected_institution_id = nil 149 @selected_institution_id = nil
152 else 150 else
153 @selected_institution_id = @user.ssamr_user_detail.institution_id.to_i 151 @selected_institution_id = @user.ssamr_user_detail.institution_id.to_i
154 end 152 end
155 153
156 @auth_sources = AuthSource.find(:all)
157 @membership ||= Member.new 154 @membership ||= Member.new
158 end 155 end
159 156
160 def update 157 def update
161 @user.admin = params[:user][:admin] if params[:user][:admin] 158 @user.admin = params[:user][:admin] if params[:user][:admin]
206 redirect_to_referer_or edit_user_path(@user) 203 redirect_to_referer_or edit_user_path(@user)
207 } 204 }
208 format.api { render_api_ok } 205 format.api { render_api_ok }
209 end 206 end
210 else 207 else
211 @auth_sources = AuthSource.find(:all) 208 @auth_sources = AuthSource.all
212 @membership ||= Member.new 209 @membership ||= Member.new
213 # Clear password input 210 # Clear password input
214 @user.password = @user.password_confirmation = nil 211 @user.password = @user.password_confirmation = nil
215 212
216 respond_to do |format| 213 respond_to do |format|
221 end 218 end
222 219
223 def destroy 220 def destroy
224 @user.destroy 221 @user.destroy
225 respond_to do |format| 222 respond_to do |format|
226 format.html { redirect_back_or_default(users_url) } 223 format.html { redirect_back_or_default(users_path) }
227 format.api { render_api_ok } 224 format.api { render_api_ok }
228 end 225 end
229 end 226 end
230 227
231 def edit_membership 228 def edit_membership
232 @membership = Member.edit_membership(params[:membership_id], params[:membership], @user) 229 @membership = Member.edit_membership(params[:membership_id], params[:membership], @user)
233 @membership.save 230 @membership.save
234 respond_to do |format| 231 respond_to do |format|
235 format.html { redirect_to :controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships' } 232 format.html { redirect_to edit_user_path(@user, :tab => 'memberships') }
236 format.js 233 format.js
237 end 234 end
238 end 235 end
239 236
240 def destroy_membership 237 def destroy_membership
241 @membership = Member.find(params[:membership_id]) 238 @membership = Member.find(params[:membership_id])
242 if @membership.deletable? 239 if @membership.deletable?
243 @membership.destroy 240 @membership.destroy
244 end 241 end
245 respond_to do |format| 242 respond_to do |format|
246 format.html { redirect_to :controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships' } 243 format.html { redirect_to edit_user_path(@user, :tab => 'memberships') }
247 format.js 244 format.js
248 end 245 end
249 end 246 end
250 247
251 private 248 private