mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	This commit is contained in:
		@@ -364,21 +364,17 @@ func Issues(ctx *context.Context) {
 | 
			
		||||
		filterMode = models.FilterModeAll
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
	if ctxUser.IsOrganization() {
 | 
			
		||||
	viewType = ctx.Query("type")
 | 
			
		||||
	switch viewType {
 | 
			
		||||
	case "assigned":
 | 
			
		||||
		filterMode = models.FilterModeAssign
 | 
			
		||||
	case "created_by":
 | 
			
		||||
		filterMode = models.FilterModeCreate
 | 
			
		||||
	case "mentioned":
 | 
			
		||||
		filterMode = models.FilterModeMention
 | 
			
		||||
	case "your_repositories": // filterMode already set to All
 | 
			
		||||
	default:
 | 
			
		||||
		viewType = "your_repositories"
 | 
			
		||||
	} else {
 | 
			
		||||
		viewType = ctx.Query("type")
 | 
			
		||||
		switch viewType {
 | 
			
		||||
		case "assigned":
 | 
			
		||||
			filterMode = models.FilterModeAssign
 | 
			
		||||
		case "created_by":
 | 
			
		||||
			filterMode = models.FilterModeCreate
 | 
			
		||||
		case "mentioned":
 | 
			
		||||
			filterMode = models.FilterModeMention
 | 
			
		||||
		case "your_repositories": // filterMode already set to All
 | 
			
		||||
		default:
 | 
			
		||||
			viewType = "your_repositories"
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	page := ctx.QueryInt("page")
 | 
			
		||||
@@ -453,11 +449,15 @@ func Issues(ctx *context.Context) {
 | 
			
		||||
	case models.FilterModeAll:
 | 
			
		||||
		opts.RepoIDs = userRepoIDs
 | 
			
		||||
	case models.FilterModeAssign:
 | 
			
		||||
		opts.AssigneeID = ctxUser.ID
 | 
			
		||||
		opts.AssigneeID = ctx.User.ID
 | 
			
		||||
	case models.FilterModeCreate:
 | 
			
		||||
		opts.PosterID = ctxUser.ID
 | 
			
		||||
		opts.PosterID = ctx.User.ID
 | 
			
		||||
	case models.FilterModeMention:
 | 
			
		||||
		opts.MentionedID = ctxUser.ID
 | 
			
		||||
		opts.MentionedID = ctx.User.ID
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if ctxUser.IsOrganization() {
 | 
			
		||||
		opts.RepoIDs = userRepoIDs
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var forceEmpty bool
 | 
			
		||||
@@ -575,7 +575,7 @@ func Issues(ctx *context.Context) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	userIssueStatsOpts := models.UserIssueStatsOptions{
 | 
			
		||||
		UserID:      ctxUser.ID,
 | 
			
		||||
		UserID:      ctx.User.ID,
 | 
			
		||||
		UserRepoIDs: userRepoIDs,
 | 
			
		||||
		FilterMode:  filterMode,
 | 
			
		||||
		IsPull:      isPullList,
 | 
			
		||||
@@ -585,6 +585,9 @@ func Issues(ctx *context.Context) {
 | 
			
		||||
	if len(repoIDs) > 0 {
 | 
			
		||||
		userIssueStatsOpts.UserRepoIDs = repoIDs
 | 
			
		||||
	}
 | 
			
		||||
	if ctxUser.IsOrganization() {
 | 
			
		||||
		userIssueStatsOpts.RepoIDs = userRepoIDs
 | 
			
		||||
	}
 | 
			
		||||
	userIssueStats, err := models.GetUserIssueStats(userIssueStatsOpts)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.ServerError("GetUserIssueStats User", err)
 | 
			
		||||
@@ -594,7 +597,7 @@ func Issues(ctx *context.Context) {
 | 
			
		||||
	var shownIssueStats *models.IssueStats
 | 
			
		||||
	if !forceEmpty {
 | 
			
		||||
		statsOpts := models.UserIssueStatsOptions{
 | 
			
		||||
			UserID:      ctxUser.ID,
 | 
			
		||||
			UserID:      ctx.User.ID,
 | 
			
		||||
			UserRepoIDs: userRepoIDs,
 | 
			
		||||
			FilterMode:  filterMode,
 | 
			
		||||
			IsPull:      isPullList,
 | 
			
		||||
@@ -604,6 +607,8 @@ func Issues(ctx *context.Context) {
 | 
			
		||||
		}
 | 
			
		||||
		if len(repoIDs) > 0 {
 | 
			
		||||
			statsOpts.RepoIDs = repoIDs
 | 
			
		||||
		} else if ctxUser.IsOrganization() {
 | 
			
		||||
			statsOpts.RepoIDs = userRepoIDs
 | 
			
		||||
		}
 | 
			
		||||
		shownIssueStats, err = models.GetUserIssueStats(statsOpts)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
@@ -616,15 +621,19 @@ func Issues(ctx *context.Context) {
 | 
			
		||||
 | 
			
		||||
	var allIssueStats *models.IssueStats
 | 
			
		||||
	if !forceEmpty {
 | 
			
		||||
		allIssueStats, err = models.GetUserIssueStats(models.UserIssueStatsOptions{
 | 
			
		||||
			UserID:      ctxUser.ID,
 | 
			
		||||
		allIssueStatsOpts := models.UserIssueStatsOptions{
 | 
			
		||||
			UserID:      ctx.User.ID,
 | 
			
		||||
			UserRepoIDs: userRepoIDs,
 | 
			
		||||
			FilterMode:  filterMode,
 | 
			
		||||
			IsPull:      isPullList,
 | 
			
		||||
			IsClosed:    isShowClosed,
 | 
			
		||||
			IssueIDs:    issueIDsFromSearch,
 | 
			
		||||
			LabelIDs:    opts.LabelIDs,
 | 
			
		||||
		})
 | 
			
		||||
		}
 | 
			
		||||
		if ctxUser.IsOrganization() {
 | 
			
		||||
			allIssueStatsOpts.RepoIDs = userRepoIDs
 | 
			
		||||
		}
 | 
			
		||||
		allIssueStats, err = models.GetUserIssueStats(allIssueStatsOpts)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			ctx.ServerError("GetUserIssueStats All", err)
 | 
			
		||||
			return
 | 
			
		||||
 
 | 
			
		||||
@@ -9,20 +9,18 @@
 | 
			
		||||
						{{.i18n.Tr "home.issues.in_your_repos"}}
 | 
			
		||||
						<strong class="ui right">{{CountFmt .IssueStats.YourRepositoriesCount}}</strong>
 | 
			
		||||
					</a>
 | 
			
		||||
					{{if not .ContextUser.IsOrganization}}
 | 
			
		||||
						<a class="{{if eq .ViewType "assigned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=assigned&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
 | 
			
		||||
							{{.i18n.Tr "repo.issues.filter_type.assigned_to_you"}}
 | 
			
		||||
							<strong class="ui right">{{CountFmt .IssueStats.AssignCount}}</strong>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a class="{{if eq .ViewType "created_by"}}ui basic blue button{{end}} item" href="{{.Link}}?type=created_by&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
 | 
			
		||||
							{{.i18n.Tr "repo.issues.filter_type.created_by_you"}}
 | 
			
		||||
							<strong class="ui right">{{CountFmt .IssueStats.CreateCount}}</strong>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a class="{{if eq .ViewType "mentioned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=mentioned&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
 | 
			
		||||
							{{.i18n.Tr "repo.issues.filter_type.mentioning_you"}}
 | 
			
		||||
							<strong class="ui right">{{CountFmt .IssueStats.MentionCount}}</strong>
 | 
			
		||||
						</a>
 | 
			
		||||
					{{end}}
 | 
			
		||||
					<a class="{{if eq .ViewType "assigned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=assigned&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
 | 
			
		||||
						{{.i18n.Tr "repo.issues.filter_type.assigned_to_you"}}
 | 
			
		||||
						<strong class="ui right">{{CountFmt .IssueStats.AssignCount}}</strong>
 | 
			
		||||
					</a>
 | 
			
		||||
					<a class="{{if eq .ViewType "created_by"}}ui basic blue button{{end}} item" href="{{.Link}}?type=created_by&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
 | 
			
		||||
						{{.i18n.Tr "repo.issues.filter_type.created_by_you"}}
 | 
			
		||||
						<strong class="ui right">{{CountFmt .IssueStats.CreateCount}}</strong>
 | 
			
		||||
					</a>
 | 
			
		||||
					<a class="{{if eq .ViewType "mentioned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=mentioned&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
 | 
			
		||||
						{{.i18n.Tr "repo.issues.filter_type.mentioning_you"}}
 | 
			
		||||
						<strong class="ui right">{{CountFmt .IssueStats.MentionCount}}</strong>
 | 
			
		||||
					</a>
 | 
			
		||||
					<div class="ui divider"></div>
 | 
			
		||||
					<a class="{{if not $.RepoIDs}}ui basic blue button{{end}} repo name item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&q={{$.Keyword}}">
 | 
			
		||||
						<span class="text truncate">All</span>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user