diff options
author | Elena Neuschild <eneuschild@gmail.com> | 2021-01-13 05:19:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-12 23:19:17 -0500 |
commit | 564030336dbfe1227ec458ecdedc0cfabdd4c1cc (patch) | |
tree | 7311fc29a8ed0c112a7891a11c34fbf76d9ad0eb /models/issue.go | |
parent | 81467e6f35f343b911c09f746deca869a48da4c8 (diff) | |
download | gitea-564030336dbfe1227ec458ecdedc0cfabdd4c1cc.tar.gz gitea-564030336dbfe1227ec458ecdedc0cfabdd4c1cc.zip |
Issues overview should not show issues from archived repos (#13220)
* Add lots of comments to user.Issues()
* Answered some questions from comments
* fix typo in comment
* Refac user.Issues(): add func repoIDs
* Refac user.Issues(): add func userRepoIDs
* Refac user.Issues(): add func issueIDsFromSearch
* Refac user.Issues(): improve error handling
* Refac user.Issues(): add inline documentation and move variable declarations closer to their usages
* Refac user.Issues(): add func repoIDMap
* Refac user.Issues(): cleanup
* Refac: Separate Issues from Pulls during routing
* fix typo in comment
* Adapt Unittests to Refactoring
* Issue13171: Issue and PR Overviews now ignore archived Repositories
* changed some verbatim SQL conditions to builder.Eq
* models/issue.go: use OptionalBool properly
Co-authored-by: 6543 <6543@obermui.de>
* Use IsArchived rather than ExcludeArchivedRepos
* fixed broken test after merge
* added nil check
* Added Unit Test securing Issue 13171 fix
* Improved IsArchived filtering in issue.GetUserIssueStats
* Removed unused func
* Added grouping to avoid returning duplicate repo IDs
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Gitea <gitea@fake.local>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to 'models/issue.go')
-rw-r--r-- | models/issue.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/models/issue.go b/models/issue.go index 18d01d57d4..b517f334c4 100644 --- a/models/issue.go +++ b/models/issue.go @@ -1104,6 +1104,7 @@ type IssuesOptions struct { UpdatedBeforeUnix int64 // prioritize issues from this repo PriorityRepoID int64 + IsArchived util.OptionalBool } // sortIssuesSession sort an issues-related session based on the provided @@ -1207,6 +1208,10 @@ func (opts *IssuesOptions) setupSession(sess *xorm.Session) { sess.And("issue.is_pull=?", false) } + if opts.IsArchived != util.OptionalBoolNone { + sess.Join("INNER", "repository", "issue.repo_id = repository.id").And(builder.Eq{"repository.is_archived": opts.IsArchived.IsTrue()}) + } + if opts.LabelIDs != nil { for i, labelID := range opts.LabelIDs { if labelID > 0 { @@ -1501,6 +1506,7 @@ type UserIssueStatsOptions struct { IsPull bool IsClosed bool IssueIDs []int64 + IsArchived util.OptionalBool LabelIDs []int64 } @@ -1524,6 +1530,10 @@ func GetUserIssueStats(opts UserIssueStatsOptions) (*IssueStats, error) { s.Join("INNER", "issue_label", "issue_label.issue_id = issue.id"). In("issue_label.label_id", opts.LabelIDs) } + if opts.IsArchived != util.OptionalBoolNone { + s.Join("INNER", "repository", "issue.repo_id = repository.id"). + And(builder.Eq{"repository.is_archived": opts.IsArchived.IsTrue()}) + } return s } |