Commit Graph

25151 Commits

Author SHA1 Message Date
Braden MacDonald
f31dc19887 Support anonymous users in the Blockstore-based XBlock runtime
Implementation details:
* Anonymous users are assigned a unique ID (like 
  `anon42c08f9996194e2a9339`) which gets stored in the django session.
  `block.scope_ids.user_id` and `block.runtime.anonymous_student_id`
  will both return this value.
* User state for anonymous users is stored in the django cache and
  automatically expires as the cache gets pruned. Because user state is
  stored, anonymous users can use interactive blocks like capa problems.
* There is no mechanism for upgrading to a registered account and
  keeping user state since the user state store for anonymous users
  (EphemeralKeyValueStore) is completely different than the one for
  registered users (DjangoKeyValueStore/"CSM"), and has no "list all
  keys" functionality.
* "User State Summary" field values are shared among [recently active]
  anonymous users but are not shared with registered users.
* Anonymous users can only access the `public_view` of XBlocks, not the
  regular `student_view`.
2019-12-19 16:12:24 -08:00
Feanil Patel
2cae30cd92 Instantiate idv attempt with a string photo_id_key.
When we run the management command, the photo_id_key is retrieved
through the orm and so is represented as a string.  However, when we do
the initial attempt, the object is instantiated and we refer to the key
without having decoded it.  The photo_id_key is sent as a part of the
request to software secure.  And if we have a byte representation their
signature checking will fail.

