Make it possible to disable tenants

Note we could use `acts_as_paranoid` with the `without_default_scope`
option, but we aren't doing so because it isn't possible to consider
deleted records in uniqueness validations with the paranoia gem [1].
I've added tests for these cases so we don't accidentally add
`acts_as_paranoid` in the future.

Also note we're extracting a `RowComponent` because, when
enabling/disabling a tenant, we're also enabling/disabling the link
pointing to its URL, and so we need to update the URL column after the
AJAX call.

[1] See issues 285 and 319 in https://github.com/rubysherpas/paranoia/
This commit is contained in:
Javi Martín
2022-12-19 16:32:31 +01:00
parent 0dac6ead77
commit 25435b0297
18 changed files with 204 additions and 11 deletions

View File

@@ -335,6 +335,7 @@ Rails/SkipsModelValidations:
ForbiddenMethods:
- update_attribute
Exclude:
- app/models/tenant.rb
- lib/acts_as_paranoid_aliases.rb
Rails/TimeZone: