[BB-873] Support for filters, and multiple roots in problem response reports

Description

Add support for generating problem response reports for multiple blocks, or filtered block types.

This change adds support for specifying multiple root blocks while generating problem response reports. It also allows specifying a block type filter so that only blocks of the filtered types will be included in the report.

Finally, this change also consistently uses absolute path for the location in the report instead of relative paths.

This redoes #19781 which had a [glaring issue](https://github.com/edx/edx-platform/pull/19781#discussion_r312544842) introduced during refactoring.

*JIRA tickets*: If there is a related publicly viewable JIRA ticket, mention that here. Also mention the OSPR ticket
number here once it gets created (after you open the PR), if applicable. Otherwise omit this.

*Discussions*: https://github.com/edx/edx-platform/pull/19507

*Dependencies*: None

*Sandbox URL*: TBD - sandbox is being provisioned.

*Merge deadline*: None

*Testing instructions*:
1. Log in as an instructor
2. Post to the get_problem_responses API (this needs to include session information till #19635 lands) and with problem_location set to a comma-separated list of problem locations. (API url: http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/instructor/api/get_problem_responses )
3. This should start generating a report with all those problem locations
4. Post to the same api again, this time use the course (or a section) as the problem_location, but also provide a problem_types_filter
5. Check the generated report, it should include only blocks of the type specified in problem_types_filter.

*Reviewers*

  • [ ] (OpenCraft internal reviewer's GitHub username goes here)

  • [ ] edX reviewer[s] TBD

Status

Assignee

David Ormsbee

Reporter

Open Source Pull Request Bot

Labels

Contributor Name

Kshitij Sobti

Repo

edx/edx-platform

Customer

Epic Link

None

OSCM Assignee

None

Priority

Unset
Configure