diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2016-11-21 22:06:11 +0800 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2016-11-21 22:06:11 +0800 |
commit | b20c7846ffc0c78d6b483184363b6ccc7c11326d (patch) | |
tree | 05d232a4f877cd94481afcb8bf912410b58bbd0b /app/models/member.rb | |
parent | f593abbc70ab02823cd99d2db11598b629cbb3a0 (diff) | |
parent | 77a4382712888131813ec008a8d4179bcf753b8b (diff) | |
download | gitlab-ce-b20c7846ffc0c78d6b483184363b6ccc7c11326d.tar.gz |
Merge remote-tracking branch 'upstream/master' into show-commit-status-from-latest-pipeline
* upstream/master: (754 commits)
Add documentation about todos and failed builds
Add Changelog entry for failed builds todos fix
Do not create TODO when build is allowed to fail
Fix 404 on some group pages when name contains dot
Grapify the users API
Remove duplicate sidekiq throttling parameters
Fix regression in Merge request form
Fix wrong link
Fix test
Fix broken test
Changes for stop url to path
fix typo in gitlab_flow.md ('munch'->'much')
Fix spec
Backport some changes done from Time Tracking feature in EE.
Use build instead create in BroadcastMessage model spec
Try to fix tests
Remove unnecessary self from user model
Expose stop_path for environment to not construct that in frontend
Bring back the `commit_url` as it's used by CycleAnalytics
Add api endpoint for creating a pipeline
...
Diffstat (limited to 'app/models/member.rb')
-rw-r--r-- | app/models/member.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/models/member.rb b/app/models/member.rb index b89ba8ecbb8..7be2665bf48 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -113,6 +113,8 @@ class Member < ActiveRecord::Base member.save end + UserProjectAccessChangedService.new(user.id).execute if user.is_a?(User) + member end @@ -239,6 +241,7 @@ class Member < ActiveRecord::Base end def post_create_hook + UserProjectAccessChangedService.new(user.id).execute system_hook_service.execute_hooks_for(self, :create) end @@ -247,9 +250,19 @@ class Member < ActiveRecord::Base end def post_destroy_hook + refresh_member_authorized_projects system_hook_service.execute_hooks_for(self, :destroy) end + def refresh_member_authorized_projects + # If user/source is being destroyed, project access are gonna be destroyed eventually + # because of DB foreign keys, so we shouldn't bother with refreshing after each + # member is destroyed through association + return if destroyed_by_association.present? + + UserProjectAccessChangedService.new(user_id).execute + end + def after_accept_invite post_create_hook end |