Changes
2 changed files (+53/-5)
-
-
@@ -1603,6 +1603,7 @@ const (FilterModeCreate FilterModeMention FilterModeReviewRequested FilterModeYourRepositories ) func parseCountResult(results []map[string][]byte) int64 {
-
@@ -1747,6 +1748,7 @@ type UserIssueStatsOptions struct {IssueIDs []int64 IsArchived util.OptionalBool LabelIDs []int64 RepoCond builder.Cond Org *Organization Team *Team }
-
@@ -1764,6 +1766,9 @@ func GetUserIssueStats(opts UserIssueStatsOptions) (*IssueStats, error) {if len(opts.IssueIDs) > 0 { cond = cond.And(builder.In("issue.id", opts.IssueIDs)) } if opts.RepoCond != nil { cond = cond.And(opts.RepoCond) } if opts.UserID > 0 { cond = cond.And(issuePullAccessibleRepoCond("issue.repo_id", opts.UserID, opts.Org, opts.Team, opts.IsPull))
-
@@ -1785,7 +1790,7 @@ func GetUserIssueStats(opts UserIssueStatsOptions) (*IssueStats, error) {} switch opts.FilterMode { case FilterModeAll: case FilterModeAll, FilterModeYourRepositories: stats.OpenCount, err = sess(cond). And("issue.is_closed = ?", false). Count(new(Issue))
-
-
-
@@ -362,7 +362,7 @@ func buildIssueOverview(ctx *context.Context, unitType unit.Type) {var ( viewType string sortType = ctx.FormString("sort") filterMode = models.FilterModeAll filterMode int ) // --------------------------------------------------------------------------------
-
@@ -388,8 +388,10 @@ func buildIssueOverview(ctx *context.Context, unitType unit.Type) {filterMode = models.FilterModeMention case "review_requested": filterMode = models.FilterModeReviewRequested case "your_repositories": // filterMode already set to All case "your_repositories": fallthrough default: filterMode = models.FilterModeYourRepositories viewType = "your_repositories" }
-
@@ -419,6 +421,30 @@ func buildIssueOverview(ctx *context.Context, unitType unit.Type) {User: ctx.Doer, } // Search all repositories which // // As user: // - Owns the repository. // - Have collaborator permissions in repository. // // As org: // - Owns the repository. // // As team: // - Team org's owns the repository. // - Team has read permission to repository. repoOpts := &models.SearchRepoOptions{ Actor: ctx.Doer, OwnerID: ctx.Doer.ID, Private: true, AllPublic: false, AllLimited: false, } if ctxUser.IsOrganization() && ctx.Org.Team != nil { repoOpts.TeamID = ctx.Org.Team.ID } switch filterMode { case models.FilterModeAll: case models.FilterModeAssign:
-
@@ -429,6 +455,19 @@ func buildIssueOverview(ctx *context.Context, unitType unit.Type) {opts.MentionedID = ctx.Doer.ID case models.FilterModeReviewRequested: opts.ReviewRequestedID = ctx.Doer.ID case models.FilterModeYourRepositories: if ctxUser.IsOrganization() && ctx.Org.Team != nil { // Fixes a issue whereby the user's ID would be used // to check if it's in the team(which possible isn't the case). opts.User = nil } userRepoIDs, _, err := models.SearchRepositoryIDs(repoOpts) if err != nil { ctx.ServerError("models.SearchRepositoryIDs: %v", err) return } opts.RepoIDs = userRepoIDs } // keyword holds the search term entered into the search field.
-
@@ -560,8 +599,12 @@ func buildIssueOverview(ctx *context.Context, unitType unit.Type) {Org: org, Team: team, } if len(repoIDs) > 0 { statsOpts.RepoIDs = repoIDs if filterMode == models.FilterModeYourRepositories { statsOpts.RepoCond = models.SearchRepositoryCondition(repoOpts) } // Detect when we only should search by team. if opts.User == nil { statsOpts.UserID = 0 } issueStats, err = models.GetUserIssueStats(statsOpts) if err != nil {
-