This is why the management command worked even when the site didn't.
It was getting a cleaned key via the orm.
2019-12-19 16:18:02 -05:00
Simon Chen
682a450362 Fix the bug where we return many programs if the number of courses the staff user is enrolled in are many 2019-12-19 15:00:43 -05:00
Calen Pennington
c83d0e2ca8 OverwriteStorage was removed from django-storages, so pull it into edx-platform (for now?) 2019-12-19 14:06:30 -05:00
George Babey
6546d394fe Merge pull request #22510 from edx/hasnain-naveed/ENT-2452
ENT-2452, ENT-2068 | Made the lms and learner portal alerts responsiv…
2019-12-19 09:10:23 -05:00
Zainab Amir
d2ca9a02d1 Disable Audit Certs for Whitelisted Students (#22401)
Ensure that certificate is not generated if a learner enrolled in
audit mode is whitelisted

PROD-978
2019-12-19 17:06:33 +05:00
Zaman Afzal
f20a064a0c ENT-2500 Bypass multiple enterprise selection page for SAML user (#22459) 2019-12-19 13:16:38 +05:00
Feanil Patel
972aa3fd4e Merge pull request #22567 from edx/feanil/fix_id_verification_errors
Ensure that photo verification data is correctly typed.
2019-12-18 16:31:52 -05:00
Jansen Kantor
92e833d565 add api function and teams service (#22515)
* add api function and teams service
2019-12-18 15:05:02 -05:00
Matthew Piatetsky
652b49c5ac Merge pull request #22550 from edx/REV-1064
[REV-1064] show discount in sidebar and sock
2019-12-18 14:08:22 -05:00
Feanil Patel
3808b2991c Ensure that photo verification data is correctly typed.
There were cases where we needed to encode things to codecs other than
ascii.  In these cases, python returns byte strings but we needed them
to be unicode so that they serialize correctly later when we combine
them with other unicode strings.
2019-12-18 13:54:37 -05:00
Calen Pennington
3633d7148e Merge pull request #22424 from eduNEXT/dmo/INCR-562
INCR-562 @require_certificate_permission parameters added
2019-12-18 13:25:28 -05:00
Robert Raposa
2e2ceeae8d update logistration js to require json
This is Part 3 of clean-up for removing the shim from
LoginSessionView.post.  Not that the shim should be gone, the frontend
code can be simplified to always provide the shimless version of the
code.

ARCH-1253
2019-12-18 10:20:18 -05:00
DawoudSheraz
bb02732d37 update user check in user state service 2019-12-18 11:16:43 +05:00
Matthew Piatetsky
3a54df511a show discount in sidebar and sock 2019-12-17 09:09:19 -05:00
Calen Pennington
31d96dbc47 Merge pull request #22549 from cpennington/git-revision-on-disk
Read the current edx-platform git revision from a file on disk
2019-12-17 08:57:41 -05:00
Troy Sankey
22f8b65228 Add history to GeneratedCertificate
DE-1881
2019-12-17 17:50:25 +05:00
Calen Pennington
11e163d420 Read the current edx-platform git revision from a file on disk 2019-12-17 07:44:28 -05:00
DawoudSheraz
5178256f3c add user state service in module render 2019-12-16 11:20:55 +05:00
David Moreno
c519196022 @require_certificate_permission parameters added 2019-12-13 15:55:59 -05:00
Matt Tuchfarber
5039ec6a01 Merge pull request #22519 from edx/tuchfarber/enable_devstack_theming
Adds optional setting to enable devstack theming
2019-12-13 12:56:28 -05:00
Feanil Patel
1411ef548c Merge branch 'master' into release-mergeback-to-master 2019-12-13 10:28:35 -05:00
hasnain.naveed
11f305b944 ENT-2452, ENT-2068 | Made the lms and learner portal alerts responsive. Added the lms alert's style in learner portal alert. 2019-12-13 17:59:52 +05:00
Hasnain Naveed
2316aba391 Merge pull request #22456 from edx/hasnain-naveed/ENT-1961
ENT-1961 | Making the manual enrollment reason field optional via con…
2019-12-13 11:03:20 +05:00
Diana Huang
ddf3a8208f Remove items from a different dictionary than the one we're
iterating over.
2019-12-12 15:18:01 -05:00
Matt Tuchfarber
3e94db7449 Adds optional setting to enable devstack theming
The mako engine isn't able to find themed templates in devstack because
the path it checks is set before we enable comprehensive theming. This
Adds a settings section to  comment out if you want to enable
theming in devstack.
2019-12-12 14:31:54 -05:00
Diana Huang
e005c0461e Handle the caching of responses between Python 2 and Python 3. 2019-12-12 11:18:43 -05:00
Robert Raposa
d79e7df32b use login_ajax for logistration
- use login_ajax (in place of login_session with shim) for
logistration's call to login POST
- add toggle for using login_ajax from logistration
  - FEATURES['ENABLE_LOGIN_POST_WITHOUT_SHIM']
- add custom metrics for redirect_url
- update test for third-party auth error_code

NOTE: The error_code `third-party-auth-with-no-linked-account`
was introduced in JSON in this earlier PR:
https://github.com/edx/edx-platform/pull/22452/files

ARCH-1253
2019-12-12 10:39:49 -05:00
Zainab Amir
3e426ccecc Suppress grade on dashboard (#22471)
Learners should not be able to view final grade before course end
date.Suppress the grade achieved so far till course end date on
dashboard.

PROD-701
2019-12-12 17:22:58 +05:00
Diana Huang
28ce0e6739 Add logging middleware to determine why our responses are bad. 2019-12-11 17:01:07 -05:00
Giovanni Cimolin da Silva
5983d5dd42 Skip test on python 3 2019-12-11 13:54:34 -03:00
adeel khan
2eab2a3a8a Merge pull request #22350 from edx/adeel/prod_1005_automate_failed_photo_verification
Automate retry_failed_photo_verification mgt command
2019-12-11 14:17:03 +05:00
David Ormsbee
fead65750f Merge pull request #20684 from open-craft/clemente/support-date-columns-in-student-csv-export
Add last_login and date_joined to the student profile export
2019-12-10 18:20:40 -05:00
Feanil Patel
a76139da97 Merge pull request #22482 from edx/feanil/fix_mobile_versioning_middleware
Ignore bad cached data.
2019-12-10 18:11:03 -05:00
Giovanni Cimolin da Silva
c20f7cb7f5 Fix services tests 2019-12-10 19:23:44 -03:00
Feanil Patel
0e1116003a Ignore bad cached data.
When migrating from python 2 to 3 we can get in a situation where the
cache has data that the new version of python can't read.  In this case
drop the bad data and re-cache the correct data.
2019-12-10 16:15:46 -05:00
Feanil Patel
fb73bcb27c Merge pull request #22478 from edx/diana/handle-branding-string
Redirect to the view names directly.
2019-12-10 15:06:32 -05:00
Diana Huang
b4825c52be Merge pull request #22481 from edx/diana/py3-cleaned-data
Remove items from a different dictionary than the one we're iterating over.
2019-12-10 14:53:21 -05:00
Jeremy Bowman
0e1881f525 Fixes for celery worker Python 3 bugs (#22479) 2019-12-10 14:07:27 -05:00
Diana Huang
6e7d54e820 Use the view names for redirect. 2019-12-10 13:39:54 -05:00
Diana Huang
4a828d749a Remove items from a different dictionary than the one we're
iterating over.
2019-12-10 13:21:03 -05:00
Matthew Piatetsky
b7452ca61b Merge pull request #22430 from edx/REV-954
[REV-954] get optimizely from cloudflare
2019-12-10 11:13:31 -05:00
hasnain.naveed
c926a13f41 ENT-1961 | Making the manual enrollment reason field optional via configuration flag ENABLE_MANUAL_ENROLLMENT_REASON_FIELD. 2019-12-10 17:31:58 +05:00
Adeel Khan
2b80fdbf66 Automate retry_failed_photo_verification mgt command
This patch would enable a user to run management
command via jenkins job. Verification ids
are injected via a configuration model.

PROD-1005
2019-12-10 16:53:12 +05:00
David Ormsbee
f508ba3d01 Merge pull request #19941 from open-craft/jill/opt-out-weekly-highlight-messages
Add api support to let users opt out of email updates
2019-12-09 16:57:09 -05:00
Giovanni Cimolin da Silva
ba4de2f933 Upgrade pymongo and fix issues
This commit upgrades the version of pymongo from 2.x to 3.x, removing usages to deprecated functions usage and fixing tests where necessary.

This version of pymongo supports MongoDB 2.x all the way up to 4.2, and this ensures that the platform will be able to run on a supported MongoDB version in the next release.
2019-12-09 15:43:56 -03:00
Taranjeet Singh
00653433a5 Adds optional "unsubscribe" link and api support to let users opt out of email updates.
Scheduled emails show "unsubscribe" link if waffle switch
`schedules.course_update_show_unsubscribe` is enabled, and
settings.ACE_ENABLED_POLICIES respects `bulk_email_optout`.

API endpoint allows GET/POST requests, which:

* GET asks for confirmation of opt-out
* POST accepts "unsubscribe" or "cancel", where "unsubscribe" creates the
  Optout entry, and "cancel" does nothing.

Fixes flaky tests:

* The resolvers handle users in "bins", which are groups that depend on the user ID.
* The test user ID varies depending on the test order.
* This change ensures that the bin requested matches the user for the test.
2019-12-09 22:49:57 +10:30
DawoudSheraz
c58ec73210 create service for CSM 2019-12-09 12:21:16 +05:00
Alex Wang
f1d2ddc97a no student create team in instructor managed topic (#22432)
Students can't create team in an instructor-managed topic
2019-12-06 13:41:56 -05:00
Diana Huang
461b11650e Move account_settings into user_api. 2019-12-06 10:27:26 -05:00