Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nexpie-grafana-theme
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
nexpie-grafana-theme
Commits
256f7176
Unverified
Commit
256f7176
authored
Dec 14, 2017
by
bergquist
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
teams: add team count when searching for team
closes #10207
parent
854d22fa
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
43 additions
and
18 deletions
+43
-18
pkg/api/team_test.go
+1
-1
pkg/models/team.go
+11
-4
pkg/services/sqlstore/team.go
+30
-12
public/app/features/org/partials/teams.html
+1
-1
No files found.
pkg/api/team_test.go
View file @
256f7176
...
...
@@ -13,7 +13,7 @@ import (
func
TestTeamApiEndpoint
(
t
*
testing
.
T
)
{
Convey
(
"Given two teams"
,
t
,
func
()
{
mockResult
:=
models
.
SearchTeamQueryResult
{
Teams
:
[]
*
models
.
Team
{
Teams
:
[]
*
models
.
SearchTeamDto
{
{
Name
:
"team1"
},
{
Name
:
"team2"
},
},
...
...
pkg/models/team.go
View file @
256f7176
...
...
@@ -60,9 +60,16 @@ type SearchTeamsQuery struct {
Result
SearchTeamQueryResult
}
type
SearchTeamDto
struct
{
Id
int64
`json:"id"`
OrgId
int64
`json:"orgId"`
Name
string
`json:"name"`
MemberCount
int64
`json:"memberCount"`
}
type
SearchTeamQueryResult
struct
{
TotalCount
int64
`json:"totalCount"`
Teams
[]
*
Team
`json:"teams"`
Page
int
`json:"page"`
PerPage
int
`json:"perPage"`
TotalCount
int64
`json:"totalCount"`
Teams
[]
*
SearchTeamDto
`json:"teams"`
Page
int
`json:"page"`
PerPage
int
`json:"perPage"`
}
pkg/services/sqlstore/team.go
View file @
256f7176
package
sqlstore
import
(
"bytes"
"fmt"
"time"
...
...
@@ -114,37 +115,54 @@ func isTeamNameTaken(name string, existingId int64, sess *DBSession) (bool, erro
func
SearchTeams
(
query
*
m
.
SearchTeamsQuery
)
error
{
query
.
Result
=
m
.
SearchTeamQueryResult
{
Teams
:
make
([]
*
m
.
Team
,
0
),
Teams
:
make
([]
*
m
.
SearchTeamDto
,
0
),
}
queryWithWildcards
:=
"%"
+
query
.
Query
+
"%"
sess
:=
x
.
Table
(
"team"
)
sess
.
Where
(
"org_id=?"
,
query
.
OrgId
)
var
sql
bytes
.
Buffer
params
:=
make
([]
interface
{},
0
)
sql
.
WriteString
(
`select
team.id as id,
team.name as name,
(select count(*) from team_member where team_member.team_id = team.id) as member_count
from team as team
where team.org_id = ?`
)
params
=
append
(
params
,
query
.
OrgId
)
if
query
.
Query
!=
""
{
sess
.
Where
(
"name LIKE ?"
,
queryWithWildcards
)
sql
.
WriteString
(
` and team.name `
+
dialect
.
LikeStr
()
+
` ?`
)
params
=
append
(
params
,
queryWithWildcards
)
}
if
query
.
Name
!=
""
{
sess
.
Where
(
"name=?"
,
query
.
Name
)
sql
.
WriteString
(
` and team.name = ?`
)
params
=
append
(
params
,
query
.
Name
)
}
sql
.
WriteString
(
` order by team.name asc`
)
if
query
.
Limit
!=
0
{
sql
.
WriteString
(
` limit ? offset ?`
)
offset
:=
query
.
Limit
*
(
query
.
Page
-
1
)
params
=
append
(
params
,
query
.
Limit
,
offset
)
}
sess
.
Asc
(
"name"
)
offset
:=
query
.
Limit
*
(
query
.
Page
-
1
)
sess
.
Limit
(
query
.
Limit
,
offset
)
sess
.
Cols
(
"id"
,
"name"
)
if
err
:=
sess
.
Find
(
&
query
.
Result
.
Teams
);
err
!=
nil
{
if
err
:=
x
.
Sql
(
sql
.
String
(),
params
...
)
.
Find
(
&
query
.
Result
.
Teams
);
err
!=
nil
{
return
err
}
team
:=
m
.
Team
{}
countSess
:=
x
.
Table
(
"team"
)
if
query
.
Query
!=
""
{
countSess
.
Where
(
"name LIKE ?"
,
queryWithWildcards
)
countSess
.
Where
(
`name `
+
dialect
.
LikeStr
()
+
` ?`
,
queryWithWildcards
)
}
if
query
.
Name
!=
""
{
countSess
.
Where
(
"name=?"
,
query
.
Name
)
}
count
,
err
:=
countSess
.
Count
(
&
team
)
query
.
Result
.
TotalCount
=
count
...
...
public/app/features/org/partials/teams.html
View file @
256f7176
...
...
@@ -28,7 +28,7 @@
<td>
<a
href=
"org/teams/edit/{{team.id}}"
>
{{team.name}}
</a>
</td>
<td>
#Count
</td>
<td>
{{team.memberCount}}
</td>
<td
class=
"text-right"
>
<a
href=
"org/teams/edit/{{team.id}}"
class=
"btn btn-inverse btn-small"
>
<i
class=
"fa fa-edit"
></i>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment