Commit Graph

9300 Commits

Author SHA1 Message Date
Bianca Severino
c589601b5b Merge pull request #25900 from edx/bseverino/timed-exams
[MST-575] Enable timed exams by default
2020-12-17 12:31:23 -05:00
Bianca Severino
4984fa73c6 Enable timed exams by default 2020-12-17 12:07:57 -05:00
Carla Duarte
99163bdf2c AA-131: Allow anonymous users through course home MFE 2020-12-16 12:58:33 -05:00
David Ormsbee
6ff64369f4 Merge pull request #25694 from open-craft/s0b0lev/lx-1640-video
SE-3492: Video Xblock API handler: student_view_state
2020-12-15 13:58:12 -05:00
Dillon Dumesnil
d58a080236 Merge pull request #25865 from edx/ddumesnil/aa-260
AA-260/AA-500: Improvements to in course shift deadlines
2020-12-14 12:25:23 -08:00
Dillon Dumesnil
3c1de16eba AA-260/AA-500: Improvements to in course shift deadlines
As part of AA-500, we added a completeness check to showing the
banner since we didn't before. As part of AA-260, we now take into
account if a learner has more attempts left on a problem (regardless
of completeness) and allow them to shift their dates to try again.
2020-12-14 19:05:30 +00:00
Aleksandr Sobolev
7ac6d47382 Added student_view_user_state video Xblock handler 2020-12-14 04:05:38 +06:00
Pooja Kulkarni
e9cba8c282 Fix the theme compilation issue since juniper (#24990)
Replaces the deprecated CachedFilesMixin with ManifestFilesMixin.
Also sorts xmodules and xblocks js bundles to make theme assets
compilation hashes consistent across different machines.
2020-12-11 09:36:31 -05:00
Ali Akbar
e209d892c1 Merge pull request #210 from edx/IM/security-fixes-2
Incident Management security fixes 2
2020-12-10 14:26:25 +05:00
Ali-D-Akbar
3aa0f7e2e8 disable xsslint 2020-12-09 12:41:47 +05:00
Ned Batchelder
0578174378 Merge pull request #25760 from open-craft/mtyaka/squash-warning
Register pytest mongo marker to avoid warning.
2020-12-08 13:20:27 -05:00
Zachary Hancock
e2d9c34d5c Expose proctoring waffle to edx-proctoring templates (#25704)
* pass proctoring waffle flag on render
2020-12-07 16:30:26 -05:00
azanbinzahid
467459439f PROD-2159 2020-12-07 16:24:27 +05:00
Matjaz Gregoric
1e59491dde Register pytest mongo marker to avoid warning.
See https://docs.pytest.org/en/stable/mark.html#registering-marks
2020-12-04 09:32:27 +01:00
Régis Behmo
a16cd71046 Start waffle namespace deprecation
By explicitly importing the legacy namespace classes, we make it clear
that we are using soon-to-be-deprecated classes. We will then be able to
start removing the legacy classes, one module at a time.
2020-12-03 16:06:14 +01:00
Kyle McCormick
4dda73d797 [BD-14] Migrate all environments to use database-backed organizations (#25153)
* Install `organizations` app into LMS and Studio non-optionally.
* Add toggle `ORGANIZATIONS_AUTOCREATE` to Studio.
* Remove the `FEATURES["ORGANIZATIONS_APP"]` toggle.
* Use the new `organizations.api.ensure_organization` function to
  either validate or get-or-create organizations, depending
  on the value of `ORGANIZATIONS_AUTOCREATE`,
  when creating course runs and V2 content libraries.
  We'll soon use it for V1 content libraries as well.
* Remove the `util.organizations_helpers` wrapper layer
  that had to exist because `organizations` was an optional app.
* Add `.get_library_keys()` method to the Split modulestore.
* Add Studio management command for backfilling organizations tables
  (`backfill_orgs_and_org_courses`).

For full details, see
https://github.com/edx/edx-organizations/blob/master/docs/decisions/0001-phase-in-db-backed-organizations-to-all.rst

TNL-7646
2020-12-02 13:58:40 -05:00
David Ormsbee
f096f5d685 Merge pull request #25618 from open-craft/symbolist/convert-annotatable-xmodule-to-xblock
[BD-4] Convert Annotatable XModule to XBlock. [SE-3640]
2020-12-02 13:37:20 -05:00
Samuel Walladge
1432dee97c SE-3243 Remove injected edxnotes from AboutBlock (#24930)
This is required to stop get_course_about_section
html content from using the edxnotes version of
get_html, which injects the edxnotes html into it.
We don't want this injected into the html here,
because these are snippets meant to be displayed
in original form on the course about page.
2020-11-30 09:40:37 -05:00
DawoudSheraz
1b490d5ea4 add course_import_failure newRelic custom attribute for better alerting conditions in import flow 2020-11-24 20:45:41 +05:00
Usman Khalid
4a6f2b81a9 Convert Annotatable XModule to XBlock. 2020-11-24 04:58:59 +05:00
Kyle McCormick
9f239ffe8f Add reset_course_content Studio management command (#25653)
Given a course key and a split-mongo version GUID,
it resets the course run's draft branch to a specified
version and publishes.

The purpose of this is to allow us to restore overwritten
course content without having to write to Mongo via a
dbshell.

Adds `reset_course_to_version` method to modulestore API.

TNL-7705
2020-11-23 15:14:10 -05:00
0x29a
c83a505635 Replace 'multi_db = True' with 'databases = {alias for alias in connections}'
Check this ticket for details: https://code.djangoproject.com/ticket/29513
2020-11-19 14:06:51 +01:00
Robert Raposa
8eef18710d set code_owner for celery tasks
ARCHBOM-1260

Co-authored-by: Tim McCormack <tmccormack@edx.org>
2020-11-17 15:33:33 -05:00
Feanil Patel
ae81d3347f Remove a deprecation warning.
DeprecationWarning: The unescape method is deprecated and will be
removed in 3.5, use html.unescape() instead.
2020-11-13 14:40:52 -05:00
David Ormsbee
d83241e503 Merge pull request #24809 from open-craft/symbolist/convert-randomize-module-to-xblock
[BD-04] Convert Randomize XModule to XBlock
2020-11-12 13:06:57 -05:00
David Ormsbee
2086f11a22 Merge pull request #24838 from open-craft/symbolist/convert-conditional-module-to-xblock
[BD-04] Convert Conditional XModule to XBlock
2020-11-12 13:04:26 -05:00
Kyle McCormick
151bd13666 Use full names for common.djangoapps imports; warn when using old style (#25477)
* Generate common/djangoapps import shims for LMS
* Generate common/djangoapps import shims for Studio
* Stop appending project root to sys.path
* Stop appending common/djangoapps to sys.path
* Import from common.djangoapps.course_action_state instead of course_action_state
* Import from common.djangoapps.course_modes instead of course_modes
* Import from common.djangoapps.database_fixups instead of database_fixups
* Import from common.djangoapps.edxmako instead of edxmako
* Import from common.djangoapps.entitlements instead of entitlements
* Import from common.djangoapps.pipline_mako instead of pipeline_mako
* Import from common.djangoapps.static_replace instead of static_replace
* Import from common.djangoapps.student instead of student
* Import from common.djangoapps.terrain instead of terrain
* Import from common.djangoapps.third_party_auth instead of third_party_auth
* Import from common.djangoapps.track instead of track
* Import from common.djangoapps.util instead of util
* Import from common.djangoapps.xblock_django instead of xblock_django
* Add empty common/djangoapps/__init__.py to fix pytest collection
* Fix pylint formatting violations
* Exclude import_shims/ directory tree from linting
2020-11-10 07:02:01 -05:00
Usman Khalid
f62b5de6b1 Convert ConditionalModule to ConditionalBlock. 2020-11-07 20:02:02 +05:00
Kyle McCormick
758c2b02a1 Pass course-run-specific resource limits to codejail
The limits can be defined in settings.CODE_JAIL['limits_overrides'],
which is a dict mapping context ids (generally, course run keys)
to overrides to be applied to settings.CODE_JAIL['limits'].

This will allow us to temporarily alter the codejail limits
for certain contexts in order to enable, for example,
a certain course run's tasks to run longer while a large exam's
grades are recomputed.

TNL-7649
2020-11-05 11:53:16 -05:00
Usman Khalid
8e4a9d2ba1 Convert RandomizeModule to RandomizeBlock. 2020-11-04 23:15:35 +05:00
Kyle McCormick
d1a775d3cd Use full names for lms.djangoapps imports (#25401)
* Use full LMS imports paths in LMS settings and urls modules
* Use full LMS import paths in Studio settings and urls modules
* Import from lms.djangoapps.badges instead of badges
* Import from lms.djangoapps.branding instead of branding
* Import from lms.djangoapps.bulk_email instead of bulk_email
* Import from lms.djangoapps.bulk_enroll instead of bulk_enroll
* Import from lms.djangoapps.ccx instead of ccx
* Import from lms.djangoapps.course_api instead of course_api
* Import from lms.djangoapps.course_blocks instead of course_blocks
* Import from lms.djangoapps.course_wiki instead of course_wiki
* Import from lms.djangoapps.courseware instead of courseware
* Import from lms.djangoapps.dashboard instead of dashboard
* Import from lms.djangoapps.discussion import discussion
* Import from lms.djangoapps.email_marketing instead of email_marketing
* Import from lms.djangoapps.experiments instead of experiments
* Import from lms.djangoapps.gating instead of gating
* Import from lms.djangoapps.grades instead of grades
* Import from lms.djangoapps.instructor_analytics instead of instructor_analytics
* Import form lms.djangoapps.lms_xblock instead of lms_xblock
* Import from lms.djangoapps.lti_provider instead of lti_provider
* Import from lms.djangoapps.mobile_api instead of mobile_api
* Import from lms.djangoapps.rss_proxy instead of rss_proxy
* Import from lms.djangoapps.static_template_view instead of static_template_view
* Import from lms.djangoapps.survey instead of survey
* Import from lms.djangoapps.verify_student instead of verify_student
* Stop suppressing EdxPlatformDeprecatedImportWarnings
2020-11-04 08:48:33 -05:00
Sarina Canelake
18059c20e7 Merge pull request #25505 from edx/sarina/gender-neutral-language
Change gendered language to gender-neutral 'they/them/their'
2020-11-03 16:16:59 -05:00
Régis Behmo
4586002956 Import waffle classes from edx_toggles instead of waffle_utils
Those classes were ported to edx_toggles. The imports remain in
waffle_utils.__init__ for backward compatibility.
2020-11-03 19:25:37 +01:00
Régis Behmo
2307dff4c9 Deprecate WaffleFlag.override method
This allows us to get rid of waffle_utils' custom WaffleFlag method.
2020-11-03 19:25:37 +01:00
sarina
f414fad0cc Change gendered language to gender-neutral 'they/them/their' 2020-11-02 18:23:13 -05:00
Robert Raposa
e265a754aa fix update assets
An xmodule file that is loaded during update_assets
without settings was referring to the FEATURES setting
without checking if it existed.
2020-10-28 09:38:51 -04:00
Ahtisham Shahid
b36af3930d Fixed Alert issue in lbirary editor (#25433) 2020-10-28 11:20:41 +05:00
Carla Duarte
ca7434ce3b AA-405: UI fixes for courseware 2020-10-23 09:20:46 -04:00
David Ormsbee
0c61b0d4e2 Re-enable refreshing from library only on initial insertion of lib (#25347)
If the library content block is already in the course, then don't
refresh the children when we re-import it. This lets us address
TNL-7507 (Randomized Content Block Settings Lost in Course Import)
while still avoiding AA-310, where the IDs of the children for an
existing library_content block might be altered, losing student
user state.

When importing, we only copy the default values from content
in a library the first time that library_content block is created.
Future imports ignore what's in the library so as not to disrupt
course state. You can still update to the library via the Studio
UI for updating to the latest version of a library for this block.
2020-10-21 10:49:32 -04:00
Matthew Piatetsky
651a020fcc Merge pull request #25151 from edx/REV-1510
[REV-1510] Gate sequence if it is a timed exam and contains content type gated problems
2020-10-14 16:54:39 -04:00
Matthew Piatetsky
dcecae4f5c address comments 2020-10-14 15:52:41 -04:00
Sid Verma
09c24be35e Add UI for "library sourced block" letting users browse and select xblocks (#24816) 2020-10-14 13:29:52 -04:00
Matthew Piatetsky
2153057142 Add XBlock service for content type gating
This is used in this commit to check if a timed exam contains any problems that have been gated by content type gating
REV-1510
2020-10-14 08:02:51 -04:00
David Ormsbee
8b2b9b5c74 Merge pull request #23174 from open-craft/agrendalath/add_course_id_to_html_block
[BB-2088] Add %%COURSE_ID%% to html block
2020-10-07 12:36:36 -04:00
Andytr1
b4f144ef62 EDUCATOR-5304 - update help text (#25264)
* EDUCATOR-5304 - update help text

* EDUCATOR-5304 - update help text - escape underscore

* EDUCATOR-5304 - update help text - escape underscore 2
2020-10-06 16:30:02 -04:00
Matthew Piatetsky
be2d534488 Gate sequence if it is a timed exam and contains content type gated problems
The previous attempt to implement this was bugged because it was not respecting manual exceptions to content type gating. This is fixed by checking has_access for each child problem of the sequence.
REV-1510
2020-10-05 09:51:56 -04:00
Matthew Piatetsky
7620600220 Revert "Revert "[REV-774] Show content type gating upsell when a limited access learner tries to access a timed exam"" 2020-10-02 09:14:45 -04:00
Agrendalath
87997d0975 [BB-2120] Add %%COURSE_ID%% keyword to HTML block
Until now only `%%USER_ID%%` was supported. This adds a new keyword that can be used inside an HTML block.
2020-10-02 00:05:22 +02:00
Matthew Piatetsky
95811992ca [REV-1508] Add functionality to limit timed exam access behind waffle flag (#25054)
Re-applied bugfix #24214, but behind a waffle flag. The change gates timed exams for audit learners. We would like to limit access to timed exams to verified learners. However, some of the instructors would like to make their content free for all users, including graded content/timed exams (hence the Feature-Based Enrollment "FBE" exemption). As a result, we will be rolling the gated timed exams functionality out behind a waffle flag now, add the FBE exemption when we figure out how, and gradually turn the waffle flag on for everyone.
2020-10-01 09:33:12 -04:00
Kyle McCormick
ddae9e02ab Use fully-qualified edxnotes app name when checking if installed 2020-09-25 14:13:30 -04:00