Skip to content

feat: show the course escalation email on onboarding pages - #1360

Merged
feanil merged 1 commit into
openedx:masterfrom
mitodl:anas/onboarding-course-escalation-email
Nov 5, 2026
Merged

feanil merged 1 commit into
openedx:masterfrom
mitodl:anas/onboarding-course-escalation-email

Conversation

@Anas12091101

@Anas12091101 Anas12091101 commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Description

Related: https://github.com/mitodl/hq/issues/13163

When a course sets a proctoring escalation email, the proctored exam error page and the review result emails ask learners to contact that address. The onboarding pages don't: they show the provider's integration_specific_email, or the site-wide CONTACT_EMAIL when the provider has none. So a learner whose onboarding is missing, pending or rejected is sent to general site support instead of the course team that chose to handle proctoring questions.

This PR makes both places that build integration_specific_email use the course's escalation email when one is set, falling back to get_integration_specific_email(provider) as before:

  • the proctoring settings API (/api/edx_proctoring/v1/proctored_exam/settings/exam_id/<id>/), used by frontend-lib-special-exams in the learning MFE
  • the student view context used by the LMS onboarding templates

Each already looks up the escalation email for proctoring_escalation_email, so it is fetched once and reused.

Courses without an escalation email see no change. For a provider that requires one, such as Proctortrack, every course has one, so its onboarding pages will now show the course team's address instead of the provider or site address.

Testing

Automated: pytest src/edx_proctoring/tests/test_mfe_views.py src/edx_proctoring/tests/test_student_view.py -k "escalation_email or integration_specific_email"

Manual:

  1. Set up a course with a proctored exam and an onboarding exam, using a provider with requires_escalation_email: True in PROCTORING_BACKENDS (for example Proctortrack).
  2. In Studio, go to Pages & Resources → Proctoring, set Escalation email to course-team@example.com and click Save.
  3. As a verified learner with no onboarding profile, open the proctored exam in the learning MFE.
    → "You must complete an onboarding exam before taking this proctored exam" now ends with "contact course-team@example.com". Before this change it showed the site's CONTACT_EMAIL (or the provider's integration_specific_email).
  4. Open the onboarding exam.
    → "Please contact course-team@example.com if you have questions."
  5. GET /api/edx_proctoring/v1/proctored_exam/settings/exam_id/<exam id>/
    → integration_specific_email is course-team@example.com.

Pre-Merge Checklist:

  • Confirmed Github reports all automated tests/checks are passing
  • Approved by at least one additional reviewer

@openedx-webhooks openedx-webhooks added the open-source-contribution PR author is not from Axim or 2U label Oct 30, 2026
@openedx-webhooks

Copy link
Copy Markdown

Thanks for the pull request, @Anas12091101!

This repository is currently maintained by @openedx/openedx-unmaintained.

Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review.

🔘 Get product approval

If you haven't already, check this list to see if your contribution needs to go through the product review process.

  • If it does, you'll need to submit a product proposal for your contribution, and have it reviewed by the Product Working Group.
    • This process (including the steps you'll need to take) is documented here.
  • If it doesn't, simply proceed with the next step.
🔘 Provide context

To help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:

  • Dependencies

    This PR must be merged before / after / at the same time as ...

  • Blockers

    This PR is waiting for OEP-1234 to be accepted.

  • Timeline information

    This PR must be merged by XX date because ...

  • Partner information

    This is for a course on edx.org.

  • Supporting documentation
  • Relevant Open edX discussion forum threads
🔘 Get a green build

If one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green.

Details
Where can I find more information?

If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:

When can I expect my changes to be merged?

Our goal is to get community contributions seen and reviewed as efficiently as possible.

However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:

  • The size and impact of the changes that it introduces
  • The need for product review
  • Maintenance status of the parent repository

💡 As a result it may take up to several weeks or months to complete a review and merge your PR.

Comment thread edx_proctoring/api.py Resolved
Comment thread CHANGELOG.rst Resolved
The proctored exam error page and the review result emails already ask
learners to contact the course's proctoring escalation email. The
onboarding pages still showed the provider's integration_specific_email,
which falls back to the site-wide CONTACT_EMAIL, so learners in a course
with its own proctoring contact were sent to general support instead.

Both places that build integration_specific_email, the proctoring
settings API used by the learning MFE and the student view context used
by the LMS templates, now use the course's escalation email when it is
set. Each already looks that email up for proctoring_escalation_email,
so the value is fetched once and reused.
@Anas12091101
Anas12091101 force-pushed the anas/onboarding-course-escalation-email branch from 21965f5 to 778f0cc Compare November 4, 2026 14:10
@Anas12091101
Anas12091101 requested a review from feanil November 4, 2026 14:13
@mphilbrick211 mphilbrick211 moved this from Needs Triage to Ready for Review in Contributions Nov 4, 2026
@feanil
feanil merged commit d2636ec into openedx:master Nov 5, 2026
14 checks passed
@github-project-automation github-project-automation Bot moved this from Ready for Review to Done in Contributions Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

open-source-contribution PR author is not from Axim or 2U

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants