1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-22 18:28:37 +00:00

finish new issue action and mentions

This commit is contained in:
Unknwon
2015-08-10 23:31:59 +08:00
parent 887bc1b594
commit cbc7b7132f
6 changed files with 123 additions and 100 deletions

View File

@@ -188,6 +188,22 @@ func NewIssue(repo *Repository, issue *Issue, labelIDs []int64) (err error) {
return err
}
// Notify watchers.
act := &Action{
ActUserID: issue.Poster.Id,
ActUserName: issue.Poster.Name,
ActEmail: issue.Poster.Email,
OpType: CREATE_ISSUE,
Content: fmt.Sprintf("%d|%s", issue.Index, issue.Name),
RepoID: repo.ID,
RepoUserName: repo.Owner.Name,
RepoName: repo.Name,
IsPrivate: repo.IsPrivate,
}
if err = notifyWatchers(sess, act); err != nil {
return err
}
return sess.Commit()
}
@@ -583,8 +599,8 @@ func UpdateIssueUserPairByRead(uid, iid int64) error {
return err
}
// UpdateIssueUserPairsByMentions updates issue-user pairs by mentioning.
func UpdateIssueUserPairsByMentions(uids []int64, iid int64) error {
// UpdateIssueUsersByMentions updates issue-user pairs by mentioning.
func UpdateIssueUsersByMentions(uids []int64, iid int64) error {
for _, uid := range uids {
iu := &IssueUser{UID: uid, IssueID: iid}
has, err := x.Get(iu)

View File

@@ -911,18 +911,19 @@ func UnFollowUser(userId int64, unFollowId int64) (err error) {
}
func UpdateMentions(userNames []string, issueId int64) error {
for i := range userNames {
userNames[i] = strings.ToLower(userNames[i])
}
users := make([]*User, 0, len(userNames))
if err := x.Where("name IN (?)", strings.Join(userNames, "\",\"")).OrderBy("name ASC").Find(&users); err != nil {
if err := x.Where("lower_name IN (?)", strings.Join(userNames, "\",\"")).OrderBy("lower_name ASC").Find(&users); err != nil {
return err
}
ids := make([]int64, 0, len(userNames))
for _, user := range users {
ids = append(ids, user.Id)
if user.Type == INDIVIDUAL {
if !user.IsOrganization() {
continue
}
@@ -931,9 +932,7 @@ func UpdateMentions(userNames []string, issueId int64) error {
}
tempIds := make([]int64, 0, user.NumMembers)
orgUsers, err := GetOrgUsersByOrgId(user.Id)
if err != nil {
return err
}
@@ -945,7 +944,7 @@ func UpdateMentions(userNames []string, issueId int64) error {
ids = append(ids, tempIds...)
}
if err := UpdateIssueUserPairsByMentions(ids, issueId); err != nil {
if err := UpdateIssueUsersByMentions(ids, issueId); err != nil {
return err
}