summaryrefslogtreecommitdiffstats
path: root/webapp/components/backstage/backstage_controller.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/backstage/backstage_controller.jsx')
-rw-r--r--webapp/components/backstage/backstage_controller.jsx22
1 files changed, 15 insertions, 7 deletions
diff --git a/webapp/components/backstage/backstage_controller.jsx b/webapp/components/backstage/backstage_controller.jsx
index 9e842e1f7..0ec6a0091 100644
--- a/webapp/components/backstage/backstage_controller.jsx
+++ b/webapp/components/backstage/backstage_controller.jsx
@@ -13,8 +13,8 @@ import ErrorBar from 'components/error_bar.jsx';
export default class BackstageController extends React.Component {
static get propTypes() {
return {
- children: React.PropTypes.node.isRequired,
- params: React.PropTypes.object.isRequired
+ user: React.PropTypes.object,
+ children: React.PropTypes.node.isRequired
};
}
@@ -23,9 +23,12 @@ export default class BackstageController extends React.Component {
this.onTeamChange = this.onTeamChange.bind(this);
+ const team = TeamStore.getCurrent();
+
this.state = {
- user: UserStore.getCurrentUser(),
- team: props.params.team ? TeamStore.getByName(props.params.team) : TeamStore.getCurrent()
+ team,
+ isAdmin: UserStore.isSystemAdminForCurrentUser(this.props.user) ||
+ TeamStore.isTeamAdminForCurrentTeam(team)
};
}
@@ -38,8 +41,12 @@ export default class BackstageController extends React.Component {
}
onTeamChange() {
+ const team = TeamStore.getCurrent();
+
this.state = {
- team: this.props.params.team ? TeamStore.getByName(this.props.params.team) : TeamStore.getCurrent()
+ team,
+ isAdmin: UserStore.isSystemAdminForCurrentUser(this.props.user) ||
+ TeamStore.isTeamAdminForCurrentTeam(team)
};
}
@@ -51,7 +58,7 @@ export default class BackstageController extends React.Component {
<div className='backstage-body'>
<BackstageSidebar
team={this.state.team}
- user={this.state.user}
+ user={this.props.user}
/>
{
React.Children.map(this.props.children, (child) => {
@@ -61,7 +68,8 @@ export default class BackstageController extends React.Component {
return React.cloneElement(child, {
team: this.state.team,
- user: this.state.user
+ user: this.props.user,
+ isAdmin: this.state.isAdmin
});
})
}