feat: Only showing instructor toolbar for course staff. (#25)

This commit is contained in:
David Joy
2020-03-10 09:33:36 -04:00
committed by GitHub
parent fcddc2d639
commit d145c45a3b
3 changed files with 14 additions and 6 deletions

View File

@@ -61,6 +61,7 @@ function CourseContainer(props) {
courseUsageKey={courseUsageKey}
courseId={courseId}
isEnrolled={props.metadata.isEnrolled}
isStaff={props.metadata.isStaff}
sequenceId={sequenceId}
unitId={unitId}
models={models}

View File

@@ -23,6 +23,7 @@ export default function Course({
courseOrg,
courseUsageKey,
isEnrolled,
isStaff,
models,
sequenceId,
tabs,
@@ -61,12 +62,14 @@ export default function Course({
courseNumber={courseNumber}
courseName={courseName}
/>
<InstructorToolbar
courseUsageKey={courseUsageKey}
courseId={courseId}
sequenceId={sequenceId}
unitId={unitId}
/>
{isStaff && (
<InstructorToolbar
courseUsageKey={courseUsageKey}
courseId={courseId}
sequenceId={sequenceId}
unitId={unitId}
/>
)}
<CourseTabsNavigation tabs={tabs} activeTabSlug="courseware" />
<div className="container-fluid flex-grow-1 d-flex flex-column">
<AlertList
@@ -109,6 +112,7 @@ Course.propTypes = {
sequenceId: PropTypes.string.isRequired,
unitId: PropTypes.string,
isEnrolled: PropTypes.bool,
isStaff: PropTypes.bool,
models: PropTypes.objectOf(PropTypes.shape({
id: PropTypes.string.isRequired,
displayName: PropTypes.string.isRequired,
@@ -134,5 +138,6 @@ Course.propTypes = {
Course.defaultProps = {
unitId: undefined,
isEnrolled: false,
isStaff: false,
verifiedMode: null,
};

View File

@@ -36,6 +36,7 @@ const courseMetaSlice = createSlice({
enrollmentMode: payload.enrollment.mode,
isEnrolled: payload.enrollment.isActive,
userHasAccess: payload.userHasAccess,
isStaff: payload.userHasStaffAccess,
verifiedMode: payload.verifiedMode,
// Misc
@@ -70,6 +71,7 @@ export const courseMetadataShape = PropTypes.shape({
enrollmentMode: PropTypes.string,
isEnrolled: PropTypes.bool,
userHasAccess: PropTypes.bool,
isStaff: PropTypes.bool,
verifiedMode: PropTypes.shape({
price: PropTypes.number.isRequired,
currency: PropTypes.string.isRequired,