Skip to content

Commit b8d030b

Browse files
author
Sachin Maheshwari
committed
#1328 - apart from joined Managers and Copilots, only admins can change project status from any state to any state including active state even without joining project.
1 parent fd8fba8 commit b8d030b

File tree

5 files changed

+16
-16
lines changed

5 files changed

+16
-16
lines changed

src/components/ProjectInfo/ProjectInfo.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class ProjectInfo extends Component {
2828
}
2929

3030
render() {
31-
const { project, currentMemberRole, duration, canDeleteProject, onChangeStatus, directLinks, isManager } = this.props
31+
const { project, currentMemberRole, duration, canDeleteProject, onChangeStatus, directLinks, isSuperUser } = this.props
3232
const { showDeleteConfirm } = this.state
3333
return (
3434
<div className="project-info">
@@ -54,7 +54,7 @@ class ProjectInfo extends Component {
5454
duration={duration}
5555
descLinesCount={4}
5656
onChangeStatus={onChangeStatus}
57-
isManager={isManager}
57+
isSuperUser={isSuperUser}
5858
/>
5959
<ProjectDirectLinks
6060
directLinks={directLinks}

src/projects/detail/Dashboard.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import spinnerWhileLoading from '../../components/LoadingSpinner'
77

88
require('./Dashboard.scss')
99

10-
const DashboardView = ({project, currentMemberRole, route, params, isManager }) => (
10+
const DashboardView = ({project, currentMemberRole, route, params, isSuperUser }) => (
1111
<div>
1212
<div className="dashboard-container">
1313
<div className="left-area">
@@ -16,7 +16,7 @@ const DashboardView = ({project, currentMemberRole, route, params, isManager })
1616
<ProjectInfoContainer
1717
currentMemberRole={currentMemberRole}
1818
project={project}
19-
isManager={isManager}
19+
isSuperUser={isSuperUser}
2020
/>
2121
</div>
2222
</Sticky>

src/projects/detail/ProjectDetail.jsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ const ProjectDetailView = (props) => {
3030
return React.cloneElement(child, {
3131
project: props.project,
3232
currentMemberRole: props.currentMemberRole,
33-
isManager: props.isManager
33+
isSuperUser: props.isSuperUser
3434
})
3535
})
3636
return <div>{children}</div>
@@ -71,13 +71,13 @@ class ProjectDetail extends Component {
7171

7272
render() {
7373
const currentMemberRole = this.getProjectRoleForCurrentUser(this.props)
74-
const managerRoles = [ROLE_ADMINISTRATOR, ROLE_CONNECT_MANAGER]
75-
const isManager = this.props.currentUserRoles.some((role) => managerRoles.indexOf(role) !== -1)
74+
const powerRoles = [ROLE_ADMINISTRATOR]
75+
const isSuperUser = this.props.currentUserRoles.some((role) => powerRoles.indexOf(role) !== -1)
7676
return (
7777
<EnhancedProjectDetailView
7878
{...this.props}
7979
currentMemberRole={currentMemberRole}
80-
isManager={isManager}
80+
isSuperUser={isSuperUser}
8181
/>
8282
)
8383
}
@@ -97,13 +97,13 @@ const mapStateToProps = ({projectState, projectDashboard, loadUser}) => {
9797
const mapDispatchToProps = { loadProjectDashboard }
9898

9999
ProjectDetail.propTypes = {
100-
project : PropTypes.object,
100+
project: PropTypes.object,
101101
currentUserId: PropTypes.number.isRequired,
102102
error: PropTypes.oneOfType([
103103
PropTypes.bool,
104104
PropTypes.object
105105
]).isRequired,
106-
isLoading : PropTypes.bool.isRequired
106+
isLoading: PropTypes.bool.isRequired
107107
}
108108

109109
export default withRouter(connect(mapStateToProps, mapDispatchToProps)(ProjectDetail))

src/projects/detail/containers/ProjectInfoContainer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class ProjectInfoContainer extends React.Component {
7474

7575
render() {
7676
const { duration } = this.state
77-
const { project, currentMemberRole, isManager } = this.props
77+
const { project, currentMemberRole, isSuperUser } = this.props
7878
let directLinks = null
7979
// check if direct links need to be added
8080
const isMemberOrCopilot = _.indexOf([PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER], currentMemberRole) > -1
@@ -107,7 +107,7 @@ class ProjectInfoContainer extends React.Component {
107107
onDeleteProject={this.onDeleteProject}
108108
onChangeStatus={this.onChangeStatus}
109109
directLinks={directLinks}
110-
isManager={isManager}
110+
isSuperUser={isSuperUser}
111111
/>
112112
<LinksMenu
113113
links={project.bookmarks || []}

src/projects/list/components/Projects/ProjectCardBody.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@ import TextTruncate from 'react-text-truncate'
44
import ProjectProgress from '../../../../components/ProjectProgress/ProjectProgress'
55
import ProjectStatus from '../../../../components/ProjectStatus/ProjectStatus'
66
import editableProjectStatus from '../../../../components/ProjectStatus/editableProjectStatus'
7-
import { PROJECT_STATUS_ACTIVE, PROJECT_ROLE_COPILOT } from '../../../../config/constants'
7+
import { PROJECT_STATUS_ACTIVE, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER } from '../../../../config/constants'
88
import './ProjectCardBody.scss'
99
import _ from 'lodash'
1010

1111
const EnhancedProjectStatus = editableProjectStatus(ProjectStatus)
1212

1313
function ProjectCardBody({ project, duration, currentMemberRole, descLinesCount = 8,
14-
onChangeStatus, isManager }) {
14+
onChangeStatus, isSuperUser }) {
1515
if (!project) return null
1616

17-
const canEdit = isManager || (currentMemberRole
18-
&& (_.indexOf([PROJECT_ROLE_COPILOT], currentMemberRole) > -1))
17+
const canEdit = isSuperUser || (currentMemberRole
18+
&& (_.indexOf([PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER], currentMemberRole) > -1))
1919

2020
const progress = _.get(process, 'percent', 0)
2121

0 commit comments

Comments
 (0)