add account removal button

pull/217/head
Pete Matsyburka 2 years ago
parent bae7b924ae
commit d77bd87acb

@ -37,6 +37,18 @@ class AccountsController < ApplicationController
render :show, status: :unprocessable_entity
end
def destroy
authorize!(:manage, current_account)
true_user.update!(locked_at: Time.current)
render turbo_stream: turbo_stream.replace(
:account_delete_button,
html: helpers.tag.p('Your account removal request will be processed within 2 weeks. ' \
'Please contact us if you want to keep your account.')
)
end
private
def load_account

@ -65,6 +65,12 @@
<% end %>
</div>
<% end %>
<% if can?(:manage, current_account) && Docuseal.multitenant? && true_user == current_user %>
<div class="px-1 mt-8">
<h2 class="text-2xl font-bold mb-2">Danger Zone</h2>
<%= button_to button_title(title: 'Delete my account'), settings_account_path, class: 'btn btn-outline btn-error block', data: { turbo_confirm: 'Schedule account for deletion?' }, method: :delete, id: :account_delete_button %>
</div>
<% end %>
</div>
<div class="w-0 md:w-52"></div>
</div>

@ -116,7 +116,7 @@ Rails.application.routes.draw do
resource :personalization, only: %i[show create], controller: 'personalization_settings'
resources :api, only: %i[index create], controller: 'api_settings'
resource :webhooks, only: %i[show create update], controller: 'webhook_settings'
resource :account, only: %i[show update]
resource :account, only: %i[show update destroy]
resources :profile, only: %i[index] do
collection do
patch :update_contact

Loading…
Cancel
Save