Allow all users to delete their account
Previously the user could not delete his own account unless signup was enabled in the global settings. This was due to the fact that deleting the user would also delete the issues and other items associated to him. Deleting an user does not destroy essential data anymore, for this reason we removed the `signup_enabled?` check.
This commit is contained in:
parent
bb9db75fcf
commit
153b48f9f9
3 changed files with 24 additions and 33 deletions
|
@ -92,25 +92,24 @@
|
|||
Update username
|
||||
%hr
|
||||
|
||||
- if signup_enabled?
|
||||
.row.prepend-top-default
|
||||
.col-lg-4.profile-settings-sidebar
|
||||
%h4.prepend-top-0.danger-title
|
||||
Remove account
|
||||
.col-lg-8
|
||||
- if @user.can_be_removed? && can?(current_user, :destroy_user, @user)
|
||||
.row.prepend-top-default
|
||||
.col-lg-4.profile-settings-sidebar
|
||||
%h4.prepend-top-0.danger-title
|
||||
Remove account
|
||||
.col-lg-8
|
||||
- if @user.can_be_removed? && can?(current_user, :destroy_user, @user)
|
||||
%p
|
||||
Deleting an account has the following effects:
|
||||
= render 'users/deletion_guidance', user: current_user
|
||||
= link_to 'Delete account', user_registration_path, data: { confirm: "REMOVE #{current_user.name}? Are you sure?" }, method: :delete, class: "btn btn-remove"
|
||||
- else
|
||||
- if @user.solo_owned_groups.present?
|
||||
%p
|
||||
Deleting an account has the following effects:
|
||||
= render 'users/deletion_guidance', user: current_user
|
||||
= link_to 'Delete account', user_registration_path, data: { confirm: "REMOVE #{current_user.name}? Are you sure?" }, method: :delete, class: "btn btn-remove"
|
||||
Your account is currently an owner in these groups:
|
||||
%strong= @user.solo_owned_groups.map(&:name).join(', ')
|
||||
%p
|
||||
You must transfer ownership or delete these groups before you can delete your account.
|
||||
- else
|
||||
- if @user.solo_owned_groups.present?
|
||||
%p
|
||||
Your account is currently an owner in these groups:
|
||||
%strong= @user.solo_owned_groups.map(&:name).join(', ')
|
||||
%p
|
||||
You must transfer ownership or delete these groups before you can delete your account.
|
||||
- else
|
||||
%p
|
||||
You don't have access to delete this user.
|
||||
%p
|
||||
You don't have access to delete this user.
|
||||
.append-bottom-default
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: allow all users to delete their account
|
||||
merge_request: 13636
|
||||
author: Jacopo Beschi @jacopo-beschi
|
||||
type: changed
|
|
@ -7,9 +7,8 @@ describe 'Profile account page' do
|
|||
sign_in(user)
|
||||
end
|
||||
|
||||
describe 'when signup is enabled' do
|
||||
describe 'when I delete my account' do
|
||||
before do
|
||||
stub_application_setting(signup_enabled: true)
|
||||
visit profile_account_path
|
||||
end
|
||||
|
||||
|
@ -21,18 +20,6 @@ describe 'Profile account page' do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'when signup is disabled' do
|
||||
before do
|
||||
stub_application_setting(signup_enabled: false)
|
||||
visit profile_account_path
|
||||
end
|
||||
|
||||
it 'does not have option to remove account' do
|
||||
expect(page).not_to have_content('Remove account')
|
||||
expect(current_path).to eq(profile_account_path)
|
||||
end
|
||||
end
|
||||
|
||||
describe 'when I reset private token' do
|
||||
before do
|
||||
visit profile_account_path
|
||||
|
|
Loading…
Reference in a new issue