diff --git a/src/components/Gradebook/index.jsx b/src/components/Gradebook/index.jsx index cff14c3..c931aa5 100644 --- a/src/components/Gradebook/index.jsx +++ b/src/components/Gradebook/index.jsx @@ -500,13 +500,6 @@ export default class Gradebook extends React.Component {
{this.props.showSpinner &&
}
-
@@ -672,31 +665,57 @@ export default class Gradebook extends React.Component { } />

Step 2: View or Modify Individual Grades

+ {this.props.totalUsersCount ? +
+ Showing + {this.props.filteredUsersCount} + of + {this.props.totalUsersCount} + total learners +
: + null + }
- {this.props.totalUsersCount ? + + {this.props.showDownloadButtons && (
- Showing - {this.props.filteredUsersCount} - of - {this.props.totalUsersCount} - total learners -
: - null - } - {this.props.showDownloadButtons && , - pending: , - }} - disabledStates={['pending']} - />} + , + pending: , + }} + disabledStates={['pending']} + /> + , + pending: , + }} + disabledStates={['pending']} + /> +
+ )}
Import Grades -

Interventions Report

- -

Results appear in the table below.
Grade processing may take a few seconds. diff --git a/src/containers/GradebookPage/index.jsx b/src/containers/GradebookPage/index.jsx index 9ec6749..6772ba9 100644 --- a/src/containers/GradebookPage/index.jsx +++ b/src/containers/GradebookPage/index.jsx @@ -85,7 +85,20 @@ const mapStateToProps = (state, ownProps) => ( courseGradeMax: formatMaxCourseGrade(state.filters.courseGradeMax), }), interventionExportUrl: - LmsApiService.getInterventionExportCsvUrl(ownProps.match.params.courseId), + LmsApiService.getInterventionExportCsvUrl(ownProps.match.params.courseId, { + assignment: (state.filters.assignment || {}).id, + assignmentType: state.filters.assignmentType, + assignmentGradeMin: formatMinAssignmentGrade( + state.filters.assignmentGradeMin, + { assignmentId: (state.filters.assignment || {}).id }, + ), + assignmentGradeMax: formatMaxAssignmentGrade( + state.filters.assignmentGradeMax, + { assignmentId: (state.filters.assignment || {}).id }, + ), + courseGradeMin: formatMinCourseGrade(state.filters.courseGradeMin), + courseGradeMax: formatMaxCourseGrade(state.filters.courseGradeMax), + }), bulkImportError: state.grades.bulkManagement && state.grades.bulkManagement.errorMessages ? `Errors while processing: ${state.grades.bulkManagement.errorMessages.join(', ')}` : diff --git a/src/data/services/LmsApiService.js b/src/data/services/LmsApiService.js index 96b05ce..b7319bd 100644 --- a/src/data/services/LmsApiService.js +++ b/src/data/services/LmsApiService.js @@ -103,9 +103,14 @@ class LmsApiService { return `${LmsApiService.baseUrl}/api/bulk_grades/course/${courseId}/?${queryParams}`; } - static getInterventionExportCsvUrl(courseId) { - const downloadUrl = `${LmsApiService.baseUrl}/api/bulk_grades/course/${courseId}/intervention`; - return downloadUrl; + static getInterventionExportCsvUrl(courseId, options = {}) { + const queryParams = ['track', 'cohort', 'assignment', 'assignmentType', 'assignmentGradeMax', + 'assignmentGradeMin', 'courseGradeMin', 'courseGradeMax'] + .filter(opt => options[opt] && + options[opt] !== 'All') + .map(opt => `${opt}=${encodeURIComponent(options[opt])}`) + .join('&'); + return `${LmsApiService.baseUrl}/api/bulk_grades/course/${courseId}/intervention?${queryParams}`; } static getGradeImportCsvUrl = LmsApiService.getGradeExportCsvUrl;