diff --git a/models/issues/issue_project.go b/models/issues/issue_project.go index 6331b668fa..b0910459a3 100644 --- a/models/issues/issue_project.go +++ b/models/issues/issue_project.go @@ -42,6 +42,8 @@ func (issue *Issue) LoadProjectIssue(ctx context.Context) (err error) { return err } + issue.ProjectIssue.Project = issue.Project + return issue.ProjectIssue.LoadProjectColumn(ctx) } diff --git a/models/project/issue.go b/models/project/issue.go index b0372cde31..e4d2e6e3b3 100644 --- a/models/project/issue.go +++ b/models/project/issue.go @@ -14,9 +14,10 @@ import ( // ProjectIssue saves relation from issue to a project type ProjectIssue struct { //revive:disable-line:exported - ID int64 `xorm:"pk autoincr"` - IssueID int64 `xorm:"INDEX"` - ProjectID int64 `xorm:"INDEX"` + ID int64 `xorm:"pk autoincr"` + IssueID int64 `xorm:"INDEX"` + ProjectID int64 `xorm:"INDEX"` + Project *Project `xorm:"-"` // ProjectColumnID should not be zero since 1.22. If it's zero, the issue will not be displayed on UI and it might result in errors. ProjectColumnID int64 `xorm:"'project_board_id' INDEX"` @@ -70,6 +71,11 @@ func (issue *ProjectIssue) LoadProjectColumn(ctx context.Context) error { var err error + if issue.ProjectColumnID == 0 { + issue.ProjectColumn, err = issue.Project.GetDefaultColumn(ctx) + return err + } + issue.ProjectColumn, err = GetColumn(ctx, issue.ProjectColumnID) return err }