Commit Graph

135 Commits

Author SHA1 Message Date
Feanil Patel
e3851ab3d1 test: Update to reuse variables in more places.
Some of the places where we had explicit copies of the password were not
necessary so we referece the exsting TEST_PASSWORD variable where
possible.
2023-10-16 12:33:25 -04:00
Feanil Patel
64e91d4080 test: Update to an even longer password. 2023-10-12 10:31:13 -04:00
Feanil Patel
1e2ea85372 test: Update more tests that had short passwords. 2023-10-10 16:36:26 -04:00
Sagirov Evgeniy
c5d1807c81 feat!: remove most Old Mongo functionality (#31134)
This commit leaves behind just enough Old Mongo (DraftModulestore)
functionality to allow read-only access to static assets and the
root CourseBlock. It removes:

* create/update operations
* child/parent traversal
* inheritance related code

It also removes or converts tests for this functionality.

The ability to read from the root CourseBlock was maintained for
backwards compatibility, since top-level course settings are often
stored here, and this is used by various parts of the codebase,
like displaying dashboards and re-building CourseOverview models.

Any attempt to read the contents of a course by getting the
CourseBlock's children will return an empty list (i.e. it will look
empty).

This commit does _not_ delete content on MongoDB or run any sort of
data migration or cleanup.
2023-09-06 10:01:31 -04:00
Agrendalath
a12c003215 feat: allow using all components of LibraryContentBlock
Setting max_count to a negative value resulted in raising an unhandled
ValueError. Currently, it selects all children of the LibraryContentBlock.
2023-02-17 12:49:33 +01:00
0x29a
fd191db332 refactor: rename module (or item) -> block within remaining lms
Also, removed `_iter_scorable_xmodules` method from `lms/djangoapps/grades/transformer.py` file.
2023-01-30 18:15:23 +01:00
Arunmozhi
d417a7561f refactor: rename ItemFactory to BlockFactory 2023-01-23 14:47:47 +01:00
0x29a
70019bac04 refactor: xmodule/seq_module.py -> xmodule/seq_block.py 2022-12-19 17:48:49 +01:00
0x29a
e3591701e3 refactor: xmodule/library_content_module.py -> xmodule/library_content_block.py 2022-12-19 17:48:49 +01:00
zia.fazal@arbisoft.com
400296ba78 fix: Fixed broken HiddenContentTransformer when course pacing is self_paced. see commit 1ebe0e6 too 2022-11-03 18:44:39 +05:00
Zia Fazal
503f576678 Merge pull request #30823 from openedx/ziafazal/fix-broken-hidden-content-transformer-a
fix: Fixed broken HiddenContentTransformer when course pacing is self_paced
2022-11-03 12:06:46 +05:00
Usama Sadiq
4734f9f16e fix: bump pylint version (#31084) 2022-10-27 12:19:09 +05:00
zia.fazal@arbisoft.com
1ebe0e6ca2 fix: Fixed broken HiddenContentTransformer when course pacing is self_paced
fix: Fixed broken HiddenContentTransformer when course pacing is self_pace

In case of self paced course we are relying on course end date to determine if a block is visible or not. However, when course blocks API is called with a block_key it breaks since all blocks do not have end field instead only course block has end field. These Changes fetch end date of block from parent or ancestors blocks to make sure we have course end date available while determining block visibility.
2022-08-03 16:45:55 +05:00
Michael Terry
b905de757b test: more Old Mongo removal from tests
Convert more tests from MONGO_AMNESTY to SPLIT modulestores.

This is in preparation for just wholesale denying access to Old
Mongo, so I either converted tests to split or just deleted some
test variants that were Old Mongo specific. (e.g. ddt lines)
2022-02-11 14:50:30 -05:00
Michael Terry
cb1bb7fa64 test: switch default test store to the split store
It's long past time that the default test modulestore was Split,
instead of Old Mongo. This commit switches the default store and
fixes some tests that now fail:
- Tests that didn't expect MFE to be enabled (because we don't
  enable MFE for Old Mongo) - opt out of MFE for those
- Tests that hardcoded old key string formats
- Lots of other random little differences

In many places, I didn't spend much time trying to figure out how to
properly fix the test, and instead just set the modulestore to Old
Mongo.

For those tests that I didn't spend time investigating, I've set
the modulestore to TEST_DATA_MONGO_AMNESTY_MODULESTORE - search for
that string to find further work.
2022-02-04 14:32:50 -05:00
Jawayria
59002b5702 chore: Applied lint-amnesty on lms/djangoapps/{course_api, course_blocks} 2021-12-17 16:05:40 +05:00
Chris Deery
1d2319b42a feat: [AA-1082] fix 500 error on courses dashboard (#29290)
feat: [AA-1082] fix 500 error on courses dashboard

When there are no selected blocks, the dict comprehension to
compare is throwing an exception. Handle the error more gracefully.
The blocks will not be sorted, but they should not be filtered.
2021-11-10 09:47:32 -05:00
jawad khan
15f33dc1b2 revert: show empty container blocks from the course blocks api when called by mobile (#27707)
REVE-52 is merged and mobile
traffic from older app versions is < 5% of the mobile traffic.
Therefore we dont need changes from this PR 325fbe4eb2 (diff-c061bf405edf96531766b26cc2bcc2bb3639d851e5d9f844612c2ea57c35e56e)

LEARNER-8377
2021-05-25 20:30:26 +05:00
stvn
ffcfc05a61 refactor: Move BetaTesterFactory helper to common/ 2021-04-14 07:26:39 -07:00
Dillon Dumesnil
c4a96a2fa3 fix: AA-724: Updating the HiddenContentTransformer
We heard about a bug where learners granted extensions would still
lose access to content if it was marked as "hidden after due date".
This was caused by the HiddenContentTransformer using the due date
from collection time (publish time) rather than the user date returned
from the edx-when DateOverrideTransformer.

A small subtletly of this PR is that Transformers with the
FilteringTransformerMixin are executed before those without it so
part of the fix was to make the HiddenContentTransformer not use the
FilteringTransformerMixin to ensure the DateOverrideTransformer had
run first.

Part 3/3 - Removing old collect code with merged due date
2021-03-29 10:15:23 -04:00
Dillon Dumesnil
1614fb2956 fix: AA-724: Updating the HiddenContentTransformer
We heard about a bug where learners granted extensions would still
lose access to content if it was marked as "hidden after due date".
This was caused by the HiddenContentTransformer using the due date
from collection time (publish time) rather than the user date returned
from the edx-when DateOverrideTransformer.

A small subtletly of these PRs is that Transformers with the
FilteringTransformerMixin are executed before those without it so
part of the fix was to make the HiddenContentTransformer not use the
FilteringTransformerMixin to ensure the DateOverrideTransformer had
run first.

Part 2/3 - Updating transform method + updating Read version
2021-03-26 14:05:53 -07:00
Dillon Dumesnil
d96f756994 fix: AA-724: Updating the HiddenContentTransformer
We heard about a bug where learners granted extensions would still
lose access to content if it was marked as "hidden after due date".
This was caused by the HiddenContentTransformer using the due date
from collection time (publish time) rather than the user date returned
from the edx-when DateOverrideTransformer.

A small subtletly of these PRs is that Transformers with the
FilteringTransformerMixin are executed before those without it so
part of the fix was to make the HiddenContentTransformer not use the
FilteringTransformerMixin to ensure the DateOverrideTransformer had
run first.

Part 1/3
2021-03-26 10:59:55 -07:00
Kyle McCormick
9aefd6f986 style: django-not-configured is not a sensible lint-amnesty value (#26862)
django-not-configured is an error raised by pylint (with
the pylint-django plugin) when it's not correctly configured.

We should not be applying lint amnesty for such a violation.
2021-03-05 08:11:58 -05:00
Usman Khalid
dd96a2aa72 Convert Course, Section and Sequence XModules to XBlocks. (#25965) 2021-03-02 10:29:33 -05:00
Jawayria
a383845b01 BOM-2352: Removed unused imports from lms/djangoapps/{course_blocks, course_goals, course_home_api, courseware} 2021-02-22 21:44:42 +05:00
usamasadiq
3d1f3cea64 Ran pyupgrade on lms/djangoapps/course_blocks
Ran pyupgrade on lms/djangoapps/course_goals
Ran pyugprade on lms/djangoapps/course_home_api
2021-02-19 16:29:52 +05:00
Aarif
d2a147bb47 replaced unittest assertions pytest assertions (#26542) 2021-02-18 19:14:41 +05:00
M. Zulqarnain
a5f6f682ee added pylint amnesty for bulk_enroll and course apps (#26246) 2021-02-01 13:58:59 +05:00
Carla Duarte
03846e229d AA-545: Include has_scheduled_content in StartDateTransformer 2021-01-05 15:06:24 -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
Kyle McCormick
31a4b761ad Lower 'Mismatch between the children...' message to DEBUG level (#25065)
This message comes from the content library block transformer,
and has been filling up our logs at a rate of 250k instances/hr.

Since we don't need to see this log message in production any more,
we are lowering it to the DEBUG level.
2020-09-24 09:13:48 -04:00
Usman Khalid
8546fa6b6f Convert LibraryContentModule to LibraryContentBlock. (#24611) 2020-09-15 08:41:29 -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
Calen Pennington
aef3a20e5d Prioritize access denials in block transformers from groups that have messages associated with them 2020-06-25 09:51:50 -04:00
David Ormsbee
4f3a45f444 Revert "[BB-112] Fix the unpredictable order randomization issue with randomized content blocks" 2020-06-08 16:47:35 -04:00
David Ormsbee
d507a5cd99 Merge pull request #23265 from open-craft/guruprasad/BB-112-fix-randomized-content-block-order
[BB-112] Fix the unpredictable order randomization issue with randomized content blocks
2020-06-08 10:11:48 -04:00
Jeff LaJoie
efa7b3b816 AA-164: Performance fixes for course home 2020-05-20 10:09:41 -04:00
Guruprasad Lakshmi Narayanan
a7bd0050a6 Log the username to help with investigating the edge cases 2020-05-20 13:07:57 +05:30
Guruprasad Lakshmi Narayanan
c739151a27 Select children again when current children don't match the selections
This prevents errors when the current children do not match the
selected children any more.
2020-05-20 13:07:57 +05:30
Guruprasad Lakshmi Narayanan
5a2b607ea6 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.
2020-05-20 13:07:57 +05:30
Dillon Dumesnil
4d4b93c6ed AA-159: Improving performance of get_course_assignments
We saw an increase in response time with recent changes to the logic
behind get_course_assignments. This effort works to better access
the information we need in order to improve performance.
Namely, this is done by using the course_blocks_api
2020-05-14 13:12:25 -07:00
Dillon Dumesnil
858154a7d6 AA-99: Adding in new date pills for the dates tab 2020-05-04 07:24:01 -07:00
Feanil Patel
046feb0cf0 Merge pull request #22649 from edx/feanil/fix_pep8
Fix all E303 pep8 errors.
2019-12-30 13:32:26 -05:00
Feanil Patel
6e3fe00fff Fix all E303 pep8 errors. 2019-12-30 12:25:38 -05:00
Feanil Patel
2df8b8226b Merge pull request #22643 from edx/feanil/2to3_asserts
Run `2to3 -f asserts . -w` on edx-platform.
2019-12-30 12:13:42 -05:00
Feanil Patel
9cf2f9f298 Run 2to3 -f future . -w
This will remove imports from __future__ that are no longer needed.

https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
2019-12-30 10:35:30 -05:00
Feanil Patel
70294b0ad2 Run 2to3 -f asserts . -w on edx-platform.
https://docs.python.org/3.5/library/2to3.html#2to3fixer-asserts
2019-12-30 10:22:19 -05:00
Awais Qureshi
5f6b2db31b BOM-1111
Updating User.is_authenticated and User.is_anonymous as properties
2019-12-23 17:51:27 +05:00
Ned Batchelder
efba6e45e8 Finally import courseware properly everywhere to get rid of a warning 2019-09-26 09:40:15 -04:00
David Ormsbee
b1f3d2cef2 Revert "Fix the unpredictable order randomization issue with randomized content blocks" 2019-07-25 13:42:20 -04:00