This commit refactors the way the Account MFE is activated in the
platform. The main objective is to control the global
activation/deactivation of the MFE through the
account.redirect_to_microfrontend waffle flag and use the Site
Configurations to control MFE activation/deactivation with per-site
granularity. Notice that the Site Configuration object will have
precedence over the waffle flag value.
Since the classic Account Django view will be most likely supported
during Lilac, the expiration of this temporary waffle flag was
extended till the end of 2021
With this commit:
- There's no need to create a Site Configuration object to get the MFE
activated. Setting the waffle flag to True is enough.
- It helps multisite installations to better handling granular
per-site activation/deactivation.
BREAKING CHANGE:
For operators of multisite installations, the activation of the waffle
flag will now activate the MFE for all sites, unless explicitly
disabled on a per-site basis.
Otherwise, this is a backwards-compatible change, since the MFE will
remain activated for installations where this is already enabled.
* [feat] calling course certificates api from LMS
Now that CourseCertificates in credentials have a field for the
available_date, we need to make sure we are always updating that field
when it changes in studio. This PR adds a call to a new Credentials API
that will update the field each time the date change signal fires.
We squashed migrations in the student djangoapp a while back.
This is the followup work to remove the migrations that were
squashed and to convert the squashed migration into a 'normal'
migration.
ARCHBOM-1177
This change causes the activation link that’s emailed to a newly-registered user
to utilize a next query parameter. The impetus for this change is an edX Enterprise use-case:
we'd like newly registered Enterprise Customer admins and learners
to be directed to the Enterprise Learner Portal (or Admin Portal) upon account activation.
This is likely a broad enough use case to be valuable in other endeavors.
* feat: Use forked RG version of edx_proctoring in devstack
* Add waffle flag for special exams for mfe (#2371)
* feat: add waffle flag for special exams for mfe
* fix: waffle flag name, add coma to imports
Co-authored-by: Vladas Tamoshaitis <vladas.tamoshaitis@raccoongang.com>
* fix: revert requirements for master branch
* fix: revert dev requirements
* fix: trailing comma after imported item
* feat: add special exams waffle flag test
* fix: use ENABLE_SPECIAL_EXAMS global settings flag
* fix: toggle description
* fix: naming of waffle flag helpers to reflect relation with mfe
* fix(tests): assertion operators order
Co-authored-by: Sagirov Eugeniy <sagirov19@gmail.com>
Co-authored-by: Sagirov Evgeniy <34642612+UvgenGen@users.noreply.github.com>
Co-authored-by: Vladas Tamoshaitis <vladas.tamoshaitis@raccoongang.com>
In DE-1822, we believed we needed to switch to start_date and end_date.
It was determined this was not the case, so this updates the comment
to ensure future users use the correct fields (start and end) and
updates any pieces of code that may have used start_date or end_date.
We already had function traces to see how long each processor took when
generating a UserCourseOutlineData. This adds a similar tracking around
making a UserCourseOutlineDetailsData, to help track down performance
issues observed in what I think is the special exams processor.
notify_credentials command
In this PR we are removing a management command that has performance issues and duplicates logic not available in the notify_credentials management command.
* [feat] Added program_uuids to notify_credentials mgmt cmd
[MICROBA-951]
To support updating a users credentials in the Credentials services for
all users enrolled in a program we have added a command line argument to
the notify_credentials command called program_uuids. This supports a
list of program uuids. It will retrieve all course runs in the listed
programs and update the related credentials data.
* updated comments
As part of authn redesign, validation messages have been updated.
- created a new endpoint for validations
- updated username/email conflict message in registration api based on
authn check
VAN-288
Currently, course staff can always view their courses
in the Legacy courseware experience.
With this change, course staff will *not* be able
to view their courses if the New (MFE) courseware
experience has been enabled for them.
This does not affect global staff, and it does not
affect courses that are still running in the Legacy
experience.
Adds a new parameter returned by the course metadata API
used by the courseware MFE to determine if the button to
show legacy experience should be displayed or not.
TNL-8203
[MICROBA-1178]
- remove modulestore usage in `generation_handler.py`
- add duplicate functions that utilize a CourseKey or CourseOverview to remove dependence on modulestore (this will be cleaned up (if possible) at a later part of this refactor)
- add python API function to `content`/`course_overview` app that will retrieve a single CourseOverview (rather than a serialized list of dicts of CourseOverview data)
This djangoapp was designed for talking to sailthru, in a fairly
edx.org-specific way. Nowadays, edx.org doesn't need this code and
if other installations do, it's better off as a more distinct
plugin anyway, rather than direct support in the platform.
I've moved the one signal that was still useful (calling
segment.identify() whenever user fields change) into user_authn.
And I've left the EmailMarketingConfiguration model alone for now,
but will remove that shortly. Nothing uses it as of this commit.
AA-607
DEPR-139
Modify the existing login api in a way that
it will allow the user to login via username as well.
currently it is only allowing email to log the user in.
VAN-445