Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-05-28 13:00:02 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-05-28 13:00:02 +0300
commit499154518a1555523ed5f203c9ce4bbe6317c9a5 (patch)
treea353b24c08673cfdc4f0c9cb8617e8c57af822a4 /app/services/delete_user_service.rb
parentc843e092f309d22281205e34658221f17642ea33 (diff)
You can not remove user if he/she is an only owner of group
To prevent loose of group data you need to transfer or remove group first before you can remove user Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/services/delete_user_service.rb')
-rw-r--r--app/services/delete_user_service.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/app/services/delete_user_service.rb b/app/services/delete_user_service.rb
new file mode 100644
index 00000000000..d259b4efca6
--- /dev/null
+++ b/app/services/delete_user_service.rb
@@ -0,0 +1,10 @@
+class DeleteUserService
+ def execute(user)
+ if user.solo_owned_groups.present?
+ user.errors[:base] << 'You must transfer ownership or delete groups before you can remove user'
+ user
+ else
+ user.destroy
+ end
+ end
+end