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 {
|
||||
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
|
||||
}
|
||||
|
||||
// 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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user