diff --git a/models/issue_watch.go b/models/issue_watch.go index 06f6d61800..b2e7fe5f4d 100644 --- a/models/issue_watch.go +++ b/models/issue_watch.go @@ -63,6 +63,7 @@ func GetIssueWatchers(issueID int64) ([]*IssueWatch, error) { } func getIssueWatchers(e Engine, issueID int64) (watches []*IssueWatch, err error) { + // handle manual watchers err = e. Where("`issue_watch`.issue_id = ?", issueID). And("`issue_watch`.is_watching > ?", 0). @@ -70,6 +71,11 @@ func getIssueWatchers(e Engine, issueID int64) (watches []*IssueWatch, err error And("`user`.prohibit_login = ?", false). Join("INNER", "`user`", "`user`.id = `issue_watch`.user_id"). Find(&watches) + // handle default watchers (repowatchers) + // SELECT x.user_id as repowatchers FROM (SELECT watch.user_id FROM issue,watch WHERE issue.repo_id = watch.repo_id AND issue.id = 71) as x LEFT JOIN (SELECT user_id FROM issue_watch WHERE is_watching = 0) as y ON x.user_id = y.user_id WHERE y.user_id IS NULL; + // returns list of userIDs + + //watches = append(watches) return }