Mercurial > hg > soundsoftware-site
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 |