mirror of https://github.com/gogs/gogs.git
models/pull: load attributes when fetch list of pull requests (#4089)
Code only fetched issues corresponding to the pull requests, and left out necessary base/head repository objects, which is required later to generate API format.pull/3954/merge
parent
09ad42b918
commit
418dab9b96
2
gogs.go
2
gogs.go
|
@ -16,7 +16,7 @@ import (
|
|||
"github.com/gogits/gogs/modules/setting"
|
||||
)
|
||||
|
||||
const APP_VER = "0.9.136.0209"
|
||||
const APP_VER = "0.9.137.0209"
|
||||
|
||||
func init() {
|
||||
setting.AppVer = APP_VER
|
||||
|
|
|
@ -621,18 +621,18 @@ func (pr *PullRequest) AddToTaskQueue() {
|
|||
|
||||
type PullRequestList []*PullRequest
|
||||
|
||||
func (prs PullRequestList) loadAttributes(e Engine) error {
|
||||
func (prs PullRequestList) loadAttributes(e Engine) (err error) {
|
||||
if len(prs) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Load issues.
|
||||
// Load issues
|
||||
issueIDs := make([]int64, 0, len(prs))
|
||||
for i := range prs {
|
||||
issueIDs = append(issueIDs, prs[i].IssueID)
|
||||
}
|
||||
issues := make([]*Issue, 0, len(issueIDs))
|
||||
if err := e.Where("id > 0").In("id", issueIDs).Find(&issues); err != nil {
|
||||
if err = e.Where("id > 0").In("id", issueIDs).Find(&issues); err != nil {
|
||||
return fmt.Errorf("find issues: %v", err)
|
||||
}
|
||||
|
||||
|
@ -643,6 +643,14 @@ func (prs PullRequestList) loadAttributes(e Engine) error {
|
|||
for i := range prs {
|
||||
prs[i].Issue = set[prs[i].IssueID]
|
||||
}
|
||||
|
||||
// Load attributes
|
||||
for i := range prs {
|
||||
if err = prs[i].loadAttributes(e); err != nil {
|
||||
return fmt.Errorf("loadAttributes [%d]: %v", prs[i].ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
0.9.136.0209
|
||||
0.9.137.0209
|
Loading…
Reference in New Issue