Commit Graph

19868 Commits

Author SHA1 Message Date
Diana Huang
3eb2078c38 refactor: remove squashed student migrations
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
2021-05-11 15:19:17 -04:00
Michael Terry
1e4daf749c Merge pull request #27594 from edx/mikix/youtube-complete
fix: mark age-restricted youtube videos as complete immediately
2021-05-11 14:53:08 -04:00
Michael Terry
c7fd535c2f fix: mark age-restricted youtube videos as complete immediately
Youtube videos that are age-restricted must be viewed on youtube
itself rather than in the embedded player. So we can't notice when
the video is watched. Rather than leave it incompletable, just mark
the video complete immediately if it's restricted.

AA-804
2021-05-11 13:58:03 -04:00
Kyle McCormick
680bd32de8 revert: refactor: pyupgrade second iteration (#27591)
The edx-sandbox (secure/codejailed execution context
for edx-platform) still runs in Python 3.5, so certain
modules in common/lib cannot be py-upgraded to use
Python 3.8 syntax.

Specifically, this commit added an f-string to
common/lib/sandbox-packages/verifiers/draganddrop.py,
which broke scoring of deprecated drag-and-drop problems
in codejail.

TNL-8322

This reverts commit 8c06b68bbe
2021-05-11 10:53:49 -04:00
Usama Sadiq
4f4be6538a BOM-2477: pylint warnings lint-amnesty (#27585) 2021-05-11 17:22:40 +05:00
Zainab Amir
5813b82c1a refactor: update account activation view (#27587)
Added a check to show error message for scenario where an authenticated
user tries to activate another user's account

VAN-443
2021-05-11 15:08:58 +05:00
Christie Rice
4867535d2d refactor: Use certificates api method instead of the model, and rename whitelist to allowlist. Also move method to certificates app to prevent circular import. (#27532)
MICROBA-1021
2021-05-10 13:02:43 -04:00
Alex Dusenbery
4b247013ff feat: account activation now supports a next query param. ENT-4433
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.
2021-05-10 12:58:26 -04:00
Usama Sadiq
f2f9e36d6c refactor: pyupgrade second iteration (#27454) 2021-05-10 13:50:19 +05:00
Usama Sadiq
2409ea22be refactor: pyupgrade second iteration (#27453) 2021-05-10 13:48:34 +05:00
Usama Sadiq
ea550c06a5 refactor: pyupgrade second iteration (#27452) 2021-05-10 13:47:33 +05:00
Usama Sadiq
8c06b68bbe refactor: pyupgrade second iteration (#27451) 2021-05-10 13:46:28 +05:00
Usama Sadiq
e7b8328620 BOM-2494: pyupgrade second iteration-IX (#27449) 2021-05-10 13:45:29 +05:00
Usama Sadiq
e66e43c5d2 refactor: pyupgrade second iteration (#27450) 2021-05-10 13:42:51 +05:00
Dillon Dumesnil
5085580697 Merge pull request #27554 from edx/ddumesnil/start-end-date-comments
refactor: Switch to using course_overview start and end everywhere
2021-05-07 10:46:25 -07:00
Adeel Ehsan
798b523712 Revert "CTA dialogue added" (#27560) 2021-05-07 16:17:18 +05:00
Adeel Ehsan
03a8dbffb7 Merge pull request #27334 from edx/aehsan/Van-434/cta_dialogue_box_added
CTA dialogue added
2021-05-07 05:42:56 +05:00
Dillon Dumesnil
89c463ff29 refactor: Switch to using course_overview start and end everywhere
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.
2021-05-06 16:42:10 -04:00
edX cache uploader bot
3c6222052e Updating Bokchoy testing database cache (#27531) 2021-05-06 12:52:14 +05:00
edX Transifex Bot
07d7a7787f geoip2: update maxmind geolite country database 2021-05-06 02:11:39 +05:00
adeelehsan
dc306f8f6d CTA dialogue added
VAN-434
2021-05-05 23:29:47 +05:00
M. Zulqarnain
73f5da9b32 Revert "Updating Bokchoy testing database cache (#27514)" (#27523)
This reverts commit 91422e22e7.
2021-05-05 16:38:20 +05:00
Uzair Rasheed
c450de4062 Merge pull request #27496 from edx/update-login-api
upgrade login api
2021-05-05 13:15:22 +05:00
edX cache uploader bot
91422e22e7 Updating Bokchoy testing database cache (#27514) 2021-05-05 12:57:53 +05:00
Michael Terry
78c6be8bee Merge pull request #27422 from edx/mikix/handler-will-recheck-access
fix: the get_completion JS handler should not ignore FBE blocks
2021-05-04 15:54:36 -04:00
Michael Terry
033b9474ac Merge pull request #27502 from edx/mikix/drop-email-marketing
feat!: remove all email_marketing djangoapp code
2021-05-04 08:39:08 -04:00
Michael Terry
35f78a3241 feat!: remove all email_marketing djangoapp code
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
2021-05-03 16:39:01 -04:00
Simon Chen
ebbb240027 MST-698 Remove escaping for Proctoring Requirements email on course_name and proctoring backend name (#27500)
The course name can contain apostrophes and other special characters. The email template right now escapes every words. This is not desired because it can render apostrophes like #39;. Update the email templates so only second half of the email template is escaped
2021-05-03 15:39:07 -04:00
Michael Terry
12e9763446 Merge pull request #27487 from edx/mikix/fix-gated-content-check
fix: properly set contains_gated_content field on xblocks again
2021-05-03 11:50:40 -04:00
Michael Terry
6e52aafc8c fix: properly set contains_gated_content field on xblocks again
This has been broken for a couple months, preventing proper display
of verified-only assignments on the dates tab and elsewhere.

AA-780
2021-05-03 10:17:17 -04:00
Christie Rice
98636654dd feat!: Remove allow_certificate field from the user profile as the field is no longer used (#27424)
DEPR-140 MICROBA-985
2021-05-03 09:28:36 -04:00
uzairr
ac054f92b1 upgrade login api
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
2021-05-03 11:38:07 +05:00
Dillon Dumesnil
874242a1d4 Merge pull request #27456 from edx/ddumesnil/update-enrollment-activated-segment-aa-775
feat: AA-775: add course start and pacing to enrollment.activated segment event
2021-04-29 06:57:14 -07:00
edX cache uploader bot
94818924a5 Updating Bokchoy testing database cache 2021-04-29 12:08:51 +05:00
edX Transifex Bot
7d6edbe41d geoip2: update maxmind geolite country database 2021-04-29 02:11:21 +05:00
David Ormsbee
dfb80acc11 feat: Enrollment Tracks OutlineProcessor (MST-685)
NOTE: This will require a forced backfill of course outlines to update
the course content data in learning_sequences:

  python manage.py cms backfill_course_outlines --force

Without this backfill, the learning_sequences API will continue to serve
stale content data that has no user partition group data. It won't cause
errors, but it won't do the exclusions properly.

Commit summary:

* Created EnrollmentTrackPartitionGroupsOutlineProcessor to process the
  enrollment_track User Partition Group, allowing Sequences and Sections
  to be removed based on their group_access settings.
* Added user_partition_groups attribute to CourseLearningSequenceData
  and CourseSectionData in learning_sequences/data.py, along with
  backing model data.
* get_outline_from_modulestore now extracts group_access settings from
  Sections and Sequences. It also bubbles up group_access settings from
  Units, meaning that if a Sequence with no group_access setting has
  Units that are all set to show only to the Verified enrollment track,
  then the Sequence will only show to the Verified enrollment track.

This commit adds model-level support for all user partition groups by
capturing all the content group associations (group_access), but it only
implements the code checks for the enrollment track partition. It's not
clear that we want to generalize, since there's only one other partition
type (A/B testing) that is applicable at the outline level.

It's important to note that there is no way to set the group_access for
a Section or Sequence in Studio today. It's only possible by direct
editing of the OLX for import. That being said, the block structures
framework supports applying course groups at this level, and this commit
moves learning_sequences closer to feature parity.

The bubbling up from Units to the parent Sequence was done to mitigate
confusion when a Sequence is entirely composed of Units that are not
visible to the user because of content group restrictions. It's not
clear whether this is something we want to do in the long term, since it
would simplify the code to always specify group_access at the Sequence
level. This first pass is done partially to collect better data about
places in our courses where this kind of usage is already happening.

Most of the EnrollmentTrackPartitionGroupsOutlineProcessor code and its
tests were written by @schenedx.
2021-04-28 12:58:59 -04:00
Dillon Dumesnil
1f58bbe522 feat: AA-775: add course start and pacing to enrollment.activated segment event 2021-04-28 11:29:22 -04:00
Christie Rice
44ed703d41 fix: Allow allow_certificate field to be null in preparation for removing it (#27432)
DEPR-140 MICROBA-985
2021-04-28 08:50:18 -04:00
edX cache uploader bot
af59696087 Updating Bokchoy testing database cache (#27445) 2021-04-28 17:36:15 +05:00
Michael Terry
b90039b23d fix: the get_completion JS handler should not ignore FBE blocks
Because xblock handlers normally get a block tree that already has
inaccessible blocks stripped, they don't see FBE gated blocks at
all. So the get_completion handler would return True for FBE units
incorrectly. Leading to a visual bug as an audit user went through
their units in the courseware.

In order to let the handler know about the full tree, I've added a
new attribute you can set on your xblock handlers:
my_handler.will_recheck_access = True

This will tell the top-level handler code get the full tree for you.

As part of this, I've also changed the sequence xblock handler's
into proper xblock handlers (not old-style xmodule handlers).
This changes their URLs slightly. I've kept the old URLs for now
as well, but they'll be removed after Maple.

AA-409
2021-04-27 15:17:53 -04:00
Usama Sadiq
588f11b100 refactor: apply lint-amnesty to pylint violations 2021-04-27 14:43:31 +05:00
Dillon Dumesnil
2330150193 Merge pull request #27406 from edx/ddumesnil/fix-staff-access-aa-646
fix: AA-646: Fix is_staff_user check to check for course staff
2021-04-26 10:56:25 -07:00
Julia Eskew
4462ed37b2 Revert "update login api" (#27416)
This PR might be causing e2e tests to fail. Reverting and merging without waiting on tests.
2021-04-26 10:07:36 -04:00
Dillon Dumesnil
8c18242ecb fix: AA-646: Fix is_staff_user check to check for course staff
It was checking for global staff, but really only needed to check
for course staff. This corrects the check.
2021-04-23 10:24:53 -04:00
uzairr
5103f59df9 upgrade login api
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
2021-04-23 17:21:18 +05:00
Kyle McCormick
b0d41f6ebb refactor: simplify ProblemBlock inheritance hierarchy (#27363)
Previously, ProblemBlock's implementation was split between
CapaMixin/CapaFields (in capa_base.py) and ProblemBlock
(in capa_module.py), the former being the base classes of the
latter. The split existed for a historical reason:
as a former XModule, ProblemBlock was once split
between CapaDescriptor (author-facing) and CapaModule
(learner-facing). Since ProblemBlock has been converted
to being a pure XBlock, the division between the base
classes and the block class are no longer necessary
nor semantically helpful.

docs: Flesh out ProblemBlock's docstring a bit.
2021-04-22 12:44:15 -04:00
edX Transifex Bot
55b1375c7c geoip2: update maxmind geolite country database 2021-04-21 17:11:09 -04:00
Ali Akbar
025fb5ed66 Merge pull request #228 from edx/aakbar/xss-security-fixes
Fix XSS for numerous files
2021-04-22 01:16:47 +05:00
Julia Eskew
efa13ff1d2 fix: TNL-8233: Change exception raised at problem creation failure from generic exception to LoncapaProblemError. (#27361)
Raising this specific exception will cause the failure to be handled more gracefully by problem rescoring code.
2021-04-21 16:13:23 -04:00
Zaman Afzal
0d7245d346 Removed the waffle switch ENABLE_MULTIPLE_SSO_ACCOUNTS_ASSOCIATION_TO_SAML_USER (#27379) 2021-04-21 13:14:15 +05:00