Moved methods to get issue dependencies for a given issue from repo to issue
+ Simplified both.
This commit is contained in:
parent
6109fcf49a
commit
85cdd94d92
|
|
@ -1447,3 +1447,45 @@ func updateIssue(e Engine, issue *Issue) error {
|
||||||
func UpdateIssue(issue *Issue) error {
|
func UpdateIssue(issue *Issue) error {
|
||||||
return updateIssue(x, issue)
|
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)
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -733,16 +733,6 @@ func (repo *Repository) getUsersWithAccessMode(e Engine, mode AccessMode) (_ []*
|
||||||
return users, nil
|
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
|
// NextIssueIndex returns the next issue index
|
||||||
// FIXME: should have a mutex to prevent producing same index for two issues that are created
|
// FIXME: should have a mutex to prevent producing same index for two issues that are created
|
||||||
// closely enough.
|
// closely enough.
|
||||||
|
|
@ -2452,35 +2442,3 @@ func (repo *Repository) GetUserFork(userID int64) (*Repository, error) {
|
||||||
}
|
}
|
||||||
return &forkedRepo, nil
|
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
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -715,8 +715,8 @@ func ViewIssue(ctx *context.Context) {
|
||||||
|
|
||||||
// Get Dependencies
|
// Get Dependencies
|
||||||
ctx.Data["IssueDependenciesEnabled"] = repo.UnitEnabled(models.UnitTypeIssueDependencies)
|
ctx.Data["IssueDependenciesEnabled"] = repo.UnitEnabled(models.UnitTypeIssueDependencies)
|
||||||
ctx.Data["BlockedByDependencies"], err = repo.BlockedByDependencies(issue.ID)
|
ctx.Data["BlockedByDependencies"], err = issue.BlockedByDependencies()
|
||||||
ctx.Data["BlockingDependencies"], err = repo.BlockingDependencies(issue.ID)
|
ctx.Data["BlockingDependencies"], err = issue.BlockingDependencies()
|
||||||
|
|
||||||
ctx.Data["Participants"] = participants
|
ctx.Data["Participants"] = participants
|
||||||
ctx.Data["NumParticipants"] = len(participants)
|
ctx.Data["NumParticipants"] = len(participants)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user