Use team display name in team switcher menu

- /teams/find_teams returns team objects instead of just team names
- use display_name in UI instead of name in the team switch menu
Этот коммит содержится в:
Antti Ahti
2015-10-14 18:27:03 +03:00
родитель 830e8b04d9
Коммит 1ab7034574
4 изменённых файлов: 18 добавлений и 14 удалений

Просмотреть файл

@@ -409,14 +409,12 @@ func findTeams(c *Context, w http.ResponseWriter, r *http.Request) {
return return
} else { } else {
teams := result.Data.([]*model.Team) teams := result.Data.([]*model.Team)
m := make(map[string]*model.Team)
s := make([]string, 0, len(teams))
for _, v := range teams { for _, v := range teams {
s = append(s, v.Name) m[v.Id] = v
} }
w.Write([]byte(model.ArrayToJson(s))) w.Write([]byte(model.TeamMapToJson(m)))
} }
} }

Просмотреть файл

@@ -121,9 +121,12 @@ func TestFindTeamByEmail(t *testing.T) {
if r1, err := Client.FindTeams(user.Email); err != nil { if r1, err := Client.FindTeams(user.Email); err != nil {
t.Fatal(err) t.Fatal(err)
} else { } else {
domains := r1.Data.([]string) teams := r1.Data.(map[string]*model.Team)
if domains[0] != team.Name { if teams[team.Id].Name != team.Name {
t.Fatal(domains) t.Fatal()
}
if teams[team.Id].DisplayName != team.DisplayName {
t.Fatal()
} }
} }

Просмотреть файл

@@ -185,7 +185,7 @@ func (c *Client) FindTeams(email string) (*Result, *AppError) {
} else { } else {
return &Result{r.Header.Get(HEADER_REQUEST_ID), return &Result{r.Header.Get(HEADER_REQUEST_ID),
r.Header.Get(HEADER_ETAG_SERVER), ArrayFromJson(r.Body)}, nil r.Header.Get(HEADER_ETAG_SERVER), TeamMapFromJson(r.Body)}, nil
} }
} }

Просмотреть файл

@@ -145,7 +145,7 @@ export default class NavbarDropdown extends React.Component {
var teams = []; var teams = [];
if (this.state.teams.length > 1) { if (Object.keys(this.state.teams).length > 1) {
teams.push( teams.push(
<li <li
className='divider' className='divider'
@@ -154,11 +154,14 @@ export default class NavbarDropdown extends React.Component {
</li> </li>
); );
this.state.teams.forEach((teamName) => { for (let teamId in this.state.teams) {
if (teamName !== this.props.teamName) { if (this.state.teams.hasOwnProperty(teamId)) {
teams.push(<li key={teamName}><a href={Utils.getWindowLocationOrigin() + '/' + teamName}>{'Switch to ' + teamName}</a></li>); let team = this.state.teams[teamId];
if (team.name !== this.props.teamName) {
teams.push(<li key={team.name}><a href={Utils.getWindowLocationOrigin() + '/' + team.name}>{'Switch to ' + team.display_name}</a></li>);
}
} }
}); }
} }
if (global.window.config.EnableTeamCreation === 'true') { if (global.window.config.EnableTeamCreation === 'true') {