Skip to content

Commit 4e47782

Browse files
committed
PM-846 - show status field for managers
1 parent 22cd966 commit 4e47782

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

src/containers/ProjectEditor/index.js

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ import {
1515
updateProject
1616
} from '../../actions/projects'
1717
import { setActiveProject } from '../../actions/sidebar'
18-
import { checkAdminOrCopilot } from '../../util/tc'
18+
import { checkAdminOrCopilot, checkAdmin } from '../../util/tc'
19+
import { PROJECT_ROLES } from '../../config/constants'
1920
import Loader from '../../components/Loader'
21+
2022
class ProjectEditor extends Component {
2123
constructor (props) {
2224
super(props)
@@ -53,6 +55,25 @@ class ProjectEditor extends Component {
5355
}
5456
}
5557

58+
getMemberRole (members, handle) {
59+
if (!handle) { return null }
60+
61+
const found = _.find(members, (m) => {
62+
return m.handle === handle
63+
})
64+
65+
return _.get(found, 'role')
66+
}
67+
68+
checkIsCopilotOrManager (projectMembers, handle) {
69+
if (projectMembers && projectMembers.length > 0) {
70+
const role = this.getMemberRole(projectMembers, handle)
71+
return role === PROJECT_ROLES.COPILOT || role === PROJECT_ROLES.MANAGER
72+
} else {
73+
return false
74+
}
75+
}
76+
5677
render () {
5778
const {
5879
match,
@@ -66,8 +87,13 @@ class ProjectEditor extends Component {
6687
isProjectLoading,
6788
projectDetail
6889
} = this.props
90+
6991
if (isProjectTypesLoading || (isEdit && isProjectLoading)) return <Loader />
7092

93+
const isAdmin = checkAdmin(this.props.auth.token)
94+
const isCopilotOrManager = this.checkIsCopilotOrManager(_.get(this.state.project, 'members', []), _.get(this.props.auth, 'user.handle', null))
95+
const canManage = isAdmin || isCopilotOrManager
96+
7197
const projectId = this.getProjectId(match)
7298
return (
7399
<div className={styles.wrapper}>
@@ -97,6 +123,7 @@ class ProjectEditor extends Component {
97123
setActiveProject={setActiveProject}
98124
history={history}
99125
isEdit={isEdit}
126+
canManage={canManage}
100127
projectDetail={projectDetail}
101128
/>
102129
</div>

0 commit comments

Comments
 (0)