Commit e803e1cf authored by David Symonds's avatar David Symonds

misc/dashboard/codereview: fixes for non-reviewers.

Also rename the testing CGI argument from "email" to "user".

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6454117
parent 4230dd4c
...@@ -39,11 +39,14 @@ func handleFront(w http.ResponseWriter, r *http.Request) { ...@@ -39,11 +39,14 @@ func handleFront(w http.ResponseWriter, r *http.Request) {
var currentPerson string var currentPerson string
u := data.User u := data.User
you := "you" you := "you"
if e := r.FormValue("email"); e != "" { if e := r.FormValue("user"); e != "" {
u = e u = e
you = e you = e
} }
currentPerson, data.UserIsReviewer = emailToPerson[u] currentPerson, data.UserIsReviewer = emailToPerson[u]
if !data.UserIsReviewer {
currentPerson = u
}
var wg sync.WaitGroup var wg sync.WaitGroup
errc := make(chan error, 10) errc := make(chan error, 10)
...@@ -63,10 +66,10 @@ func handleFront(w http.ResponseWriter, r *http.Request) { ...@@ -63,10 +66,10 @@ func handleFront(w http.ResponseWriter, r *http.Request) {
}() }()
} }
data.Tables[0].Title = "CLs assigned to " + you + " for review"
if data.UserIsReviewer { if data.UserIsReviewer {
tableFetch(0, func(tbl *clTable) error { tableFetch(0, func(tbl *clTable) error {
q := activeCLs.Filter("Reviewer =", currentPerson).Limit(maxCLs) q := activeCLs.Filter("Reviewer =", currentPerson).Limit(maxCLs)
tbl.Title = "CLs assigned to " + you + " for review"
tbl.Assignable = true tbl.Assignable = true
_, err := q.GetAll(c, &tbl.CLs) _, err := q.GetAll(c, &tbl.CLs)
return err return err
...@@ -74,7 +77,13 @@ func handleFront(w http.ResponseWriter, r *http.Request) { ...@@ -74,7 +77,13 @@ func handleFront(w http.ResponseWriter, r *http.Request) {
} }
tableFetch(1, func(tbl *clTable) error { tableFetch(1, func(tbl *clTable) error {
q := activeCLs.Filter("Author =", currentPerson).Limit(maxCLs) q := activeCLs
if data.UserIsReviewer {
q = q.Filter("Author =", currentPerson)
} else {
q = q.Filter("Owner =", currentPerson)
}
q = q.Limit(maxCLs)
tbl.Title = "CLs sent by " + you tbl.Title = "CLs sent by " + you
tbl.Assignable = true tbl.Assignable = true
_, err := q.GetAll(c, &tbl.CLs) _, err := q.GetAll(c, &tbl.CLs)
...@@ -89,16 +98,14 @@ func handleFront(w http.ResponseWriter, r *http.Request) { ...@@ -89,16 +98,14 @@ func handleFront(w http.ResponseWriter, r *http.Request) {
return err return err
} }
// filter // filter
if data.UserIsReviewer {
for i := len(tbl.CLs) - 1; i >= 0; i-- { for i := len(tbl.CLs) - 1; i >= 0; i-- {
cl := tbl.CLs[i] cl := tbl.CLs[i]
if cl.Author == currentPerson || cl.Reviewer == currentPerson { if cl.Owner == currentPerson || cl.Author == currentPerson || cl.Reviewer == currentPerson {
// Preserve order. // Preserve order.
copy(tbl.CLs[i:], tbl.CLs[i+1:]) copy(tbl.CLs[i:], tbl.CLs[i+1:])
tbl.CLs = tbl.CLs[:len(tbl.CLs)-1] tbl.CLs = tbl.CLs[:len(tbl.CLs)-1]
} }
} }
}
return nil return nil
}) })
......
...@@ -6,6 +6,12 @@ indexes: ...@@ -6,6 +6,12 @@ indexes:
- name: Modified - name: Modified
direction: desc direction: desc
- kind: CL
properties:
- name: Owner
- name: Modified
direction: desc
- kind: CL - kind: CL
properties: properties:
- name: Closed - name: Closed
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment