Commit Graph

7928 Commits

Author SHA1 Message Date
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
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
Calen Pennington
88d16a8186 Improve the logging of tests that fail because of a changed number of mongodb calls 2020-09-23 10:05:37 -04:00
Calen Pennington
0aa2edbc37 Clean up some radically dirty global state pollition to fix a flaky test 2020-09-23 10:05:37 -04:00
Shadi Naif
1502a9c16c (Problem Input) should always be LTR (#24208) 2020-09-23 07:01:30 -04:00
Usman Khalid
8546fa6b6f Convert LibraryContentModule to LibraryContentBlock. (#24611) 2020-09-15 08:41:29 -04:00
Bill Currie
6edd28c73c Remove course bypass_home setting and references 2020-09-02 19:26:03 +02:00
Dillon Dumesnil
1341068d20 AA-314/AA-330: Updates to courseware due date.
This will fix a bug about if assignment type is None, we will only
show the due date.
This will also fix a bug where we would show the assignment type and
due date on non-scored units within a subsection. Now it will only
show on scored units.
This also fixes the pill that displays from stretching out if the due
date text is multi-lined.
2020-08-31 10:50:42 -04:00
stvn
3da9362ac8 Log and skip empty children when rendering library_content
instead of throwing an exception on None-access.
2020-08-24 10:04:25 -07:00
Matjaz Gregoric
68eddcee38 Fix issues with video transcript panel
This fixes a bug where the video transcripts panel would be open on
page load even when no transcripts were present. It also cleans up the
code a bit to remove unused cookies and tries to reduce flickering of
the transcript panel.
2020-08-22 09:56:24 +02:00
Dillon Dumesnil
d75fbde9e7 Merge pull request #24813 from edx/ddumesnil/xml-import-lcm-disable
Disable updating Library Content children during import
2020-08-20 09:10:42 -07:00
Dillon Dumesnil
79e96af197 Disable updating Library Content children during import 2020-08-20 07:26:27 -07:00
Manjinder Singh
c76ed6ae45 Extracting plugin app from edx-platform (#24678)
* Moving plugins infrastructure to edx-django-utils
This PR extracts the code that enables plugins in edx-platform and puts it in edx-django-utils. This is done to allow other IDAS to add plugin functionality.
2020-08-12 07:48:53 -04:00
Guruprasad Lakshmi Narayanan
149ebfec58 Fix the order randomization behaviour of Randomized Content Block
The Randomized Content Block XBlock only randomizes the selection of
the children blocks and has unpredictable randomization of
the order of the selected child blocks due to the usage of sets, which
are unordered, for storing the selected blocks. This becomes apparent
when all the available child blocks in a library are chosen for a
Randomized Content Block, to randomize just the order of the child
blocks and not just the selection of the blocks. The order of the
selected blocks ends up being similar for multiple learners.

This change modifies the XBlock to store the selected child blocks in
a list, instead of a set, after randomly shuffling them.

A new block structure transformer, ContentLibraryOrderTransformer has
been added to transform the order of the selected children XBlocks to
match the order of the selections made in the
ContentLibraryTransformer. This ensures that same correct randomized order
of blocks is also returned by the course blocks API.
2020-08-11 11:46:49 -04:00
Dave St.Germain
8795bb8c82 Merge pull request #24680 from open-craft/ahmed/fix-capa-dropdown-indexing
[TNL-6993] [BD-29]: Handle edge case where dropdown values are not being indexed
2020-08-11 11:35:29 -04:00
Dillon Dumesnil
a6ab7141ca Adding format to metadata for use in Learning MFE 2020-08-10 10:14:35 -07:00
Ahmad Bilal Khalid
30274b00e3 fixed nit 2020-08-07 01:03:42 +05:00
Ahmad Bilal Khalid
971bb1bebd fixed issues pointed by kshitij 2020-08-07 00:26:07 +05:00
Calen Pennington
f9619d6cad Add a pluggable CallToAction service for XBlocks
This also has an initial use case for Personalized Learner Schedules
to add CTAs to capa and vertical blocks to allow users to shift their
course deadlines.
2020-08-06 14:38:26 -04:00
Ahmad Bilal Khalid
7a03d064ba Make WordCloud indexable 2020-08-05 22:42:18 +05:00
Ahmad Bilal Khalid
3fab3ad47f issue fixed, use regex to replace 2020-08-05 16:26:12 +05:00
Ahmad Bilal Khalid
eb89988944 fixed issue 2020-08-04 22:11:16 +05:00