From 85cdd94d92c7d12c0160fe6d0eacc3a1dc12dd4d Mon Sep 17 00:00:00 2001 From: Konrad Langenberg Date: Tue, 14 Nov 2017 22:04:46 +0100 Subject: [PATCH] Moved methods to get issue dependencies for a given issue from repo to issue + Simplified both. --- models/issue.go | 42 ++++++++++++++++++++++++++++++++++++++++++ models/repo.go | 42 ------------------------------------------ routers/repo/issue.go | 4 ++-- 3 files changed, 44 insertions(+), 44 deletions(-) diff --git a/models/issue.go b/models/issue.go index 17aef1055..b2ff7edfa 100644 --- a/models/issue.go +++ b/models/issue.go @@ -1447,3 +1447,45 @@ func updateIssue(e Engine, issue *Issue) error { func UpdateIssue(issue *Issue) error { return updateIssue(x, issue) } + +// Get Blocked By Dependencies, aka all issues this issue is blocked by. +func (issue *Issue) getBlockedByDependencies(e Engine) (_ []*Issue, err error) { + var issueDeps []*Issue + + if err = x. + Table("issue_dependency"). + Select("issue.*"). + Join("INNER", "issue", "issue.id = issue_dependency.dependency_id"). + Where("issue_id = ?", issue.ID). + Find(&issueDeps); err != nil { + return issueDeps, err + } + + return issueDeps, nil +} + +// Get Blocking Dependencies, aka all issues this issue blocks. +func (issue *Issue) getBlockingDependencies(e Engine) ([]*Issue, error) { + var issueDeps []*Issue + + if err := x. + Table("issue_dependency"). + Select("issue.*"). + Join("INNER", "issue", "issue.id = issue_dependency.issue_id"). + Where("dependency_id = ?", issue.ID). + Find(&issueDeps); err != nil { + return issueDeps, err + } + + return issueDeps, nil +} + +// BlockedByDependencies finds all Dependencies an issue is blocked by +func (issue *Issue) BlockedByDependencies() (_ []*Issue, err error) { + return issue.getBlockedByDependencies(x) +} + +// BlockingDependencies returns all blocking dependencies, aka all other issues a given issue blocks +func (issue *Issue) BlockingDependencies() (_ []*Issue, err error) { + return issue.getBlockingDependencies(x) +} diff --git a/models/repo.go b/models/repo.go index eeaa2dcde..8d57ae51a 100644 --- a/models/repo.go +++ b/models/repo.go @@ -733,16 +733,6 @@ func (repo *Repository) getUsersWithAccessMode(e Engine, mode AccessMode) (_ []* return users, nil } -// BlockedByDependencies finds all Dependencies an issue is blocked by -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) (_ []*Issue, err error) { - return repo.getBlockingDependencies(x, issueID) -} - // NextIssueIndex returns the next issue index // FIXME: should have a mutex to prevent producing same index for two issues that are created // closely enough. @@ -2452,35 +2442,3 @@ func (repo *Repository) GetUserFork(userID int64) (*Repository, error) { } return &forkedRepo, nil } - -// Get Blocked By Dependencies, aka all issues this issue is blocked by. -func (repo *Repository) getBlockedByDependencies(e Engine, issueID int64) (_ []*Issue, err error) { - var issueDeps []*Issue - - 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 - } - - return issueDeps, nil -} - -// Get Blocking Dependencies, aka all issues this issue blocks. -func (repo *Repository) getBlockingDependencies(e Engine, issueID int64) ([]*Issue, error) { - var issueDeps []*Issue - - 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 - } - - return issueDeps, nil -} diff --git a/routers/repo/issue.go b/routers/repo/issue.go index 0f164cfa4..e8940f55a 100644 --- a/routers/repo/issue.go +++ b/routers/repo/issue.go @@ -715,8 +715,8 @@ func ViewIssue(ctx *context.Context) { // Get Dependencies ctx.Data["IssueDependenciesEnabled"] = repo.UnitEnabled(models.UnitTypeIssueDependencies) - ctx.Data["BlockedByDependencies"], err = repo.BlockedByDependencies(issue.ID) - ctx.Data["BlockingDependencies"], err = repo.BlockingDependencies(issue.ID) + ctx.Data["BlockedByDependencies"], err = issue.BlockedByDependencies() + ctx.Data["BlockingDependencies"], err = issue.BlockingDependencies() ctx.Data["Participants"] = participants ctx.Data["NumParticipants"] = len(participants)