Milestone issues and pull requests (#5293)

* add milestone issues and pulls page instead of redirecting issues page

* add milestone when creating issue from milestone page

* refactor to merge similiar codes as a new function issues

* remove milestone info on milestone issues list

* fix missing params
This commit is contained in:
Lunny Xiao 2018-11-29 09:46:30 +08:00 committed by GitHub
parent d5d847e5c4
commit 2dc805c0c6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 573 additions and 262 deletions

View file

@ -1401,7 +1401,7 @@ type IssueStatsOptions struct {
AssigneeID int64
MentionedID int64
PosterID int64
IsPull bool
IsPull util.OptionalBool
IssueIDs []int64
}
@ -1411,8 +1411,7 @@ func GetIssueStats(opts *IssueStatsOptions) (*IssueStats, error) {
countSession := func(opts *IssueStatsOptions) *xorm.Session {
sess := x.
Where("issue.repo_id = ?", opts.RepoID).
And("issue.is_pull = ?", opts.IsPull)
Where("issue.repo_id = ?", opts.RepoID)
if len(opts.IssueIDs) > 0 {
sess.In("issue.id", opts.IssueIDs)
@ -1447,6 +1446,13 @@ func GetIssueStats(opts *IssueStatsOptions) (*IssueStats, error) {
And("issue_user.is_mentioned = ?", true)
}
switch opts.IsPull {
case util.OptionalBoolTrue:
sess.And("issue.is_pull=?", true)
case util.OptionalBoolFalse:
sess.And("issue.is_pull=?", false)
}
return sess
}

View file

@ -122,6 +122,18 @@ func GetMilestoneByRepoID(repoID, id int64) (*Milestone, error) {
return getMilestoneByRepoID(x, repoID, id)
}
// GetMilestoneByID returns the milestone via id .
func GetMilestoneByID(id int64) (*Milestone, error) {
var m Milestone
has, err := x.ID(id).Get(&m)
if err != nil {
return nil, err
} else if !has {
return nil, ErrMilestoneNotExist{id, 0}
}
return &m, nil
}
// MilestoneList is a list of milestones offering additional functionality
type MilestoneList []*Milestone