gitlab-org--gitlab-foss/app/services
Douwe Maan 4d64a32c88 Merge branch 'feature/ldap-sync-edgecases' into 'master'
LDAP Sync blocked user edgecases

Allow GitLab admins to block otherwise valid GitLab LDAP users
(https://gitlab.com/gitlab-org/gitlab-ce/issues/3462)

Based on the discussion on the original issue, we are going to differentiate "normal" block operations to the ldap automatic ones in order to make some decisions when its one or the other.

Expected behavior:

- [x] "ldap_blocked" users respond to both `blocked?` and `ldap_blocked?`
- [x] "ldap_blocked" users can't be unblocked by the Admin UI
- [x] "ldap_blocked" users can't be unblocked by the API
- [x] Block operations that are originated from LDAP synchronization will flag user as "ldap_blocked"
- [x] Only "ldap_blocked" users will be automatically unblocked by LDAP synchronization
- [x] When LDAP identity is removed, we should convert `ldap_blocked` into `blocked`
 
Mockup for the Admin UI with both "ldap_blocked" and normal "blocked" users:
![image](/uploads/4f56fc17b73cb2c9e2a154a22e7ad291/image.png)

There will be another MR for the EE version.

See merge request !2242
2016-01-14 11:00:08 +00:00
..
ci Run builds from projects with enabled CI 2015-12-11 18:03:48 +01:00
files Automatically fork a project when not allowed to edit a file. 2015-12-18 10:03:34 +01:00
issues Backport JIRA service 2015-12-18 14:19:48 -06:00
merge_requests Fixed Rubocop offenses 2015-12-15 00:53:52 -02:00
milestones Move global milestone specs 2015-11-16 14:38:34 +01:00
notes Move note emoji-award implementation to note model (feature envy) 2015-12-03 13:38:59 +01:00
oauth2
projects Merge gitlab.com:gitlab-org/gitlab-ce 2016-01-11 09:32:35 +01:00
search An `in_namespace` scope is already present 2015-06-09 13:42:01 +02:00
archive_repository_service.rb Clear archive cache asynchronously 2015-10-20 16:53:37 +02:00
audit_event_service.rb Audit log for user authentication 2015-07-06 12:36:08 +03:00
base_service.rb Move level_name resolving to Gitlan::VisibilityLevel 2015-11-03 17:23:19 +01:00
compare_service.rb Add ignore white space option in merge request diff 2015-11-13 16:53:53 +09:00
create_branch_service.rb Fix duplicated branch creation/deletion events when using Web UI 2016-01-08 00:37:41 -08:00
create_commit_builds_service.rb Don't create CI status for refs that doesn't have .gitlab-ci.yml, even if the builds are enabled 2015-12-17 16:33:47 +01:00
create_release_service.rb Allow editing a release in API via PUT method 2015-11-21 22:34:53 +01:00
create_snippet_service.rb
create_tag_service.rb Generate builds when creating tag using web interface 2016-01-11 12:37:27 +01:00
delete_branch_service.rb Fix duplicated branch creation/deletion events when using Web UI 2016-01-08 00:37:41 -08:00
delete_tag_service.rb Refactor release code a bit 2015-11-09 15:30:50 +01:00
delete_user_service.rb Fix error when deleting a user who has projects 2015-06-23 04:39:49 -07:00
destroy_group_service.rb Skip repo removing whem remove user or group 2015-06-03 16:16:27 +02:00
event_create_service.rb Create a "destroyed Milestone" event and keep Milestone events around in the DB 2015-09-15 05:51:11 -07:00
git_hooks_service.rb Raise the exception from #execute instead of #run_hook. #1156 #3069 2015-12-03 09:39:15 -05:00
git_push_service.rb Remove ci_ prefix from all ci related things 2015-12-11 18:02:09 +01:00
git_tag_push_service.rb Remove ci_ prefix from all ci related things 2015-12-11 18:02:09 +01:00
gravatar_service.rb Add support for HiDPI displays in gravatar service 2015-09-26 20:53:16 +02:00
issuable_base_service.rb Refactor creation of system notes for Issue/MR labels. #2296 2015-11-20 10:36:12 -05:00
notification_service.rb Don't notify users twice if they are both project watchers and subscribers 2016-01-04 15:01:52 -08:00
repair_ldap_blocked_user_service.rb Code style fixes and some code simplified 2016-01-08 16:26:04 -02:00
system_hooks_service.rb Merge branch 'add_username_to_user_system_hooks' of https://github.com/tbeadle/gitlabhq 2016-01-13 10:12:30 +01:00
system_note_service.rb Use `to_reference` in system notes. 2015-12-24 15:40:59 +01:00
test_hook_service.rb
update_release_service.rb Allow editing a release in API via PUT method 2015-11-21 22:34:53 +01:00
update_snippet_service.rb Change dynamic abilities to new format 2015-06-26 17:18:40 +02:00