Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/components/ProjectInfo/ProjectInfo.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class ProjectInfo extends Component {
}

render() {
const { project, currentMemberRole, duration, canDeleteProject, onChangeStatus, directLinks, isManager } = this.props
const { project, currentMemberRole, duration, canDeleteProject, onChangeStatus, directLinks, isSuperUser } = this.props
const { showDeleteConfirm } = this.state
return (
<div className="project-info">
Expand All @@ -54,7 +54,7 @@ class ProjectInfo extends Component {
duration={duration}
descLinesCount={4}
onChangeStatus={onChangeStatus}
isManager={isManager}
isSuperUser={isSuperUser}
/>
<ProjectDirectLinks
directLinks={directLinks}
Expand Down
4 changes: 2 additions & 2 deletions src/projects/detail/Dashboard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import spinnerWhileLoading from '../../components/LoadingSpinner'

require('./Dashboard.scss')

const DashboardView = ({project, currentMemberRole, route, params, isManager }) => (
const DashboardView = ({project, currentMemberRole, route, params, isSuperUser }) => (
<div>
<div className="dashboard-container">
<div className="left-area">
Expand All @@ -16,7 +16,7 @@ const DashboardView = ({project, currentMemberRole, route, params, isManager })
<ProjectInfoContainer
currentMemberRole={currentMemberRole}
project={project}
isManager={isManager}
isSuperUser={isSuperUser}
/>
</div>
</Sticky>
Expand Down
14 changes: 7 additions & 7 deletions src/projects/detail/ProjectDetail.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { renderComponent, branch, compose, withProps } from 'recompose'
import { loadProjectDashboard } from '../actions/projectDashboard'
import {
LOAD_PROJECT_FAILURE, PROJECT_ROLE_CUSTOMER, PROJECT_ROLE_OWNER,
ROLE_ADMINISTRATOR, ROLE_CONNECT_MANAGER
ROLE_ADMINISTRATOR
} from '../../config/constants'
import spinnerWhileLoading from '../../components/LoadingSpinner'
import CoderBot from '../../components/CoderBot/CoderBot'
Expand All @@ -30,7 +30,7 @@ const ProjectDetailView = (props) => {
return React.cloneElement(child, {
project: props.project,
currentMemberRole: props.currentMemberRole,
isManager: props.isManager
isSuperUser: props.isSuperUser
})
})
return <div>{children}</div>
Expand Down Expand Up @@ -71,13 +71,13 @@ class ProjectDetail extends Component {

render() {
const currentMemberRole = this.getProjectRoleForCurrentUser(this.props)
const managerRoles = [ROLE_ADMINISTRATOR, ROLE_CONNECT_MANAGER]
const isManager = this.props.currentUserRoles.some((role) => managerRoles.indexOf(role) !== -1)
const powerRoles = [ROLE_ADMINISTRATOR]
const isSuperUser = this.props.currentUserRoles.some((role) => powerRoles.indexOf(role) !== -1)
return (
<EnhancedProjectDetailView
{...this.props}
currentMemberRole={currentMemberRole}
isManager={isManager}
isSuperUser={isSuperUser}
/>
)
}
Expand All @@ -97,13 +97,13 @@ const mapStateToProps = ({projectState, projectDashboard, loadUser}) => {
const mapDispatchToProps = { loadProjectDashboard }

ProjectDetail.propTypes = {
project : PropTypes.object,
project: PropTypes.object,
currentUserId: PropTypes.number.isRequired,
error: PropTypes.oneOfType([
PropTypes.bool,
PropTypes.object
]).isRequired,
isLoading : PropTypes.bool.isRequired
isLoading: PropTypes.bool.isRequired
}

export default withRouter(connect(mapStateToProps, mapDispatchToProps)(ProjectDetail))
4 changes: 2 additions & 2 deletions src/projects/detail/containers/ProjectInfoContainer.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ class ProjectInfoContainer extends React.Component {

render() {
const { duration } = this.state
const { project, currentMemberRole, isManager } = this.props
const { project, currentMemberRole, isSuperUser } = this.props
let directLinks = null
// check if direct links need to be added
const isMemberOrCopilot = _.indexOf([PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER], currentMemberRole) > -1
Expand Down Expand Up @@ -107,7 +107,7 @@ class ProjectInfoContainer extends React.Component {
onDeleteProject={this.onDeleteProject}
onChangeStatus={this.onChangeStatus}
directLinks={directLinks}
isManager={isManager}
isSuperUser={isSuperUser}
/>
<LinksMenu
links={project.bookmarks || []}
Expand Down
8 changes: 4 additions & 4 deletions src/projects/list/components/Projects/ProjectCardBody.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@ import TextTruncate from 'react-text-truncate'
import ProjectProgress from '../../../../components/ProjectProgress/ProjectProgress'
import ProjectStatus from '../../../../components/ProjectStatus/ProjectStatus'
import editableProjectStatus from '../../../../components/ProjectStatus/editableProjectStatus'
import { PROJECT_STATUS_ACTIVE, PROJECT_ROLE_COPILOT } from '../../../../config/constants'
import { PROJECT_STATUS_ACTIVE, PROJECT_ROLE_COPILOT, PROJECT_ROLE_MANAGER } from '../../../../config/constants'
import './ProjectCardBody.scss'
import _ from 'lodash'

function ProjectCardBody({ project, duration, currentMemberRole, descLinesCount = 8,
onChangeStatus, isManager }) {
onChangeStatus, isSuperUser }) {
if (!project) return null

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

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

Expand Down
5 changes: 4 additions & 1 deletion src/reducers/alerts.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,10 @@ export default function(state = {}, action) {
switch(action.type) {
case CREATE_PROJECT_SUCCESS: {
const name = _.truncate(action.payload.name, 20)
Alert.success(`Project '${name}' created`)

//temporary workaround
setTimeout(() => { Alert.success(`Project '${name}' created`) }, 0)

return state
}

Expand Down