summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorMarin Jankovski <maxlazio@gmail.com>2013-02-06 12:44:09 +0100
committerMarin Jankovski <maxlazio@gmail.com>2013-02-06 12:44:09 +0100
commit1b4ba3eb99e30bded9bffea20c457af5e08a58f2 (patch)
tree9a813dfcefcfbfe13ed3611ba7e8ebe6096ba31a /app
parent0a20f7e75e6aed0e52d5bf747f4b2bf17ec61b0b (diff)
downloadgitlab-ce-1b4ba3eb99e30bded9bffea20c457af5e08a58f2.tar.gz
Add user delete option.
Diffstat (limited to 'app')
-rw-r--r--app/controllers/registrations_controller.rb11
-rw-r--r--app/views/profiles/account.html.haml8
2 files changed, 18 insertions, 1 deletions
diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb
index cbac7613e59..b7ee75619cb 100644
--- a/app/controllers/registrations_controller.rb
+++ b/app/controllers/registrations_controller.rb
@@ -1,6 +1,17 @@
class RegistrationsController < Devise::RegistrationsController
before_filter :signup_enabled?
+ def destroy
+ if current_user.owned_projects.count > 0
+ redirect_to account_profile_path, alert: "Remove projects and groups before removing account." and return
+ end
+ current_user.destroy
+
+ respond_to do |format|
+ format.html { redirect_to new_user_session_path, notice: "Account successfully removed." }
+ end
+ end
+
private
def signup_enabled?
diff --git a/app/views/profiles/account.html.haml b/app/views/profiles/account.html.haml
index 2ad000b815b..9f81fc8127e 100644
--- a/app/views/profiles/account.html.haml
+++ b/app/views/profiles/account.html.haml
@@ -77,4 +77,10 @@
.input
= f.submit 'Save username', class: "btn btn-save"
-
+- if Gitlab.config.gitlab.signup_enabled
+ %fieldset.update-username
+ %legend
+ Remove account
+ %small.cred.pull-right
+ Before removing the account you must remove all projects!
+ = link_to 'Delete account', user_registration_path, confirm: "REMOVE #{current_user.name}? Are you sure?", method: :delete, class: "btn btn-remove delete-key btn-small pull-right" \ No newline at end of file