Patch #43640 » 0001-Refactor-GroupsController-remove_user-to-remove_user.patch
| app/controllers/groups_controller.rb | ||
|---|---|---|
| 23 | 23 | |
| 24 | 24 |
before_action :require_admin, :except => [:show] |
| 25 | 25 |
before_action :find_group, :except => [:index, :new, :create] |
| 26 |
accept_api_auth :index, :show, :create, :update, :destroy, :add_users, :remove_user |
|
| 26 |
accept_api_auth :index, :show, :create, :update, :destroy, :add_users, :remove_users, :remove_user
|
|
| 27 | 27 | |
| 28 |
require_sudo_mode :add_users, :remove_user, :create, :update, :destroy, :edit_membership, :destroy_membership |
|
| 28 |
require_sudo_mode :add_users, :remove_users, :remove_user, :create, :update, :destroy, :edit_membership, :destroy_membership
|
|
| 29 | 29 | |
| 30 | 30 |
helper :custom_fields |
| 31 | 31 |
helper :principal_memberships |
| ... | ... | |
| 129 | 129 |
end |
| 130 | 130 |
end |
| 131 | 131 | |
| 132 |
def remove_user |
|
| 133 |
@group.users.delete(User.find(params[:user_id])) if request.delete? |
|
| 132 |
def remove_users |
|
| 133 |
@users = User.where(:id => (params[:user_id] || params[:user_ids])).to_a |
|
| 134 |
@group.users.delete(@users) if request.delete? |
|
| 134 | 135 |
respond_to do |format| |
| 135 | 136 |
format.html {redirect_to edit_group_path(@group, :tab => 'users')}
|
| 136 | 137 |
format.js |
| ... | ... | |
| 138 | 139 |
end |
| 139 | 140 |
end |
| 140 | 141 | |
| 142 |
def remove_user |
|
| 143 |
Rails.application.deprecators[:redmine].warn "GroupsController#remove_user is deprecated and will be removed in Redmine 8.0. Please use #remove_users instead." |
|
| 144 |
remove_users |
|
| 145 |
end |
|
| 146 | ||
| 141 | 147 |
def autocomplete_for_user |
| 142 | 148 |
respond_to do |format| |
| 143 | 149 |
format.js |
| app/views/groups/_users.html.erb | ||
|---|---|---|
| 11 | 11 |
<tr id="user-<%= user.id %>"> |
| 12 | 12 |
<td class="name"><%= link_to_user user %></td> |
| 13 | 13 |
<td class="buttons"> |
| 14 |
<%= remove_link group_user_path(@group, :user_id => user), :remote => true %> |
|
| 14 |
<%= remove_link group_users_path(@group, :user_id => user), :remote => true %>
|
|
| 15 | 15 |
</td> |
| 16 | 16 |
</tr> |
| 17 | 17 |
<% end %> |
| config/routes.rb | ||
|---|---|---|
| 346 | 346 | |
| 347 | 347 |
get 'groups/:id/users/new', :to => 'groups#new_users', :id => /\d+/, :as => 'new_group_users' |
| 348 | 348 |
post 'groups/:id/users', :to => 'groups#add_users', :id => /\d+/, :as => 'group_users' |
| 349 |
delete 'groups/:id/users', :to => 'groups#remove_users', :id => /\d+/ |
|
| 349 | 350 |
delete 'groups/:id/users/:user_id', :to => 'groups#remove_user', :id => /\d+/, :as => 'group_user' |
| 350 | 351 | |
| 351 | 352 |
resources :trackers, :except => :show do |
| test/functional/groups_controller_test.rb | ||
|---|---|---|
| 249 | 249 |
assert_match /John Smith/, response.body |
| 250 | 250 |
end |
| 251 | 251 | |
| 252 |
def test_remove_user |
|
| 252 |
def test_remove_users
|
|
| 253 | 253 |
assert_difference 'Group.find(10).users.count', -1 do |
| 254 | 254 |
delete( |
| 255 |
:remove_user, |
|
| 255 |
:remove_users,
|
|
| 256 | 256 |
:params => {
|
| 257 | 257 |
:id => 10, |
| 258 | 258 |
:user_id => '8' |
| ... | ... | |
| 261 | 261 |
end |
| 262 | 262 |
end |
| 263 | 263 | |
| 264 |
def test_xhr_remove_user |
|
| 264 |
def test_remove_users_plural |
|
| 265 |
group = Group.find(10) |
|
| 266 |
group.users << User.find(2) |
|
| 267 |
assert_difference 'group.users.count', -2 do |
|
| 268 |
delete( |
|
| 269 |
:remove_users, |
|
| 270 |
:params => {
|
|
| 271 |
:id => 10, |
|
| 272 |
:user_ids => ['2', '8'] |
|
| 273 |
} |
|
| 274 |
) |
|
| 275 |
end |
|
| 276 |
end |
|
| 277 | ||
| 278 |
def test_xhr_remove_users |
|
| 265 | 279 |
assert_difference 'Group.find(10).users.count', -1 do |
| 266 | 280 |
delete( |
| 267 |
:remove_user, |
|
| 281 |
:remove_users,
|
|
| 268 | 282 |
:params => {
|
| 269 | 283 |
:id => 10, |
| 270 | 284 |
:user_id => '8' |
| ... | ... | |
| 276 | 290 |
end |
| 277 | 291 |
end |
| 278 | 292 | |
| 293 |
def test_remove_user_should_be_deprecated |
|
| 294 |
Rails.application.deprecators[:redmine].expects(:warn).with(regexp_matches(/GroupsController#remove_user is deprecated/)) |
|
| 295 |
delete( |
|
| 296 |
:remove_user, |
|
| 297 |
:params => {
|
|
| 298 |
:id => 10, |
|
| 299 |
:user_id => '8' |
|
| 300 |
} |
|
| 301 |
) |
|
| 302 |
end |
|
| 303 | ||
| 279 | 304 |
def test_autocomplete_for_user |
| 280 | 305 |
get( |
| 281 | 306 |
:autocomplete_for_user, |
| test/integration/api_test/api_routing_test.rb | ||
|---|---|---|
| 51 | 51 | |
| 52 | 52 |
def test_group_users |
| 53 | 53 |
should_route 'POST /groups/567/users' => 'groups#add_users', :id => '567' |
| 54 |
should_route 'DELETE /groups/567/users' => 'groups#remove_users', :id => '567' |
|
| 54 | 55 |
should_route 'DELETE /groups/567/users/12' => 'groups#remove_user', :id => '567', :user_id => '12' |
| 55 | 56 |
end |
| 56 | 57 | |
| test/integration/routing/groups_test.rb | ||
|---|---|---|
| 37 | 37 |
def test_group_users |
| 38 | 38 |
should_route 'GET /groups/567/users/new' => 'groups#new_users', :id => '567' |
| 39 | 39 |
should_route 'POST /groups/567/users' => 'groups#add_users', :id => '567' |
| 40 |
should_route 'DELETE /groups/567/users' => 'groups#remove_users', :id => '567' |
|
| 40 | 41 |
should_route 'DELETE /groups/567/users/12' => 'groups#remove_user', :id => '567', :user_id => '12' |
| 41 | 42 |
end |
| 42 | 43 |
end |
- « Previous
- 1
- …
- 11
- 12
- 13
- Next »