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:
@@ -27,6 +27,24 @@ class Admin::TenantsController < Admin::BaseController
|
||||
end
|
||||
end
|
||||
|
||||
def hide
|
||||
@tenant.hide
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to admin_tenants_path, notice: t("admin.tenants.hide.notice") }
|
||||
format.js { render template: "admin/tenants/toggle_enabled" }
|
||||
end
|
||||
end
|
||||
|
||||
def restore
|
||||
@tenant.restore
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to admin_tenants_path, notice: t("admin.tenants.restore.notice") }
|
||||
format.js { render template: "admin/tenants/toggle_enabled" }
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def tenant_params
|
||||
|
||||
Reference in New Issue
Block a user