From 6109fcf49a08b49383d2296463fab4b7d942673f Mon Sep 17 00:00:00 2001 From: Konrad Langenberg Date: Tue, 14 Nov 2017 21:41:49 +0100 Subject: [PATCH] Simplified check for open dependencies --- models/issue_dependency.go | 15 +++-------- models/repo.go | 26 +++++++++++++------ .../repo/issue/view_content/sidebar.tmpl | 4 +-- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/models/issue_dependency.go b/models/issue_dependency.go index 736d2dbd8..8cbfcbd93 100644 --- a/models/issue_dependency.go +++ b/models/issue_dependency.go @@ -113,25 +113,16 @@ func issueDepExists(e Engine, issueID int64, depID int64) (exists bool, err erro return } -// IssueDependencyIssue custom type for mysql join -type IssueDependencyIssue struct { - IssueDependency `xorm:"extends"` - Issue `xorm:"extends"` -} - -// TableName returns table name for mysql join -func (IssueDependencyIssue) TableName() string { - return "issue_dependency" -} - // IssueNoDependenciesLeft checks if issue can be closed func IssueNoDependenciesLeft(issue *Issue) (bool, error) { exists, err := x. + Table("issue_dependency"). + Select("issue.*"). Join("INNER", "issue", "issue.id = issue_dependency.dependency_id"). Where("issue_dependency.issue_id = ?", issue.ID). And("issue.is_closed = ?", "0"). - Exist(&IssueDependencyIssue{}) + Exist(&Issue{}) return !exists, err } diff --git a/models/repo.go b/models/repo.go index de6256937..eeaa2dcde 100644 --- a/models/repo.go +++ b/models/repo.go @@ -734,12 +734,12 @@ func (repo *Repository) getUsersWithAccessMode(e Engine, mode AccessMode) (_ []* } // BlockedByDependencies finds all Dependencies an issue is blocked by -func (repo *Repository) BlockedByDependencies(issueID int64) (_ []*IssueDependencyIssue, err error) { +func (repo *Repository) BlockedByDependencies(issueID int64) (_ []*Issue, err error) { return repo.getBlockedByDependencies(x, issueID) } // BlockingDependencies returns all blocking dependencies -func (repo *Repository) BlockingDependencies(issueID int64) (_ []*IssueDependencyIssue, err error) { +func (repo *Repository) BlockingDependencies(issueID int64) (_ []*Issue, err error) { return repo.getBlockingDependencies(x, issueID) } @@ -2454,10 +2454,15 @@ func (repo *Repository) GetUserFork(userID int64) (*Repository, error) { } // Get Blocked By Dependencies, aka all issues this issue is blocked by. -func (repo *Repository) getBlockedByDependencies(e Engine, issueID int64) (_ []*IssueDependencyIssue, err error) { - var issueDeps []*IssueDependencyIssue +func (repo *Repository) getBlockedByDependencies(e Engine, issueID int64) (_ []*Issue, err error) { + var issueDeps []*Issue - if err = x.Join("INNER", "issue", "issue.id = issue_dependency.dependency_id").Where("issue_id = ?", issueID).Find(&issueDeps); err != nil { + if err = x. + Table("issue_dependency"). + Select("issue.*"). + Join("INNER", "issue", "issue.id = issue_dependency.dependency_id"). + Where("issue_id = ?", issueID). + Find(&issueDeps); err != nil { return issueDeps, err } @@ -2465,10 +2470,15 @@ func (repo *Repository) getBlockedByDependencies(e Engine, issueID int64) (_ []* } // Get Blocking Dependencies, aka all issues this issue blocks. -func (repo *Repository) getBlockingDependencies(e Engine, issueID int64) ([]*IssueDependencyIssue, error) { - var issueDeps []*IssueDependencyIssue +func (repo *Repository) getBlockingDependencies(e Engine, issueID int64) ([]*Issue, error) { + var issueDeps []*Issue - if err := x.Join("INNER", "issue", "issue.id = issue_dependency.issue_id").Where("dependency_id = ?", issueID).Find(&issueDeps); err != nil { + if err := x. + Table("issue_dependency"). + Select("issue.*"). + Join("INNER", "issue", "issue.id = issue_dependency.issue_id"). + Where("dependency_id = ?", issueID). + Find(&issueDeps); err != nil { return issueDeps, err } diff --git a/templates/repo/issue/view_content/sidebar.tmpl b/templates/repo/issue/view_content/sidebar.tmpl index 92717c7dc..a29ca82ae 100644 --- a/templates/repo/issue/view_content/sidebar.tmpl +++ b/templates/repo/issue/view_content/sidebar.tmpl @@ -210,7 +210,7 @@ {{range .BlockedByDependencies}}
- + {{if .IsClosed}} @@ -242,7 +242,7 @@ {{range .BlockingDependencies}}
- + {{if .IsClosed}}