Skip to content

Comments

feat: add public filters for student logout and registration ToS cust…#187

Closed
anfbermudezme wants to merge 1 commit intopearson/ulmofrom
vue/PADV-3015
Closed

feat: add public filters for student logout and registration ToS cust…#187
anfbermudezme wants to merge 1 commit intopearson/ulmofrom
vue/PADV-3015

Conversation

@anfbermudezme
Copy link

@anfbermudezme anfbermudezme commented Jan 19, 2026

Ticket

Description

This PR integrates two Open edX public filters into edx-platform by wiring the filter invocations at the correct LMS execution points for (1) student logout and (2) registration Terms of Service (ToS) label construction. The goal is to expose stable extension points for Pearson plugins (and other downstreams) while ensuring the core user flows remain unaffected.

Changes made

1. Trigger logout filter during LMS logout

  • Location: openedx/core/djangoapps/user_authn/views/logout.py
  • Hook point: LogoutView.dispatch
  • Filter invoked: StudentLogoutRequested
  • Filter type: org.openedx.learning.student.logout.requested.v1
  • Behavior:
    • Runs the logout filter pipeline on a best-effort basis immediately after cookies are cleared.
    • Logout completion remains the priority; the filter is invoked as a side-effect extension point.

2. Allow ToS label customization during registration form rendering

  • Location: openedx/core/djangoapps/user_authn/views/registration_form.py
  • Hook point: _add_terms_of_service_field
  • Filter invoked: StudentRegistrationFormTermsOfServiceLabelRequested
  • Filter type: org.openedx.learning.student.registration.form.terms_of_service.label.requested.v1
  • Inputs passed:
    • label: the default ToS label constructed by the LMS
    • platform_name: resolved from site configuration (PLATFORM_NAME) with a settings fallback
  • Behavior:
    • The filter may return an overridden label; if it returns a falsy value, the original label is preserved:
      • label = label_with_terms_of_service_and_privacy_policy or label

Backward Compatibility / Safety

  • Changes are additive and localized to two call sites.
  • Default behavior is preserved unless a downstream pipeline provides an override.
  • Logout remains best-effort; extensions should not block or break core logout execution.

PRs Related

Reviewers

@anfbermudezme
Copy link
Author

We’ve concluded that these filters are not required at this time and do not provide immediate value in the current roadmap.

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.

1 participant