Feature #40913 » 0001-Add-bulk-unlock-users-action.patch
app/controllers/users_controller.rb | ||
---|---|---|
239 | 239 |
end |
240 | 240 | |
241 | 241 |
def bulk_lock |
242 |
@users = User.logged.where(id: params[:ids]).where.not(id: User.current)
|
|
243 |
(render_404; return) unless @users.any?
|
|
242 |
bulk_update_status(params[:ids], User::STATUS_LOCKED)
|
|
243 |
end
|
|
244 | 244 | |
245 |
@users.update_all status: User::STATUS_LOCKED |
|
246 |
flash[:notice] = l(:notice_successful_update) |
|
247 |
redirect_to users_path |
|
245 |
def bulk_unlock |
|
246 |
bulk_update_status(params[:ids], User::STATUS_ACTIVE) |
|
248 | 247 |
end |
249 | 248 | |
250 | 249 |
private |
... | ... | |
261 | 260 |
rescue ActiveRecord::RecordNotFound |
262 | 261 |
render_404 |
263 | 262 |
end |
263 | ||
264 |
def bulk_update_status(user_ids, status) |
|
265 |
users = User.logged.where(id: user_ids).where.not(id: User.current) |
|
266 |
(render_404; return) unless users.any? |
|
267 | ||
268 |
users.update_all status: status |
|
269 |
flash[:notice] = l(:notice_successful_update) |
|
270 |
redirect_to users_path |
|
271 |
end |
|
264 | 272 |
end |
app/views/context_menus/users.html.erb | ||
---|---|---|
25 | 25 |
<li> |
26 | 26 |
<%= context_menu_link l(:button_lock), bulk_lock_users_path(ids: @users.map(&:id)), method: :post, class: 'icon icon-lock' %> |
27 | 27 |
</li> |
28 |
<% else %> |
|
29 |
<li> |
|
30 |
<%= context_menu_link l(:button_unlock), bulk_unlock_users_path(ids: @users.map(&:id)), method: :post, class: 'icon icon-unlock' %> |
|
31 |
</li> |
|
28 | 32 |
<% end %> |
29 | 33 |
<li> |
30 | 34 |
<%= context_menu_link l(:button_delete), |
config/routes.rb | ||
---|---|---|
113 | 113 |
collection do |
114 | 114 |
delete 'bulk_destroy' |
115 | 115 |
post :bulk_lock |
116 |
post :bulk_unlock |
|
116 | 117 |
end |
117 | 118 |
resources :memberships, :controller => 'principal_memberships' |
118 | 119 |
resources :email_addresses, :only => [:index, :create, :update, :destroy] |
- « Previous
- 1
- 2
- 3
- Next »