Skip to content

feat: add CoursewareViewStarted, CourseStartDateValidationFailed, and CoursewareAccessChecksRequested filters#336

Open
pwnage101 wants to merge 1 commit into
openedx:mainfrom
pwnage101:pwnage101/ENT-11544
Open

feat: add CoursewareViewStarted, CourseStartDateValidationFailed, and CoursewareAccessChecksRequested filters#336
pwnage101 wants to merge 1 commit into
openedx:mainfrom
pwnage101:pwnage101/ENT-11544

Conversation

@pwnage101
Copy link
Copy Markdown
Contributor

@pwnage101 pwnage101 commented Mar 5, 2026

Plugins can now supply a courseware view redirect URL, inject specific error
payloads when course start-date validation fails, or deny courseware access
with a priority (non-bypassable) error.

ENT-11544


Blocks:

Comment thread openedx_filters/learning/filters.py Outdated
@pwnage101 pwnage101 force-pushed the pwnage101/ENT-11544 branch 3 times, most recently from 7e9d307 to 75be6aa Compare May 15, 2026 19:25
@pwnage101 pwnage101 force-pushed the pwnage101/ENT-11544 branch from 75be6aa to 39c6daf Compare May 21, 2026 16:46
@pwnage101 pwnage101 force-pushed the pwnage101/ENT-11544 branch 8 times, most recently from f11df07 to b80e6ce Compare June 2, 2026 23:37
@pwnage101 pwnage101 changed the title feat: add CoursewareViewRedirectURL filter feat: add CoursewareViewStarted, CourseStartDateValidationFailed, and CoursewareAccessChecksRequested filters Jun 2, 2026
@pwnage101 pwnage101 marked this pull request as ready for review June 2, 2026 23:39
Comment thread openedx_filters/learning/filters.py Outdated
def __init__(self, url: str) -> None:
"""Store the redirect URL on the exception instance."""
super().__init__()
self.url = url
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This differs from other exceptions in the codebase that typically pass a message, can we mimic this behavior?
https://github.com/pwnage101/openedx-filters/blob/b80e6cedade87031fcd9553d1fd102cceea3564d/openedx_filters/learning/filters.py#L60

Comment thread CHANGELOG.rst
* Added GradeEventContextRequested filter

[3.1.0] - 2025-04-06
[3.1.0] - 2026-04-06
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well this is embarrassing


Trigger:
- Repository: openedx/edx-platform
- Path: lms/djangoapps/courseware/access_utils.py
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Path is incorrect, should be enterprise/filters/courseware.py‎

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The path you shared is an edx-enterprise path to the pipeline step, but what's actually needed is the "Trigger" a.k.a. the call site of the filter.

@pwnage101 pwnage101 force-pushed the pwnage101/ENT-11544 branch 3 times, most recently from 8b05d30 to 3c66960 Compare June 4, 2026 02:35
… CoursewareAccessChecksRequested filters

Plugins can now supply a courseware view redirect URL, inject specific error
payloads when course start-date validation fails, or deny courseware access
with a priority (non-bypassable) error.

ENT-11544
@pwnage101 pwnage101 force-pushed the pwnage101/ENT-11544 branch from 3c66960 to ca033ae Compare June 4, 2026 03:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants