From ba676620f9db4736249699ba9076561514eebd8e Mon Sep 17 00:00:00 2001 From: Jeremy Herve Date: Tue, 8 Oct 2019 14:15:55 +0200 Subject: [PATCH] Admin Page: ensure user caps are available when picking active tab Follow-up from #13541 We need to make sure this.props.userCanManageModules is available before we use it. --- _inc/client/components/non-admin-view/index.jsx | 3 +++ _inc/client/main.jsx | 1 + _inc/client/settings/index.jsx | 5 +++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/_inc/client/components/non-admin-view/index.jsx b/_inc/client/components/non-admin-view/index.jsx index 8f2775ddb6f17..fe7d45fa8da31 100644 --- a/_inc/client/components/non-admin-view/index.jsx +++ b/_inc/client/components/non-admin-view/index.jsx @@ -9,6 +9,7 @@ import { connect } from 'react-redux'; * Internal dependencies */ import { + userCanManageModules, userCanViewStats as _userCanViewStats, userIsSubscriber as _userIsSubscriber, } from 'state/initial-state'; @@ -47,6 +48,7 @@ class NonAdminView extends React.Component { siteAdminUrl={ this.props.siteAdminUrl } siteRawUrl={ this.props.siteRawUrl } searchTerm={ this.props.searchTerm } + userCanManageModules={ this.props.userCanManageModules } /> ); } @@ -80,5 +82,6 @@ export default connect( state => { siteConnectionStatus: getSiteConnectionStatus( state ), isSubscriber: _userIsSubscriber( state ), isModuleActivated: module_name => _isModuleActivated( state, module_name ), + userCanManageModules: userCanManageModules( state ), }; } )( NonAdminView ); diff --git a/_inc/client/main.jsx b/_inc/client/main.jsx index 6521c91a6cbce..0edbc2977d788 100644 --- a/_inc/client/main.jsx +++ b/_inc/client/main.jsx @@ -233,6 +233,7 @@ class Main extends React.Component { siteRawUrl={ this.props.siteRawUrl } searchTerm={ this.props.searchTerm } rewindStatus={ this.props.rewindStatus } + userCanManageModules={ this.props.userCanManageModules } /> ); break; diff --git a/_inc/client/settings/index.jsx b/_inc/client/settings/index.jsx index b45449a2dbe57..6fe1496874ec7 100644 --- a/_inc/client/settings/index.jsx +++ b/_inc/client/settings/index.jsx @@ -27,6 +27,7 @@ export default class extends React.Component { route: this.props.route, searchTerm: this.props.searchTerm, rewindStatus: this.props.rewindStatus, + userCanManageModules: this.props.userCanManageModules, }; return ( @@ -45,7 +46,7 @@ export default class extends React.Component { siteRawUrl={ this.props.siteRawUrl } active={ '/security' === this.props.route.path || - ( '/settings' === this.props.route.path && this.props.userCanManageModules ) + ( '/settings' === this.props.route.path && commonProps.userCanManageModules ) } { ...commonProps } /> @@ -65,7 +66,7 @@ export default class extends React.Component { siteAdminUrl={ this.props.siteAdminUrl } active={ '/writing' === this.props.route.path || - ( '/settings' === this.props.route.path && ! this.props.userCanManageModules ) + ( '/settings' === this.props.route.path && ! commonProps.userCanManageModules ) } { ...commonProps } />