diff options
author | Unknwon <u@gogs.io> | 2017-03-09 00:03:29 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2017-03-09 00:03:29 -0500 |
commit | c93731339f3da01bb1158acc7acf781f0dfe2468 (patch) | |
tree | 7c1d161ab780949e5b84313c85788cc1aa2ac9d4 /models/issue_label.go | |
parent | bab448681d613e3982c46c7bd9ed54319638a3dd (diff) |
webhook: support Issues event (#2319)
Also addresses #3485.
Diffstat (limited to 'models/issue_label.go')
-rw-r--r-- | models/issue_label.go | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/models/issue_label.go b/models/issue_label.go index bdda3432..9136b81a 100644 --- a/models/issue_label.go +++ b/models/issue_label.go @@ -240,7 +240,13 @@ func newIssueLabel(e *xorm.Session, issue *Issue, label *Label) (err error) { if issue.IsClosed { label.NumClosedIssues++ } - return updateLabel(e, label) + + if err = updateLabel(e, label); err != nil { + return fmt.Errorf("updateLabel: %v", err) + } + + issue.Labels = append(issue.Labels, label) + return nil } // NewIssueLabel creates a new issue-label relation. @@ -313,7 +319,17 @@ func deleteIssueLabel(e *xorm.Session, issue *Issue, label *Label) (err error) { if issue.IsClosed { label.NumClosedIssues-- } - return updateLabel(e, label) + if err = updateLabel(e, label); err != nil { + return fmt.Errorf("updateLabel: %v", err) + } + + for i := range issue.Labels { + if issue.Labels[i].ID == label.ID { + issue.Labels = append(issue.Labels[:i], issue.Labels[i+1:]...) + break + } + } + return nil } // DeleteIssueLabel deletes issue-label relation. |