change(ui): permission check for service accountts condition with or
This commit is contained in:
parent
3dfacb47bf
commit
11e600ee61
4 changed files with 16 additions and 18 deletions
|
|
@ -15,7 +15,6 @@ function Assist(props: Props) {
|
|||
return (
|
||||
<AssistRouter />
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
const Cont = connect((state: any) => ({
|
||||
|
|
@ -25,5 +24,5 @@ const Cont = connect((state: any) => ({
|
|||
}))(Assist);
|
||||
|
||||
export default withPageTitle('Assist - OpenReplay')(
|
||||
withPermissions(['ASSIST_LIVE', 'SERVICE_ASSIST_LIVE'])(withRouter(Cont))
|
||||
withPermissions(['ASSIST_LIVE', 'SERVICE_ASSIST_LIVE'], '', false, false)(withRouter(Cont))
|
||||
);
|
||||
|
|
|
|||
|
|
@ -72,9 +72,7 @@ function Session({
|
|||
}
|
||||
|
||||
export default withPermissions(
|
||||
['SESSION_REPLAY', 'SERVICE_SESSION_REPLAY'],
|
||||
'',
|
||||
true
|
||||
['SESSION_REPLAY', 'SERVICE_SESSION_REPLAY'], '', true, false
|
||||
)(
|
||||
connect(
|
||||
(state: any, props: any) => {
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { NoPermission, NoSessionPermission } from "UI";
|
||||
import React from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import { NoPermission, NoSessionPermission } from 'UI';
|
||||
|
||||
export default (requiredPermissions, className, isReplay = false) => (BaseComponent) => {
|
||||
export default (requiredPermissions, className, isReplay = false, andEd = true) => (BaseComponent) => {
|
||||
@connect((state, props) => ({
|
||||
permissions:
|
||||
state.getIn(["user", "account", "permissions"]) || [],
|
||||
state.getIn(['user', 'account', 'permissions']) || [],
|
||||
isEnterprise:
|
||||
state.getIn(["user", "account", "edition"]) === "ee",
|
||||
state.getIn(['user', 'account', 'edition']) === 'ee'
|
||||
}))
|
||||
class WrapperClass extends React.PureComponent {
|
||||
render() {
|
||||
const hasPermission = requiredPermissions.every(
|
||||
(permission) =>
|
||||
this.props.permissions.includes(permission)
|
||||
);
|
||||
const hasPermission = andEd ?
|
||||
requiredPermissions.every((permission) => this.props.permissions.includes(permission)) :
|
||||
requiredPermissions.some((permission) => this.props.permissions.includes(permission)
|
||||
);
|
||||
|
||||
return !this.props.isEnterprise || hasPermission ? (
|
||||
<BaseComponent {...this.props} />
|
||||
|
|
@ -29,5 +29,6 @@ export default (requiredPermissions, className, isReplay = false) => (BaseCompon
|
|||
);
|
||||
}
|
||||
}
|
||||
return WrapperClass
|
||||
}
|
||||
|
||||
return WrapperClass;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@ function LiveSessionList(props: Props) {
|
|||
);
|
||||
}
|
||||
|
||||
export default withPermissions(['ASSIST_LIVE', 'SERVICE_ASSIST_LIVE'])(
|
||||
export default withPermissions(['ASSIST_LIVE', 'SERVICE_ASSIST_LIVE'], '', false, false)(
|
||||
connect(
|
||||
(state: any) => ({
|
||||
list: state.getIn(['liveSearch', 'list']),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue