Commit Graph

636 Commits

Author SHA1 Message Date
RehanAziz
1fffdc66fc feat: Added support for enterprise id in course_grade_passed_first_time event 2021-09-09 13:44:25 +05:00
Zia Fazal
5a382d811f Merge pull request #28415 from edly-io/ERTE-77
feat: Emit course completion related events
2021-09-01 11:33:07 +05:00
Maria Grimaldi
54627e1101 refactor: replace User for UserFactory and its methods
This change is done so the profile is automatically created for tests users
2021-08-30 11:03:49 -04:00
RehanAziz
db83a91ac2 feat: Emit course completion related events 2021-08-26 14:17:50 +05:00
Leangseu Kim
6985e1388b fix: grading from Staff Graded Assignment xblocks are not successfully being passed
block_type isn't guarantee to be the same as item_type. In this case, item_id should be enough for filtering.

Ticket [AU-70]
2021-08-18 14:53:29 -04:00
Nathan Sprenkle
121afd0c5f refactor: new logic for when to enable Gradebook bulk management (#28080)
Formerly, bulk management was enabled by sending feature feature
toggle to Gradebook which also checked for the presence of a 
master's track to enable the feature. This default enables for all
courses with a master's track and also allows selective enabling 
for courses with the feature flag.
2021-08-02 11:06:08 -04:00
Awais Qureshi
bdb1e61b82 chore: Django3 has removed python_2_unicode_compatible.
Execute the codemodes.
2021-07-27 23:35:00 +05:00
Dillon Dumesnil
f886ced838 Merge pull request #28233 from edx/ddumesnil/hide-content-after-due-progress-aa-912
fix: AA-912: Hide URL after due date if subsection is marked as hide …
2021-07-22 07:17:35 -07:00
Dillon Dumesnil
7dd4f2db99 fix: AA-912: Hide URL after due date if subsection is marked as hide after due
A bug was reported of a learner accessing content that should have been hidden
due to the hide after due setting in Studio by the course team by clicking on
the Progress tab. This takes into account that value and will now hide the URL
on the Progress tab in that scenario.
2021-07-21 17:53:23 -04:00
RehanAziz
e0efd9bbf2 feat: Added enterprise uuid in event context for enterprise enrolment events 2021-07-08 10:58:24 +05:00
Kshitij Sobti
d2c2fcdefe feat: Course Apps API [BD-38] [TNL-8103] [BB-2716] (#27542)
* feat: Course Apps API

This adds a new concept called course apps. These are exposed via a new
"openedx.course_app" entrypoint, which helps the LMS and studio discover such
apps and list them in a new rest api for the same.

These course apps will drive the pages and resources view in the course authoring
MFE. This system will track which apps are enabled and which are disabled. It
also allows third-party apps to be listed here by using the plugin entrypoint.

* Apply feedback from review
2021-06-23 21:51:12 +05:00
Albert (AJ) St. Aubin
c37e88fdbf refactor: Move CertificateStatuses to data.py file per OEP-49
[MICROBA-678]

To allow access to CertificateStatuses constants in other Django apps we are moving the
CertificateStatuses enum to data.py per OEP-49.
2021-06-08 08:56:21 -04:00
Michael Terry
6a41c61adc fix: don't escape assignment names in grades API
We had been pre-escaping display names like 'Math & Science' as
'Math & Science" in the REST API itself - which meant that
consumers like MFEs that do their own escaping displayed the wrong
thing.

It's better for the API to just leave the string as-is. As far as
I know, this only affects the gradebook and progress pages, both
of which do their own escaping of the result from the API already.

AA-808
2021-06-03 11:11:07 -04:00
João Cabrita
23eb110c26 fix: Produce grade report when subsections have future start dates
When getting a subsection grade for a user, instead of failing
if the user can't access that subsection,
fallback to the collected structure.
2021-05-26 11:16:37 -07:00
Usama Sadiq
4f4be6538a BOM-2477: pylint warnings lint-amnesty (#27585) 2021-05-11 17:22:40 +05:00
Gábor Boros
6ccdaca345 [SE-4101] fix: address VisibleBlocks caching race condition (#27359)
* fix: address VisibleBlocks caching race condition

* sets visual block creation in an atomic transaction

* refactor: add logging statement to bulk create

Co-authored-by: Raul Gallegos <raul@opencraft.com>
2021-05-05 10:26:35 -04:00
Christie Rice
912f2fa431 feat!: Enable the allowlist for all courses (#27468)
MICROBA-1013
2021-05-03 11:15:04 -04:00
Usama Sadiq
228c54d222 refactor: pyupgrade second iteration 2021-05-03 14:55:47 +05:00
Usama Sadiq
f74d7c9ea7 refactor: pyupgrade second iteration 2021-04-30 15:35:47 +05:00
Nathan Sprenkle
3ce04b7983 docs: update grades docs (#27341)
* docs: fix formatting inconsistencies in grade data model docs

* docs: add subsection grade override model

* docs: add gradebbook info to grades / background

* docs: fix formatting issues in grades / background
2021-04-28 11:22:13 -04:00
stvn
22fb1ec124 refactor: Move InstructorFactory helper to common/ 2021-04-14 07:26:39 -07:00
stvn
2fa36fb0cf refactor: Move StaffFactory helper to common/ 2021-04-14 07:26:39 -07:00
stvn
5dd8302d8b refactor: Move GlobalStaffFactory helper to common/ 2021-04-14 07:26:39 -07:00
stvn
7d33d0d1e9 Merge PR #27289 refactor/lms-to-core/get-course-by-id
* Commits:
  refactor: Import a single function, not the whole module
  refactor: Move get_course_by_id helper from LMS to core
2021-04-14 07:08:19 -07:00
Dillon Dumesnil
3a89ed4275 Merge pull request #27262 from edx/ddumesnil/switch-relative-dates-to-course-waffle-aa-677
refactor: AA-677: Switch relative dates to CourseWaffleFlag
2021-04-14 06:17:08 -07:00
stvn
43698fff0a refactor: Move get_course_by_id helper from LMS to core
This helper is used by the LMS, CMS, _and_ `openedx.core`,
so let's move it to `openedx.core` to reduce import complexity.

The following files no longer import from LMS:
- cms/djangoapps/contentstore/management/commands/edit_course_tabs.py
- lms/djangoapps/ccx/migrations/0006_set_display_name_as_override.py
- openedx/core/djangoapps/ccxcon/api.py
- openedx/core/djangoapps/verified_track_content/models.py
- openedx/features/course_experience/plugins.py

Note: The LTI XBlock has a dependency on this import path (!?);
a fix can be found here [1].

- [1] https://github.com/edx/xblock-lti-consumer/pull/154
2021-04-13 23:25:48 -07:00
Dillon Dumesnil
c9197d3cfc refactor: AA-677: Switch relative dates to CourseWaffleFlag
We have been bucketing all users into the relative dates experiment
since May 18, 2020. We no longer need to keep this as an
ExperimentWaffleFlag and can convert to a CourseWaffleFlag (so it
continues to support exemptions).
2021-04-08 10:12:54 -04:00
Jansen Kantor
079f43f40d EDUCATOR-5571: filter gradebook api by course staff role (#26994)
feat: add excluded_course_roles parameter to gradebook view to allow omitting staff
2021-04-07 10:09:16 -04:00
Justin Hynes
13d174fdda fix: update v2 certificate generation eligibility logic
[MICROBA-1109]
* Remove the requirement for the `auto_certificate_generation` waffle switch to be enabled in order for a learner to be eligible for a certificate. This switch should control _when_ a certificate is generated, not _if_ a certificate will be generated for a learner.
* Move the `auto_certificate_generation_enabled` check to happen before we try to generate v2 certificates in signals.py
* Update unit tests
* Update documentation
2021-04-06 08:50:54 -04:00
Robert Raposa
8ef8b35a54 docs: update toggle docs
A variety of updates were made to improve the toggle documentation:
* Added comments to help ensure that the waffle(), waffle_switches(),
  waffle_flags() anti-pattern won't be contagious (copied).
* Some minor toggle_description updates.
* Removed empty toggle_target_removal_date annotations for
  non-temporary toggles.
* Removed empty optional toggle_warnings annotations.
* Removed empty optional toggle_tickets annotations.
* Removed deprecated toggle_category, toggle_status,
  and toggle_expiration_date annotations.
* Fixed some indents, use cases, and implementations.

ARCHBOM-1721
2021-04-01 21:58:29 -04:00
Christie Rice
8198606138 feat: Refactor code to check both regular and allowlist V2 certs (#27156)
MICROBA-1039
2021-03-30 10:23:23 -04:00
Jawayria
1a2245cd19 Merge pull request #26560 from edx/jawayria/bom-2352-6
BOM-2352: Removed unused imports from lms/djangoapps/{grades, instruc…
2021-03-09 19:04:03 +05:00
Jawayria
b31c18d6db BOM-2352: Removed unused imports from lms/djangoapps/{grades, instructor} 2021-03-09 17:25:54 +05:00
Usman Khalid
dd96a2aa72 Convert Course, Section and Sequence XModules to XBlocks. (#25965) 2021-03-02 10:29:33 -05:00
usamasadiq
96f0915b0f Fixed new pylint warnings.
use generator in any/all()
disable not-callable warnings
disable no-member warnings
Suppressed smaller pylint warnings
Pin edx-proctoring==3.5.0
2021-02-22 16:36:53 +05:00
M. Zulqarnain
e505d99237 pyupgrade on lms gating and grades apps (#26532) 2021-02-22 12:58:41 +05:00
Christie Rice
6b0bc6389a MICROBA-918 Update allowlist check to handle more signals (#26606) 2021-02-18 10:48:53 -05:00
Aarif
906b6f7fed replaced unittest assertions pytest assertions (19) (#26545) 2021-02-18 18:00:30 +05:00
Olivia Ruiz-Knott
5c95258115 Merge pull request #26461 from edx/ork/MICROBA-989_notify-credentials-takes-usernames
feat: allow notify_credentials to take a list of usernames
2021-02-12 10:45:15 -05:00
oliviaruizknott
0533ecc814 feat: allow notify_credentials to take a list of usernames 2021-02-09 17:04:21 -05:00
Alexander Sheehan
aaa375077c replace bulk transmission task to intended single learner task 2021-02-09 11:55:22 -05:00
Christie Rice
8845685fd8 MICROBA-918 Check for the allowlist on invalidation and failing grades (#26356) 2021-02-04 13:42:33 -05:00
M. Zulqarnain
0213fde968 BOM-2281 : Pylint amnesty for grades,gating and instructor app (#26343)
* pyint amnesty for grades,gating and instructor app
2021-02-03 18:14:35 +05:00
Alexander J Sheehan
ff87c45de8 Merge pull request #26180 from edx/alex-sheehan-edx/gradebook-view-bugfix
Adding collected structure to the course grade read
2021-01-27 09:58:07 -05:00
Manjinder Singh
2723e0e2bd [ARCHBOM-1645] Modifying anonymous_id_for_user() to handly SECRET_KEY rotation (#26162)
These changes were initially made to make it easier to do SECRET_KEY rotations.  Along the way, we found it made sense to refractor the code as well.

Changes made:
- changed get_to_create to create because now the code should only get to this block when a write is necessary
- added a lookup for anonymous_user_id. This is to return an existing anonymous_user_id rather than calculating. This will mitigate the results of SECRET_KEY rotation.
- Added monitoring to help us make better decisions: should we not sue SECRET_KEY, performance considerations...
- put old function behind toggle in case something goes wrong in production with new code
- refractoring function structure for better understanding
2021-01-27 07:23:19 -05:00
Alexander Sheehan
12fd104ef2 adding collected structure to the course grade read to prevent attempts to subscript a null object 2021-01-26 16:33:51 -05:00
Nizar Mahmoud
a44091e7ec Adds grade cutoffs to gradebook grading information 2021-01-13 14:10:19 -05:00
Muhammad Soban Javed
f62b1c417b replaced task decorator with shared_task decorator (#25925) 2021-01-07 19:46:34 +05:00
Robert Raposa
de16529ab6 Merge pull request #25885 from regisb/regisb/fix-deprecated-waffle-usage
[BD-21] Fix deprecated waffle usage
2020-12-17 12:41:40 -05:00
Muhammad Soban Javed
bd601cf3a6 Update celery routing for celery 4+ (#25567)
* Update celery routing

- Used routing function instead of class
- Move task queues dictionary to Django settings
- Removed routing_key parameter
- Refactored routing for singleton celery instantiation

Co-authored-by: Awais Qureshi <awais.qureshi@arbisoft.com>
2020-12-16 13:40:47 +05:00