From 13f2aa84d656f7a31726a5026e6f855cc565b170 Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Wed, 28 Feb 2018 16:09:30 +0800 Subject: [PATCH 1/5] feat: Add feed for organization --- models/repo_watch.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/models/repo_watch.go b/models/repo_watch.go index cf9dba900af64..2c6436d888df8 100644 --- a/models/repo_watch.go +++ b/models/repo_watch.go @@ -87,6 +87,15 @@ func notifyWatchers(e Engine, act *Action) error { return fmt.Errorf("insert new actioner: %v", err) } + // Add feed for organization + if act.Repo.Owner.IsOrganization() && act.ActUserID != act.Repo.Owner.ID { + act.ID = 0 + act.UserID = act.Repo.Owner.ID + if _, err = e.InsertOne(act); err != nil { + return fmt.Errorf("insert new actioner: %v", err) + } + } + for i := range watches { if act.ActUserID == watches[i].UserID { continue From f87f545674891a3e5bf3118b6201ee4b738fd46c Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Wed, 28 Feb 2018 22:33:04 +0800 Subject: [PATCH 2/5] fix: testing --- models/action_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/models/action_test.go b/models/action_test.go index e0a3e2123731a..d0e0a5d8fab1f 100644 --- a/models/action_test.go +++ b/models/action_test.go @@ -339,6 +339,7 @@ func TestCommitRepoAction(t *testing.T) { s.action.ActUserID = user.ID s.action.RepoID = repo.ID + s.action.Repo = repo s.action.IsPrivate = repo.IsPrivate testCorrectRepoAction(t, s.commitRepoActionOptions, &s.action) From 8e55f944c5c983262d3bbcbc383c55087540ee2e Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Wed, 28 Feb 2018 23:03:58 +0800 Subject: [PATCH 3/5] fix: testing --- models/repo_watch.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/models/repo_watch.go b/models/repo_watch.go index 2c6436d888df8..3ef0b22476569 100644 --- a/models/repo_watch.go +++ b/models/repo_watch.go @@ -87,6 +87,13 @@ func notifyWatchers(e Engine, act *Action) error { return fmt.Errorf("insert new actioner: %v", err) } + // check repo owner exist. + if act.Repo != nil && act.Repo.Owner == nil { + if err := act.Repo.getOwner(e); err != nil { + return fmt.Errorf("can't get repo owner: %v", err) + } + } + // Add feed for organization if act.Repo.Owner.IsOrganization() && act.ActUserID != act.Repo.Owner.ID { act.ID = 0 From 2f8dac42bbbcca3f761ee4ba7e0f3c340473e502 Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Wed, 28 Feb 2018 23:15:12 +0800 Subject: [PATCH 4/5] fix: testing --- models/repo_watch.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/models/repo_watch.go b/models/repo_watch.go index 3ef0b22476569..812b264a5bbcc 100644 --- a/models/repo_watch.go +++ b/models/repo_watch.go @@ -87,19 +87,19 @@ func notifyWatchers(e Engine, act *Action) error { return fmt.Errorf("insert new actioner: %v", err) } - // check repo owner exist. - if act.Repo != nil && act.Repo.Owner == nil { + if act.Repo != nil { + // check repo owner exist. if err := act.Repo.getOwner(e); err != nil { return fmt.Errorf("can't get repo owner: %v", err) } - } - // Add feed for organization - if act.Repo.Owner.IsOrganization() && act.ActUserID != act.Repo.Owner.ID { - act.ID = 0 - act.UserID = act.Repo.Owner.ID - if _, err = e.InsertOne(act); err != nil { - return fmt.Errorf("insert new actioner: %v", err) + // Add feed for organization + if act.Repo.Owner.IsOrganization() && act.ActUserID != act.Repo.Owner.ID { + act.ID = 0 + act.UserID = act.Repo.Owner.ID + if _, err = e.InsertOne(act); err != nil { + return fmt.Errorf("insert new actioner: %v", err) + } } } From 1e47d471bcbe15979ae326ad02e9bb807a389533 Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Wed, 28 Feb 2018 23:31:42 +0800 Subject: [PATCH 5/5] fix: testing --- models/repo_watch.go | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/models/repo_watch.go b/models/repo_watch.go index 812b264a5bbcc..fb89a55a11edf 100644 --- a/models/repo_watch.go +++ b/models/repo_watch.go @@ -87,19 +87,18 @@ func notifyWatchers(e Engine, act *Action) error { return fmt.Errorf("insert new actioner: %v", err) } - if act.Repo != nil { - // check repo owner exist. - if err := act.Repo.getOwner(e); err != nil { - return fmt.Errorf("can't get repo owner: %v", err) - } + act.loadRepo() + // check repo owner exist. + if err := act.Repo.getOwner(e); err != nil { + return fmt.Errorf("can't get repo owner: %v", err) + } - // Add feed for organization - if act.Repo.Owner.IsOrganization() && act.ActUserID != act.Repo.Owner.ID { - act.ID = 0 - act.UserID = act.Repo.Owner.ID - if _, err = e.InsertOne(act); err != nil { - return fmt.Errorf("insert new actioner: %v", err) - } + // Add feed for organization + if act.Repo.Owner.IsOrganization() && act.ActUserID != act.Repo.Owner.ID { + act.ID = 0 + act.UserID = act.Repo.Owner.ID + if _, err = e.InsertOne(act); err != nil { + return fmt.Errorf("insert new actioner: %v", err) } }