summaryrefslogtreecommitdiffstats
path: root/models/issue.go
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2019-12-02 04:50:36 +0100
committertechknowlogick <techknowlogick@gitea.io>2019-12-01 22:50:36 -0500
commit66028d58f9ed3f69a82b84360784f8e6ccbcd582 (patch)
tree2d2b9df042d5a0f8f1968a65bd1b9e5ade909ee6 /models/issue.go
parent668eaf95d581f68507523563d0701000a4505055 (diff)
downloadgitea-66028d58f9ed3f69a82b84360784f8e6ccbcd582.tar.gz
gitea-66028d58f9ed3f69a82b84360784f8e6ccbcd582.zip
[UI] IssuePage multi repo select (#8741)
* Make repository list @ issues/PR page persist Will partially fix #6355 * Enable multiple selections in repo list @ issues/PR page Part of issue #6355 * Add RepoIDs to UserIssueStatsOptions to make "type" count correct when selecting one/multiple repos. * Replace variable "repo" with list "repos[]" and enable multiple selections of repositories from list by including/excluding RepoIDs in list. * * Remove redundant code * Add 'All' button Improves functionality of the page, so that backtracking is not necessary to reset the page * Remove redundant variable Completely replace 'RepoID' with 'RepoIDs' and remove redundant code * Add RepoIDs to label link * Revert part of code to previous version to troubleshoot build failure * Implement old and new pieces of code whilst adhering to multi select * Attempt to join the two versions Last commit passed tests but doesn't work in practice, this works in practice and hopefully passes the tests. * Update tests to desired state * Fix pagination implementation and tests * Pass repoIDs as `repos=[1,2,3...]` instead of several `repos[]=..` * Update tests file to reflect new functionality * Update template with new `repos` format * Implement new solution to show constant "total issues" count for "All" button * Correct behavior when passing zero to array * Comment out test url returning 404 This keeps returning 404 in the test despite working in practice, for the sake of running more tests I am commenting it out * Comment out another test url returning 404 Last attempt, if more tests crash I will uncomment the urls and request assistance. * Reenable tests and test fix * Re-enable tests * Make selecting "In your repositories" reset selection as passing IDs of repos belonging to other profiles causes breakage * Remove unnecessary (with multi-selection enable) code * Drop repo from repo map and total count if permission denied * Remove extra parenthesis * make template work again * find bug! * forgot the '#' at bugfixing * delete unused RepoID * compile regex only one time * make fmt * local variable = capital letter lower * check if repos query pattern is correct * pagination remove last , - make regex work again * use Replace instead of ReplaceAll; del delete * fix test * how did this test binary got in?!? dont forgot the "-p" at git add * ! * dont replace -> cut fisrt & last string Co-Authored-By: zeripath <art27@cantab.net> * jet another regex dont mind as long as it has the same result and is performatn ... Co-Authored-By: zeripath <art27@cantab.net> * dont use nonexisting repo for test * exclude /issues?type=created_by from test * add table to querys use same syntax in each query (table.colum) * add new issue for test * dont make a workaround or something else this need a refactor itself and is out of scope for this PR * fix misspell * CI.redo() * englisch txt update Co-Authored-By: zeripath <art27@cantab.net> * add sugestions * Tweak & Fix * CI.restart()
Diffstat (limited to 'models/issue.go')
-rw-r--r--models/issue.go18
1 files changed, 9 insertions, 9 deletions
diff --git a/models/issue.go b/models/issue.go
index 310971c45f..a3597f1585 100644
--- a/models/issue.go
+++ b/models/issue.go
@@ -1402,7 +1402,7 @@ func GetIssueStats(opts *IssueStatsOptions) (*IssueStats, error) {
// UserIssueStatsOptions contains parameters accepted by GetUserIssueStats.
type UserIssueStatsOptions struct {
UserID int64
- RepoID int64
+ RepoIDs []int64
UserRepoIDs []int64
FilterMode int
IsPull bool
@@ -1416,19 +1416,19 @@ func GetUserIssueStats(opts UserIssueStatsOptions) (*IssueStats, error) {
cond := builder.NewCond()
cond = cond.And(builder.Eq{"issue.is_pull": opts.IsPull})
- if opts.RepoID > 0 {
- cond = cond.And(builder.Eq{"issue.repo_id": opts.RepoID})
+ if len(opts.RepoIDs) > 0 {
+ cond = cond.And(builder.In("issue.repo_id", opts.RepoIDs))
}
switch opts.FilterMode {
case FilterModeAll:
- stats.OpenCount, err = x.Where(cond).And("is_closed = ?", false).
+ stats.OpenCount, err = x.Where(cond).And("issue.is_closed = ?", false).
And(builder.In("issue.repo_id", opts.UserRepoIDs)).
Count(new(Issue))
if err != nil {
return nil, err
}
- stats.ClosedCount, err = x.Where(cond).And("is_closed = ?", true).
+ stats.ClosedCount, err = x.Where(cond).And("issue.is_closed = ?", true).
And(builder.In("issue.repo_id", opts.UserRepoIDs)).
Count(new(Issue))
if err != nil {
@@ -1450,14 +1450,14 @@ func GetUserIssueStats(opts UserIssueStatsOptions) (*IssueStats, error) {
return nil, err
}
case FilterModeCreate:
- stats.OpenCount, err = x.Where(cond).And("is_closed = ?", false).
- And("poster_id = ?", opts.UserID).
+ stats.OpenCount, err = x.Where(cond).And("issue.is_closed = ?", false).
+ And("issue.poster_id = ?", opts.UserID).
Count(new(Issue))
if err != nil {
return nil, err
}
- stats.ClosedCount, err = x.Where(cond).And("is_closed = ?", true).
- And("poster_id = ?", opts.UserID).
+ stats.ClosedCount, err = x.Where(cond).And("issue.is_closed = ?", true).
+ And("issue.poster_id = ?", opts.UserID).
Count(new(Issue))
if err != nil {
return nil, err