Fix 404 error when filtering admin action logs by non-existent target account ()

Currently, there is no way for an admin to delete an account record. However,
should that happen in the future, or should an admin mistype an account id,
`/admin/action_logs?target_account_id=<non-existent-account-id>` currently
returns a 404 instead of an empty list.

With this commit, the aforementioned page returns a correct list instead
(potentially non-empty if the account has been manually deleted)
This commit is contained in:
Claire 2021-10-14 20:53:11 +02:00 committed by GitHub
parent 032d9bcaed
commit 9b978872cc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -76,7 +76,7 @@ class Admin::ActionLogFilter
when 'account_id'
Admin::ActionLog.where(account_id: value)
when 'target_account_id'
account = Account.find(value)
account = Account.find_or_initialize_by(id: value)
Admin::ActionLog.where(target: [account, account.user].compact)
else
raise "Unknown filter: #{key}"