[Rails5] Fix params for DeleteUserWorker

This commit fixes the error:

```
  1) Admin::UsersController DELETE #user with projects deletes the user and their contributions when hard delete is specified
     Failure/Error: Users::DestroyService.new(current_user).execute(delete_user, options.symbolize_keys)

     NoMethodError:
       undefined method `symbolize_keys' for "{\"hard_delete\"=>\"true\"}":String
     # ./app/workers/delete_user_worker.rb:8:in `perform'
     # ./lib/gitlab/sidekiq_status/server_middleware.rb:5:in `call'
     # ./config/initializers/forbid_sidekiq_in_transactions.rb:35:in `block (2 levels) in <module:NoEnqueueingFromTransactions>'
     # ./app/models/user.rb:913:in `delete_async'
     # ./app/controllers/admin/users_controller.rb:148:in `destroy'
     # ./lib/gitlab/i18n.rb:50:in `with_locale'
     # ./lib/gitlab/i18n.rb:56:in `with_user_locale'
     # ./app/controllers/application_controller.rb:327:in `set_locale'
     # ./spec/controllers/admin/users_controller_spec.rb:28:in `block (3 levels) in <top (required)>'

Finished in 6.81 seconds (files took 13.9 seconds to load)
1 example, 1 failure
```
This commit is contained in:
blackst0ne 2018-04-28 15:54:46 +11:00
parent ee189fd511
commit 4a306796c1
2 changed files with 4 additions and 4 deletions

View file

@ -309,7 +309,7 @@ GEM
github-markup (~> 1.6)
gollum-grit_adapter (~> 1.0)
nokogiri (>= 1.6.1, < 2.0)
rouge (~> 2.1)
rouge (~> 3.1)
sanitize (~> 2.1)
stringex (~> 2.6)
gitlab-gollum-rugged_adapter (0.4.4)
@ -752,7 +752,7 @@ GEM
retriable (3.1.1)
rinku (2.0.4)
rotp (2.1.2)
rouge (2.2.1)
rouge (3.1.1)
rqrcode (0.10.1)
chunky_png (~> 1.0)
rqrcode-rails3 (0.1.7)
@ -1166,7 +1166,7 @@ DEPENDENCIES
redis-rails (~> 5.0.2)
request_store (~> 1.3)
responders (~> 2.0)
rouge (~> 2.0)
rouge (~> 3.1)
rqrcode-rails3 (~> 0.1.7)
rspec-parameterized
rspec-rails (~> 3.6.0)

View file

@ -910,7 +910,7 @@ class User < ActiveRecord::Base
def delete_async(deleted_by:, params: {})
block if params[:hard_delete]
DeleteUserWorker.perform_async(deleted_by.id, id, params)
DeleteUserWorker.perform_async(deleted_by.id, id, params.to_h)
end
def notification_service