diff --git a/app/components/BookBuilder/BookBuilder.jsx b/app/components/BookBuilder/BookBuilder.jsx index f6d58413880c251ece171d55a67d85c9683ab841..f4e9fad8c14da13100d4e4612282551a68f42056 100644 --- a/app/components/BookBuilder/BookBuilder.jsx +++ b/app/components/BookBuilder/BookBuilder.jsx @@ -104,7 +104,10 @@ export class BookBuilder extends React.Component { } _isProductionEditor () { - return _.includes(this._getRoles(), 'production-editor') + const userRoles = this._getRoles() + const accepted = ['production-editor', 'admin'] + const pass = _.some(accepted, (role) => _.includes(userRoles, role)) + return pass } render () { diff --git a/app/components/BookBuilder/Chapter/ProgressItem.jsx b/app/components/BookBuilder/Chapter/ProgressItem.jsx index d384dc146de899fee604738f451fa1267c043d8c..6ec269ae7a405b60e51b4ecdc6335e194316935d 100644 --- a/app/components/BookBuilder/Chapter/ProgressItem.jsx +++ b/app/components/BookBuilder/Chapter/ProgressItem.jsx @@ -57,6 +57,7 @@ export class ProgressItem extends React.Component { canChange () { const { type, roles, chapter } = this.props + console.log('can change', includes(roles, 'admin')) if (includes(roles, 'admin') || includes(roles, 'production-editor')) return true const isActive = (chapter.progress[type] === 1) @@ -84,7 +85,11 @@ export class ProgressItem extends React.Component { }, 3000) } - if (includes(roles, 'production-editor')) { + // TODO -- refactor + if ( + includes(roles, 'production-editor') || + includes(roles, 'admin') + ) { return this.changeProgressState() } diff --git a/app/components/SimpleEditor/SimpleEditorWrapper.jsx b/app/components/SimpleEditor/SimpleEditorWrapper.jsx index 0e99406bb1c7c37b3b5678a59c9f37a8349b6960..576e03e1d9eafb29487f122f23a38fe03b81ec3e 100644 --- a/app/components/SimpleEditor/SimpleEditorWrapper.jsx +++ b/app/components/SimpleEditor/SimpleEditorWrapper.jsx @@ -74,9 +74,12 @@ export class SimpleEditorWrapper extends React.Component { // // this._checkRights() // } + // TODO -- refactor _checkRights () { const { fragment, user } = this.props + if (user.admin) return this.setState({ canEdit: true }) + if ((fragment.progress['review'] === 1 && user.teams[0].teamType.name === 'Author') || (fragment.progress['edit'] === 1 && user.teams[0].teamType.name === 'Copy Editor')) { this.setState({ canEdit: true })