Skip to content

feat: add filters to support logistration integration - #337

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

feat: add filters to support logistration integration#337
pwnage101 wants to merge 1 commit into
openedx:mainfrom
pwnage101:pwnage101/ENT-11568

Conversation

@pwnage101

@pwnage101 pwnage101 commented Mar 5, 2026

Copy link
Copy Markdown
Contributor
  • Added new LogistrationContextRequested filter
  • Added new PostLoginRedirectURLRequested filter
  • Added new LoginFormTPAOverridesRequested filter
  • Added new RegistrationFormTPAOverridesRequested filter
  • Added new LogistrationResponseRendered filter
  • Added FormDescriptionProtocol and ProviderConfigProtocol structural types declaring the minimal surface the TPA-override filters pass to pipeline steps

ENT-11568


Integration Testing

See openedx/edx-enterprise#2551 (comment)


Related:

Comment thread openedx_filters/learning/filters.py Outdated
@pwnage101
pwnage101 force-pushed the pwnage101/ENT-11568 branch 3 times, most recently from 0fa2f77 to 8651fc4 Compare July 13, 2026 19:47
@pwnage101
pwnage101 force-pushed the pwnage101/ENT-11568 branch 3 times, most recently from 5ebe0d6 to c0c46d4 Compare July 14, 2026 05:01
@pwnage101 pwnage101 changed the title feat: add LogistrationContextRequested and PostLoginRedirectURLRequested filters feat: add filters to support logistration integration Jul 14, 2026
@pwnage101
pwnage101 requested a review from Copilot July 14, 2026 05:05

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR extends the openedx_filters.learning public filter surface to support “logistration” (combined login/registration) and related auth flows, aligning the filters library with new integration points in edx-platform/enterprise.

Changes:

  • Added six new learning filters for logistration context/response customization, MFE redirect control, post-login redirect override, and TPA form overrides.
  • Added two structural Protocol types (FormDescriptionProtocol, ProviderConfigProtocol) to document the minimal interface passed to pipeline steps.
  • Added/updated test coverage for the new filters, and bumped package version + changelog entry.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
openedx_filters/learning/filters.py Adds new logistration/auth-related filters and protocol structural types.
openedx_filters/learning/tests/test_filters.py Adds unit tests validating new filters’ filter_type values and passthrough/exception behavior.
openedx_filters/init.py Bumps package version to 3.9.0.
CHANGELOG.rst Adds a 3.9.0 changelog entry describing the new filters and protocols.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread openedx_filters/learning/filters.py Outdated
@pwnage101
pwnage101 force-pushed the pwnage101/ENT-11568 branch 2 times, most recently from 0c4ee36 to 2f95918 Compare July 22, 2026 01:47
Comment thread CHANGELOG.rst Outdated
"""

def test_filter_type(self):
self.assertEqual(

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.

We should be using python asserts instead of unittest ones

* Added new ``LogistrationContextRequested`` filter
* Added new ``PostLoginRedirectURLRequested`` filter
* Added new ``LoginFormTPAOverridesRequested`` filter
* Added new ``RegistrationFormTPAOverridesRequested`` filter
* Added new ``LogistrationResponseRendered`` filter
* Added ``FormDescriptionProtocol`` and ``ProviderConfigProtocol`` structural
  types declaring the minimal surface the TPA-override filters pass to
  pipeline steps

ENT-11568

@iloveagent57 iloveagent57 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Looks good, one small suggestion to DRY things up a tiny bit.

Comment on lines +2144 to +2149
data = super().run_pipeline(
form_desc=form_desc,
running_pipeline=running_pipeline,
current_provider=current_provider,
)
return data["form_desc"], data["running_pipeline"], data["current_provider"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

is this identical to the LoginFormTPAOverridesRequested.run_filter() definition?

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.

4 participants