teams: team listing shows only your teams (editors).

This commit is contained in:
Leonard Gram
2019-03-11 14:40:57 +01:00
parent 1f949e58e1
commit 89d4db8eb6
4 changed files with 25 additions and 12 deletions

View File

@@ -86,12 +86,18 @@ func SearchTeams(c *m.ReqContext) Response {
page = 1
}
var userIdFilter int64
if c.QueryBool("showMine") {
userIdFilter = c.SignedInUser.UserId
}
query := m.SearchTeamsQuery{
OrgId: c.OrgId,
Query: c.Query("query"),
Name: c.Query("name"),
Page: page,
Limit: perPage,
OrgId: c.OrgId,
Query: c.Query("query"),
Name: c.Query("name"),
UserIdFilter: userIdFilter,
Page: page,
Limit: perPage,
}
if err := bus.Dispatch(&query); err != nil {

View File

@@ -61,11 +61,12 @@ type GetTeamsByUserQuery struct {
}
type SearchTeamsQuery struct {
Query string
Name string
Limit int
Page int
OrgId int64
Query string
Name string
Limit int
Page int
OrgId int64
UserIdFilter int64
Result SearchTeamQueryResult
}

View File

@@ -149,6 +149,10 @@ func SearchTeams(query *m.SearchTeamsQuery) error {
params := make([]interface{}, 0)
sql.WriteString(getTeamSelectSqlBase())
if query.UserIdFilter > 0 {
sql.WriteString(`INNER JOIN team_member on team.id = team_member.team_id AND team_member.user_id = ?`)
params = append(params, query.UserIdFilter)
}
sql.WriteString(` WHERE team.org_id = ?`)
params = append(params, query.OrgId)