@@ -11,13 +11,41 @@ class UsersProject < ActiveRecord::Base
11
11
12
12
after_save :update_repository
13
13
after_destroy :update_repository
14
+ after_create :add_to_team_hooks
15
+ after_destroy :remove_from_team_hooks
16
+
14
17
15
18
validates_uniqueness_of :user_id , :scope => [ :project_id ]
16
19
validates_presence_of :user_id
17
20
validates_presence_of :project_id
18
21
19
22
delegate :name , :email , :to => :user , :prefix => true
20
23
24
+ def add_to_team_hooks
25
+ SystemHook . all_hooks_fire ( {
26
+ event_name : "user_add_to_team" ,
27
+ project_name : self . project . name ,
28
+ project_path : self . project . path ,
29
+ project_id : self . project_id ,
30
+ user_name : self . user . name ,
31
+ user_email : self . user . email ,
32
+ project_access : self . repo_access_human ,
33
+ created_at : self . created_at
34
+ } )
35
+ end
36
+
37
+ def remove_from_team_hooks
38
+ SystemHook . all_hooks_fire ( {
39
+ event_name : "user_remove_from_team" ,
40
+ project_name : self . project . name ,
41
+ project_path : self . project . path ,
42
+ project_id : self . project_id ,
43
+ user_name : self . user . name ,
44
+ user_email : self . user . email ,
45
+ project_access : self . repo_access_human
46
+ } )
47
+ end
48
+
21
49
def self . bulk_import ( project , user_ids , project_access )
22
50
UsersProject . transaction do
23
51
user_ids . each do |user_id |
@@ -68,7 +96,7 @@ def project_access_human
68
96
end
69
97
70
98
def repo_access_human
71
- ""
99
+ self . class . access_roles . invert [ self . project_access ]
72
100
end
73
101
end
74
102
# == Schema Information
0 commit comments