aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Magorsch <arzano@gentoo.org>2020-10-06 21:58:28 +0000
committerMax Magorsch <arzano@gentoo.org>2020-10-06 21:58:28 +0000
commitd4016362a59f467fb04bf179b70acc501656868a (patch)
treec0b37258c5ed8fbf08edf42ea59767cfb90b3c1d
parentEnable the link to the user preferences (diff)
downloadsoko-d4016362a59f467fb04bf179b70acc501656868a.tar.gz
soko-d4016362a59f467fb04bf179b70acc501656868a.tar.bz2
soko-d4016362a59f467fb04bf179b70acc501656868a.zip
Fix bugs that are displayed multiple times
Signed-off-by: Max Magorsch <arzano@gentoo.org>
-rw-r--r--pkg/app/handler/maintainer/utils.go22
-rw-r--r--pkg/models/package.go6
-rw-r--r--web/templates/maintainer/components/bugs.tmpl106
-rw-r--r--web/templates/maintainer/components/security.tmpl29
-rw-r--r--web/templates/maintainer/components/stabilization.tmpl54
5 files changed, 115 insertions, 102 deletions
diff --git a/pkg/app/handler/maintainer/utils.go b/pkg/app/handler/maintainer/utils.go
index bdaa8d8..c59a19f 100644
--- a/pkg/app/handler/maintainer/utils.go
+++ b/pkg/app/handler/maintainer/utils.go
@@ -72,12 +72,34 @@ func createBrowseData(tabName string, data interface{}) interface{} {
}
}
+func getAllBugs(packages []*models.Package) []*models.Bug {
+ allBugs := make(map[string]*models.Bug)
+
+ for _, gpackage := range packages {
+ for _, bug := range gpackage.AllBugs() {
+ allBugs[bug.Id] = bug
+ }
+ }
+
+ var allBugsList []*models.Bug
+ for _, bug := range allBugs {
+ allBugsList = append(allBugsList, bug)
+ }
+
+ sort.Slice(allBugsList, func(i, j int) bool {
+ return allBugsList[i].Id < allBugsList[j].Id
+ })
+
+ return allBugsList
+}
+
// GetFuncMap returns the FuncMap used in templates
func GetFuncMap() template.FuncMap {
return template.FuncMap{
"contains": strings.Contains,
"replaceall": strings.ReplaceAll,
"tolower": strings.ToLower,
+ "getAllBugs": getAllBugs,
"formatRestricts": packages.FormatRestricts,
"appendCommits": func(a []*models.Commit, b []*models.Commit) []*models.Commit {
return append(a, b...)
diff --git a/pkg/models/package.go b/pkg/models/package.go
index 202d3de..439480a 100644
--- a/pkg/models/package.go
+++ b/pkg/models/package.go
@@ -2,6 +2,8 @@
package models
+import "sort"
+
type Package struct {
Atom string `pg:",pk"`
Category string
@@ -93,5 +95,9 @@ func (p Package) AllBugs() []*Bug {
allBugsList = append(allBugsList, bug)
}
+ sort.Slice(allBugsList, func(i, j int) bool {
+ return allBugsList[i].Id < allBugsList[j].Id
+ })
+
return allBugsList
}
diff --git a/web/templates/maintainer/components/bugs.tmpl b/web/templates/maintainer/components/bugs.tmpl
index b81c2a4..f069dad 100644
--- a/web/templates/maintainer/components/bugs.tmpl
+++ b/web/templates/maintainer/components/bugs.tmpl
@@ -3,28 +3,24 @@
<div class="col-md-9">
{{$security_bugs := 0}}
{{$non_security_bugs := 0}}
- {{range .Packages}}
- {{range .AllBugs}}
- {{if eq .Component "Vulnerabilities"}}
- {{$security_bugs = (add $security_bugs 1)}}
- {{else}}
- {{$non_security_bugs = (add $non_security_bugs 1)}}
- {{end}}
+ {{range getAllBugs .Packages}}
+ {{if eq .Component "Vulnerabilities"}}
+ {{$security_bugs = (add $security_bugs 1)}}
+ {{else}}
+ {{$non_security_bugs = (add $non_security_bugs 1)}}
{{end}}
{{end}}
{{$general_bugs := 0}}
{{$stabilization_bugs := 0}}
{{$keywording_bugs := 0}}
- {{range .Packages}}
- {{range .AllBugs}}
- {{if eq .Component "Current packages"}}
- {{$general_bugs = (add $general_bugs 1)}}
- {{else if eq .Component "Stabilization"}}
- {{$stabilization_bugs = (add $stabilization_bugs 1)}}
- {{else if eq .Component "Keywording"}}
- {{$keywording_bugs = (add $keywording_bugs 1)}}
- {{end}}
+ {{range getAllBugs .Packages}}
+ {{if eq .Component "Current packages"}}
+ {{$general_bugs = (add $general_bugs 1)}}
+ {{else if eq .Component "Stabilization"}}
+ {{$stabilization_bugs = (add $stabilization_bugs 1)}}
+ {{else if eq .Component "Keywording"}}
+ {{$keywording_bugs = (add $keywording_bugs 1)}}
{{end}}
{{end}}
@@ -34,21 +30,19 @@
{{if $general_bugs}}
<h3 id="packages" class="mb-4">Bug Reports</h3>
<ul class="list-group">
- {{range .Packages}}
- {{range .AllBugs}}
- {{if eq .Component "Current packages"}}
- <li class="list-group-item">
- <div class="row">
- <div class="col-md-12">
- <i class="fa fa-bug" aria-hidden="true"></i>
- <a href="https://bugs.gentoo.org/{{.Id}}" class="text-dark"><b>{{.Summary}}</b></a>
- </div>
- <div class="col-md-12 text-muted">
- {{.Id}} - Assigned to {{.Assignee}}
- </div>
+ {{range getAllBugs .Packages}}
+ {{if eq .Component "Current packages"}}
+ <li class="list-group-item">
+ <div class="row">
+ <div class="col-md-12">
+ <i class="fa fa-bug" aria-hidden="true"></i>
+ <a href="https://bugs.gentoo.org/{{.Id}}" class="text-dark"><b>{{.Summary}}</b></a>
</div>
- </li>
- {{end}}
+ <div class="col-md-12 text-muted">
+ {{.Id}} - Assigned to {{.Assignee}}
+ </div>
+ </div>
+ </li>
{{end}}
{{end}}
</ul>
@@ -57,21 +51,19 @@
{{if $stabilization_bugs}}
<h3 id="stabilization" class="my-4">Stabilization Bug Reports</h3>
<ul class="list-group">
- {{range .Packages}}
- {{range .AllBugs}}
- {{if eq .Component "Stabilization"}}
- <li class="list-group-item">
- <div class="row">
- <div class="col-md-12">
- <i class="fa fa-bug" aria-hidden="true"></i>
- <a href="https://bugs.gentoo.org/{{.Id}}" class="text-dark"><b>{{.Summary}}</b></a>
- </div>
- <div class="col-md-12 text-muted">
- {{.Id}} - Assigned to {{.Assignee}}
- </div>
+ {{range getAllBugs .Packages}}
+ {{if eq .Component "Stabilization"}}
+ <li class="list-group-item">
+ <div class="row">
+ <div class="col-md-12">
+ <i class="fa fa-bug" aria-hidden="true"></i>
+ <a href="https://bugs.gentoo.org/{{.Id}}" class="text-dark"><b>{{.Summary}}</b></a>
+ </div>
+ <div class="col-md-12 text-muted">
+ {{.Id}} - Assigned to {{.Assignee}}
</div>
- </li>
- {{end}}
+ </div>
+ </li>
{{end}}
{{end}}
</ul>
@@ -80,21 +72,19 @@
{{if $keywording_bugs}}
<h3 id="keywording" class="my-4">Keywording Bug Reports</h3>
<ul class="list-group">
- {{range .Packages}}
- {{range .AllBugs}}
- {{if eq .Component "Keywording"}}
- <li class="list-group-item">
- <div class="row">
- <div class="col-md-12">
- <i class="fa fa-bug" aria-hidden="true"></i>
- <a href="https://bugs.gentoo.org/{{.Id}}" class="text-dark"><b>{{.Summary}}</b></a>
- </div>
- <div class="col-md-12 text-muted">
- {{.Id}} - Assigned to {{.Assignee}}
- </div>
+ {{range getAllBugs .Packages}}
+ {{if eq .Component "Keywording"}}
+ <li class="list-group-item">
+ <div class="row">
+ <div class="col-md-12">
+ <i class="fa fa-bug" aria-hidden="true"></i>
+ <a href="https://bugs.gentoo.org/{{.Id}}" class="text-dark"><b>{{.Summary}}</b></a>
+ </div>
+ <div class="col-md-12 text-muted">
+ {{.Id}} - Assigned to {{.Assignee}}
</div>
- </li>
- {{end}}
+ </div>
+ </li>
{{end}}
{{end}}
</ul>
diff --git a/web/templates/maintainer/components/security.tmpl b/web/templates/maintainer/components/security.tmpl
index fae6c8d..521e62d 100644
--- a/web/templates/maintainer/components/security.tmpl
+++ b/web/templates/maintainer/components/security.tmpl
@@ -6,21 +6,22 @@
<h3 class="mb-4">Security Bug Reports</h3>
<ul class="list-group">
- {{range .Packages}}
- {{range .AllBugs}}
- {{if eq .Component "Vulnerabilities"}}
- <li class="list-group-item">
- <div class="row">
- <div class="col-md-12">
- <i class="fa fa-bug" aria-hidden="true"></i>
- <a href="https://bugs.gentoo.org/{{.Id}}" class="text-dark"><b>{{.Summary}}</b></a>
- </div>
- <div class="col-md-12 text-muted">
- {{.Id}} - Assigned to {{.Assignee}}
- </div>
+ hi
+ {{getAllBugs .Packages}}
+ hoi2
+ {{range (getAllBugs .Packages)}}
+ {{if eq .Component "Vulnerabilities"}}
+ <li class="list-group-item">
+ <div class="row">
+ <div class="col-md-12">
+ <i class="fa fa-bug" aria-hidden="true"></i>
+ <a href="https://bugs.gentoo.org/{{.Id}}" class="text-dark"><b>{{.Summary}}</b></a>
</div>
- </li>
- {{end}}
+ <div class="col-md-12 text-muted">
+ {{.Id}} - Assigned to {{.Assignee}}
+ </div>
+ </div>
+ </li>
{{end}}
{{end}}
</ul>
diff --git a/web/templates/maintainer/components/stabilization.tmpl b/web/templates/maintainer/components/stabilization.tmpl
index daaca85..7026be5 100644
--- a/web/templates/maintainer/components/stabilization.tmpl
+++ b/web/templates/maintainer/components/stabilization.tmpl
@@ -34,28 +34,24 @@
{{$security_bugs := 0}}
{{$non_security_bugs := 0}}
- {{range .Packages}}
- {{range .Bugs}}
- {{if eq .Component "Vulnerabilities"}}
- {{$security_bugs = (add $security_bugs 1)}}
- {{else}}
- {{$non_security_bugs = (add $non_security_bugs 1)}}
- {{end}}
+ {{range getAllBugs .Packages}}
+ {{if eq .Component "Vulnerabilities"}}
+ {{$security_bugs = (add $security_bugs 1)}}
+ {{else}}
+ {{$non_security_bugs = (add $non_security_bugs 1)}}
{{end}}
{{end}}
{{$general_bugs := 0}}
{{$stabilization_bugs := 0}}
{{$keywording_bugs := 0}}
- {{range .Packages}}
- {{range .Bugs}}
- {{if eq .Component "Current packages"}}
- {{$general_bugs = (add $general_bugs 1)}}
- {{else if eq .Component "Stabilization"}}
- {{$stabilization_bugs = (add $stabilization_bugs 1)}}
- {{else if eq .Component "Keywording"}}
- {{$keywording_bugs = (add $keywording_bugs 1)}}
- {{end}}
+ {{range getAllBugs .Packages}}
+ {{if eq .Component "Current packages"}}
+ {{$general_bugs = (add $general_bugs 1)}}
+ {{else if eq .Component "Stabilization"}}
+ {{$stabilization_bugs = (add $stabilization_bugs 1)}}
+ {{else if eq .Component "Keywording"}}
+ {{$keywording_bugs = (add $keywording_bugs 1)}}
{{end}}
{{end}}
@@ -64,21 +60,19 @@
{{if $stabilization_bugs}}
<h3 id="stabilization" class="my-4">Stabilization Bug Reports</h3>
<ul class="list-group">
- {{range .Packages}}
- {{range .Bugs}}
- {{if eq .Component "Stabilization"}}
- <li class="list-group-item">
- <div class="row">
- <div class="col-md-12">
- <i class="fa fa-bug" aria-hidden="true"></i>
- <a href="https://bugs.gentoo.org/{{.Id}}" class="text-dark"><b>{{.Summary}}</b></a>
- </div>
- <div class="col-md-12 text-muted">
- {{.Id}} - Assigned to {{.Assignee}}
- </div>
+ {{range getAllBugs .Packages}}
+ {{if eq .Component "Stabilization"}}
+ <li class="list-group-item">
+ <div class="row">
+ <div class="col-md-12">
+ <i class="fa fa-bug" aria-hidden="true"></i>
+ <a href="https://bugs.gentoo.org/{{.Id}}" class="text-dark"><b>{{.Summary}}</b></a>
</div>
- </li>
- {{end}}
+ <div class="col-md-12 text-muted">
+ {{.Id}} - Assigned to {{.Assignee}}
+ </div>
+ </div>
+ </li>
{{end}}
{{end}}
</ul>