Quellcode durchsuchen

Fix column name ambiguity in GetUserIssueStats() (#8347)

* Add test for FilterModeMention

* Fix column name ambiguity

* Fix fmt
tags/v1.10.0-rc1
guillep2k vor 4 Jahren
Ursprung
Commit
740a0c4dd4
2 geänderte Dateien mit 17 neuen und 4 gelöschten Zeilen
  1. 4
    4
      models/issue.go
  2. 13
    0
      models/issue_test.go

+ 4
- 4
models/issue.go Datei anzeigen

return nil, err return nil, err
} }
case FilterModeAssign: case FilterModeAssign:
stats.OpenCount, err = x.Where(cond).And("is_closed = ?", false).
stats.OpenCount, err = x.Where(cond).And("issue.is_closed = ?", false).
Join("INNER", "issue_assignees", "issue.id = issue_assignees.issue_id"). Join("INNER", "issue_assignees", "issue.id = issue_assignees.issue_id").
And("issue_assignees.assignee_id = ?", opts.UserID). And("issue_assignees.assignee_id = ?", opts.UserID).
Count(new(Issue)) Count(new(Issue))
if err != nil { if err != nil {
return nil, err return nil, err
} }
stats.ClosedCount, err = x.Where(cond).And("is_closed = ?", true).
stats.ClosedCount, err = x.Where(cond).And("issue.is_closed = ?", true).
Join("INNER", "issue_assignees", "issue.id = issue_assignees.issue_id"). Join("INNER", "issue_assignees", "issue.id = issue_assignees.issue_id").
And("issue_assignees.assignee_id = ?", opts.UserID). And("issue_assignees.assignee_id = ?", opts.UserID).
Count(new(Issue)) Count(new(Issue))
return nil, err return nil, err
} }
case FilterModeMention: case FilterModeMention:
stats.OpenCount, err = x.Where(cond).And("is_closed = ?", false).
stats.OpenCount, err = x.Where(cond).And("issue.is_closed = ?", false).
Join("INNER", "issue_user", "issue.id = issue_user.issue_id and issue_user.is_mentioned = ?", true). Join("INNER", "issue_user", "issue.id = issue_user.issue_id and issue_user.is_mentioned = ?", true).
And("issue_user.uid = ?", opts.UserID). And("issue_user.uid = ?", opts.UserID).
Count(new(Issue)) Count(new(Issue))
if err != nil { if err != nil {
return nil, err return nil, err
} }
stats.ClosedCount, err = x.Where(cond).And("is_closed = ?", true).
stats.ClosedCount, err = x.Where(cond).And("issue.is_closed = ?", true).
Join("INNER", "issue_user", "issue.id = issue_user.issue_id and issue_user.is_mentioned = ?", true). Join("INNER", "issue_user", "issue.id = issue_user.issue_id and issue_user.is_mentioned = ?", true).
And("issue_user.uid = ?", opts.UserID). And("issue_user.uid = ?", opts.UserID).
Count(new(Issue)) Count(new(Issue))

+ 13
- 0
models/issue_test.go Datei anzeigen

ClosedCount: 2, ClosedCount: 2,
}, },
}, },
{
UserIssueStatsOptions{
UserID: 1,
FilterMode: FilterModeMention,
},
IssueStats{
YourRepositoriesCount: 0,
AssignCount: 2,
CreateCount: 2,
OpenCount: 0,
ClosedCount: 0,
},
},
} { } {
stats, err := GetUserIssueStats(test.Opts) stats, err := GetUserIssueStats(test.Opts)
if !assert.NoError(t, err) { if !assert.NoError(t, err) {

Laden…
Abbrechen
Speichern