gitlab-org--gitlab-foss/app/models
Douwe Maan 4516f40dfe Merge branch 'decouple-member-notification' into 'master'
Decouple membership and notifications

This allow you to have notification setting per project even if you are member of group. 
It also creates background for having notification settings in project you are not member of. 


- [x] Make it work
- [x] Migrations
- [x] CHANGELOG
- [x] More tests
- [x] API

For #3359 

After this merge request there is still some work to be done: 

* create migration that remove duplicates in notification settings table and create uniq index (8.8 probably)
* remove notification_level field from Member model in 9.0
* make proper API for notification settings
* use `MemberCreateService` instead of Member#after_create callback for creating notification settings (after #14709) 
* maybe more tests 


Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

See merge request !3421
2016-04-12 16:39:40 +00:00
..
ci Fix review comments 2016-03-14 13:33:26 +01:00
concerns Merge branch 'master' into decouple-member-notification 2016-04-08 15:48:09 -03:00
hooks Raise hook url limit 2016-01-15 00:35:12 +03:00
members Small refactoring and cleanup of notification logic 2016-03-30 10:44:20 +02:00
network
project_services Ensure empty recipients are rejected in BuildsEmailService 2016-04-06 16:14:51 +02:00
.gitkeep
ability.rb Ensure project snippets have their own access level 2016-03-25 18:51:17 +01:00
abuse_report.rb Clearify who deletes the user 2016-03-15 21:09:25 +01:00
appearance.rb Branded login page also in CE 2016-02-26 15:50:51 +01:00
application_setting.rb Remove "Congratulations!" tweet button on newly-created project. 2016-03-31 17:09:36 -06:00
audit_event.rb
blob.rb Refactor caching code 2016-03-07 14:27:53 +01:00
broadcast_message.rb Change ttl to 1 minute 2016-01-29 13:39:33 -05:00
commit.rb Memoize reference_pattern/link_reference_pattern 2016-04-01 11:13:30 +02:00
commit_range.rb Memoize reference_pattern/link_reference_pattern 2016-04-01 11:13:30 +02:00
commit_status.rb adjusted behavior so canceled builds tagged as allowed to fail do not fail build 2016-03-17 07:55:10 -07:00
deploy_key.rb
deploy_keys_project.rb
email.rb Re-add EmailValidator to avoid the repetition of format: { with: Devise.email_regexp } 2016-02-09 18:15:35 +01:00
event.rb Rename Event#proper? to Event#visible_to_user? 2016-03-24 14:24:22 -03:00
external_issue.rb Memoize reference_pattern/link_reference_pattern 2016-04-01 11:13:30 +02:00
forked_project_link.rb
generic_commit_status.rb Annotate models 2016-01-06 13:09:55 +00:00
global_label.rb Updates from last code review. 2016-03-06 23:07:19 -05:00
global_milestone.rb Ruby fixes 2016-03-29 12:19:09 +01:00
group.rb Update NotificationService to use NotificationSettings instead of membership 2016-03-30 10:44:20 +02:00
identity.rb Codestyle changes 2016-01-12 12:29:10 -02:00
issue.rb Memoize reference_pattern/link_reference_pattern 2016-04-01 11:13:30 +02:00
jira_issue.rb
key.rb Ensure "new SSH key" email do not ends up as dead Sidekiq jobs 2016-03-15 11:23:57 +01:00
label.rb Memoize reference_pattern/link_reference_pattern 2016-04-01 11:13:30 +02:00
label_link.rb
lfs_object.rb
lfs_objects_project.rb
member.rb Reuse User#notification_settings_for when it's possible 2016-04-11 20:50:26 -03:00
merge_request.rb Merge branch 'fix_remove_fork_link' into 'master' 2016-04-04 15:37:08 +00:00
merge_request_diff.rb Show at most 100 commits in the web UI 2016-03-04 15:17:12 +01:00
milestone.rb Merge branch 'routing' into 'master' 2016-04-01 16:51:20 +00:00
namespace.rb Make Namespace.search case-insensitive 2016-03-11 15:25:24 -05:00
note.rb Rename Note#for_project_snippet? to #for_snippet? 2016-03-31 09:20:27 +02:00
notification_setting.rb Use Hash instead of Array on NotificationSetting#level enum 2016-04-11 10:23:40 -03:00
personal_snippet.rb Remove Snippet#expires_at 2016-03-05 18:12:17 -05:00
project.rb Merge branch 'master' into decouple-member-notification 2016-04-08 15:48:09 -03:00
project_group_link.rb Bring ProjectGroupLink model and migrations from EE 2016-03-11 17:47:05 +01:00
project_import_data.rb
project_snippet.rb Remove Snippet#expires_at 2016-03-05 18:12:17 -05:00
project_team.rb Allow users to access project shared with their group 2016-03-11 18:46:01 +01:00
project_wiki.rb Cache output of Repository#exists? 2016-03-19 21:54:08 +01:00
protected_branch.rb
release.rb
repository.rb Dont return null 2016-04-11 18:14:01 +02:00
security_event.rb
sent_notification.rb #can_unsubscribe? -> #?unsubscribable? 2016-01-11 14:23:45 +01:00
service.rb Greatly improve external_issue_tracker performance 2016-01-19 14:03:20 +01:00
snippet.rb Memoize reference_pattern/link_reference_pattern 2016-04-01 11:13:30 +02:00
spam_log.rb Refactor Admin::SpamLogsController to block user before destroying 2016-02-02 11:25:44 -02:00
spam_report.rb Support Akismet spam checking for creation of issues via API 2016-02-02 11:25:44 -02:00
subscription.rb Improving the original label-subscribing implementation 2016-03-15 18:22:02 +01:00
todo.rb Refactor Todo#target 2016-03-18 13:27:27 -03:00
tree.rb Merge branch 'master' of https://gitlab.com/gitlab-org/gitlab-ce into lazy-blobs 2016-02-01 13:51:05 +01:00
user.rb Add method to return the user notification setting for a group, or a project 2016-04-08 18:46:45 -03:00
users_star_project.rb
wiki_page.rb Support Wiki with UTF-8 page name 2016-03-16 02:17:07 +09:00