Commit Graph

4295 Commits

Author SHA1 Message Date
sofiayoon
264606dfd4 Merge pull request #28016 from edx/syoon/AA-844
feat: AA-883 Basic prototype for self paced due dates in Studio
2021-07-09 09:23:05 -04:00
Kshitij Sobti
666a50d298 feat: allow optionally passing PII in course LTI tab (#26982) 2021-07-09 18:13:42 +05:00
Sofia Yoon
09eb36e550 feat: AA-883 basic prototype for custom pacing pls in studio
fix: make new field in xblock json serializable and don't assign due dates to ORAs

feat: display warning message in Studio if the relative date input is more than 18 weeks for custom pacing in self paced course

fix: handle due dates for mix of ORA and non ORA problems under a subsection and other styling fixes

feat: add a minimum restriction for self paced courses due date editor input

fix: naming of warning id divs to be more specific and exclude children of ORA problems in setting due dates

test: extracting dates for a self paced course with custom pacing

test: frontend for self paced custom pacing modal in studio and clean up its backend tests

fix: remove an unused line when getting children of custom pacing subsection, reorganize testing for custom pacing

fix: more specific comments to testing for custom PLS and remove a test case course

fix: more cleanup for self paced custom pacing PLS backend tests
2021-07-08 16:05:38 -04:00
Sofia Yoon
4d96449134 feat: create feature flag for PLS custom pacing 2021-07-08 14:39:04 -04:00
Matt Tuchfarber
63cb6a97ff Revert "feat: Reimagine certificate_availability_date and certificates_display_behavior" 2021-07-07 16:53:05 -04:00
Matt Tuchfarber
2a7106acfb feat: reimagine certificate display settings
The course settings `certificate_available_date` (CAD) and
`certificates_display_behavior` (CDB) were previously acting indedependantly
of one another. They now work in tandem. This change:
- limits CDB to a dropdown
- removes "early_with_info" and adds "end_with_date"
- only takes CAD into account if "end_with_date" is selected
- Moves CDB to the main course schedule settings page
- updates CourseOverview to validate these fields and choose sane
defaults if they aren't expected values

Certificates will now show under the following circumstances:
"Immediately upon passing"
certificate_availability_date = null
certificates_display_behavior = "early_no_info"

"End date of course"
certificate_availability_date = null
certificates_display_behavior = "end"

"A date after the course end date"
certificate_availability_date = <date>
certificates_display_behavior = "end_with_date"
2021-07-06 16:45:23 -04:00
Kshitij Sobti
8fd3ff706d fix: Creates a squashed migration for xblock_config that removes moved model
A previous PR moved the CourseEditLTIFieldsEnabledFlag model to the LTI consumer
XBlock's repo. The migrations in the XBlock repo check if the model already
exists, and if so, it will avoid creating the model. However, it seems that
in some cases the LTI consumer XBlock's migrations run first, creating the model
and causing the edx-platform migrations to fail due to a pre-existing table
since no such check is performed in the migrations in edx-platform.

Since the only migrations that exist for this model are one that creates it and
another that deletes it, this change creates a squashed miration that just skips
creating the model since for new installs the LTI Consumer XBlock should handle
it.
2021-06-29 23:11:53 +05:00
Kristin Aoki
1d6c53ab1f Fix: Add ContentErrorData for Course Outline DAGs (#28029)
This PR fixes Course Outline DAGs with duplicate sequences. Previously
when a course outline had duplicate sequences, the outline would not generate
and raise a ValueError. There were no checks for duplicate sequences
before the generation of the course outline because it is not possible
to create duplicate sequences in Studio, but is possible when a Course
Author imports a course. Now before the course outline is generated, it
will be checked for duplicate sequences. If a duplicate sequence is
found an error will be logged for Partner Support to see in the Django
Admin and the duplicate will be deleted. This change will impact the
Course Author.
2021-06-28 16:21:02 -04:00
SaadYousaf
608f1994b7 refactor: move waffle flag calculation to utils file and other updates 2021-06-28 11:54:16 +05:00
SaadYousaf
90921e19e2 test: add tests for discussion settings and tab visibility with override_discussions_setting flag. 2021-06-28 11:54:16 +05:00
SaadYousaf
039a816e57 refactor: move pages_and_resources_mfe WaffleFlag to use in both LMS and Studio 2021-06-28 11:54:16 +05:00
SaadYousaf
09c8ef931e feat: Add CourseWaffleFlag for overriding course discussion settings for legacy experience. 2021-06-28 11:54:16 +05:00
Julia Eskew
a1914f6d31 fix: When running the task-creating task which regenerates all course outlines,
continue instead of returning when an unsupported course key is encountered.
2021-06-24 17:28:58 -04:00
Kshitij Sobti
b083ad13d6 refactor: Move CourseEditLTIFieldsEnabledFlag to xblock-lti-consumer (#27529) 2021-06-24 14:31:50 +05:00
AsadAzam
ff5b3d532d Move pages and resource mfe link to content menu (#27937) 2021-06-16 18:45:07 +05:00
SaadYousaf
1189766c36 fix: update MathJax configuration to set default renderer to SVG 2021-06-11 22:14:52 +05:00
Ahtisham Shahid
63cb1439b6 Merge pull request #27911 from edx/ahtisham/TNL-7936
refactor: added use case to toggle to fix linter issue
2021-06-10 15:11:24 +05:00
Ahtisham Shahid
c132f95d33 refactor: added use case to toggle to fix linter issue 2021-06-10 14:17:20 +05:00
Ahtisham Shahid
2d4a771ca6 Merge pull request #27821 from edx/ahtisham/TNL-7936
refactor: removed legacy proctoring route
2021-06-10 13:42:30 +05:00
Saad Yousaf
783925332d fix: update MathJax configs to use Common HTML as default renderer. (#27877)
Co-authored-by: SaadYousaf <saadyousaf@A006-00314.lan>
2021-06-10 12:47:41 +05:00
Ahtisham Shahid
29e7af5f57 refactor:resolved linter issues 2021-06-09 14:50:16 +05:00
Ahtisham Shahid
ec980a2ba8 refactor:moved mfe proctoring to central point
refactor:fixed variable names

refactor:fixed linter errors

refactor:fixed linter errors

refactor:fixed checklist view variable names

fix: removed redundant variables

refactor:moved exam settings to toggles

refactor: changed function params and added tests

refactor: moved toggle to method

fix: updated toggle and method docs
2021-06-09 14:14:10 +05:00
Kyle McCormick
7a26ec6b92 refactor: move xml_importer-specific exceptions into xml_importer
This is a minor refactoring in order to remove
a code dependency of ./xmodule on ./cms
2021-06-08 10:46:52 -04:00
Kyle McCormick
709db42835 refactor: de-index courses in contentstore, not course_overviews
This is a minor refactoring in order to remove
a code dependency of ./opendedx on ./cms
2021-06-08 10:46:52 -04:00
alangsto
1d1a6b29a6 fix: quality tests are failing (#27884) 2021-06-08 10:37:15 -04:00
Kyle McCormick
4d914e0415 Merge pull request #27871 from edx/kdmccormick/import-as-xmodule
refactor: normalize xmodule imports
2021-06-08 08:45:42 -04:00
Josh
bc082eab93 [BD-27] FEAT: Add new API endpoint for uploading transcripts (#27844)
* FEAT: Add new API endpoint for uploading transcripts

* Add log messages to transcript upload function
2021-06-08 08:34:51 -04:00
Kyle McCormick
d42b0c401d refactor: normalize xmodule imports
Code in ./common/lib/xmodule/xmodule should
be imported as `from xmodule`, since `xmodule`
is a locally-installed package.

This is weird, but as long as it is the case,
we should be consistent.

(In BOM-2584, I propose moving the files to
 ./xmodule, which would quell this confusion.)
2021-06-07 16:36:38 -04:00
Bianca Severino
96d4a87312 Merge pull request #27824 from edx/bseverino/zendesk-field
[MST-821] Require `create_zendesk_tickets` field
2021-06-03 10:54:33 -04:00
Julia Eskew
f88a44d8dd TNL-8080 ][: Use module mixin and fix permissions for proxy models. (#27811)
* chore: Update Python requirements via pip-tools. Needed the newest
edx-django-utils version.

* refactor: Use the newly-added ReadOnlyAdminMixin from the updated module and
remove the existing implementation.

* fix: edx-platform now has a Django proxy model - CourseOutlineRegenerate.
Without this fix, the permissions to the model's admin interface cannot be
added to a group and successfully granted to users.
2021-06-02 17:33:03 -04:00
Bianca Severino
52f0bcb4f9 fix: require create_zendesk_tickets field 2021-06-01 15:37:40 -04:00
Julia Eskew
d83051f33b feat: Add Django admin interface to backfill course outlines. (#27749)
TNL-8080
2021-06-01 13:40:32 -04:00
=Awais Jibran
1b8195be60 Fix NR Dashbaord inconsistency with failed state 2021-05-28 11:04:52 +05:00
Kshitij Sobti
7abb417b0f feat: Add a waffle flag to show/hide a link to the pages and resources view
The Pages and Resources view in the Course Autoring MFE is in development and
this flag allows enabling a link to it from the existing Pages view in Studio
using a waffle flag.
2021-05-26 16:28:07 +05:00
Michael Roytman
22f9822e5d feat: remove use of ENABLE_ASYNC_REGISTER_EXAMS waffle flag
This commit addresses MST-793. In MST-757, exam registration was moved to an asychronous task to improve the performance of saving content in Studio. This feature was gated behind a waffle flag, ENABLE_ASYNC_REGISTER_EXAMS, to avoid interrupting course teams during the testing and roll out of this feature.

This feature has been tested and rolled out, and so the aforementioned waffle flag is ready to be removed.

The effect of this change is that asynchronous exam registration will no longer be gated by the aforementioned waffle flag, and this feature will be rolled out across all of the edX platform.
2021-05-12 15:44:47 -04:00
Usama Sadiq
4f4be6538a BOM-2477: pylint warnings lint-amnesty (#27585) 2021-05-11 17:22:40 +05:00
Usama Sadiq
35d7b13de3 BOM-2494: pyupgrade second iteration-VIII (#27448) 2021-05-10 13:44:41 +05:00
Usama Sadiq
1b55cc2957 refactor: pyupgrade second iteration (#27447) 2021-05-10 13:43:38 +05:00
Bianca Severino
32584e759c Merge pull request #27472 from edx/bseverino/proctoring-escalation-email-validation
[MST-723] Include proctoring escalation email in course validation
2021-05-06 14:26:59 -04:00
alangsto
5bfc790014 fix: allow instructors to modify zendesk ticket setting (#27512)
MST-362. Previously instructors were unable to modify the zendesk ticket field, although that field should change based on the proctoring provider. This backend change allows course instructors to modify the field so that it is appropriate for whateverproctoring provider they choose.
2021-05-05 12:04:53 -04:00
Bianca Severino
5420c37441 feat: include proctoring escalation email in
course validation
2021-05-05 10:10:21 -04:00
Uzair Rasheed
c450de4062 Merge pull request #27496 from edx/update-login-api
upgrade login api
2021-05-05 13:15:22 +05:00
Kshitij Sobti
456432fddb docs: ADR for exposing existing studio views through new JWT-enabled endpoints [BD-03] [BB-3965] (#27129)
* docs: ADR for exposing existing studio views through new JWT-enabled endpoints

To allow MFEs to drive existing studio functionality, we need to expose that
functionality via REST APIs that can be used by MFEs. This ADR describes an
approach to do that.

* Update cms/djangoapps/contentstore/docs/decisions/0002-restful-studio-apis-for-MFE.rst

Co-authored-by: Farhaan Bukhsh <farhaan@opencraft.com>

* Update cms/djangoapps/contentstore/docs/decisions/0002-restful-studio-apis-for-MFE.rst

Co-authored-by: Kyle McCormick <kdmc@pm.me>

Co-authored-by: Farhaan Bukhsh <farhaan@opencraft.com>
Co-authored-by: Kyle McCormick <kdmc@pm.me>
2021-05-04 09:53:38 -04:00
uzairr
ac054f92b1 upgrade login api
Modify the existing login api in a way that
it will allow the user to login via username as well.
currently it is only allowing email to log the user in.

VAN-445
2021-05-03 11:38:07 +05:00
David Ormsbee
2c77ac6bcb fix: don't bubble up empty partition groups from units.
In dfb80acc1, we allowed group_access settings to bubble up from
Units to Sequences in the case where all Units had the same group
settings for a particular user partition. This caused an issue
where the group being bubbled up could be empty if the Unit was
misconfigured in OLX (this is already caught if done directly on
the Sequence). This commit fixes things so that empty partition
group settings never bubble up.

We don't want empty partition groups to bubble up because it would
mean that no groups are allowed to access the Sequence, which is
probably an error. (There is a separate visible_to_staff_only flag
when you want to hide content from all non-staff users.)
2021-04-29 18:16:09 -04:00
David Ormsbee
dfb80acc11 feat: Enrollment Tracks OutlineProcessor (MST-685)
NOTE: This will require a forced backfill of course outlines to update
the course content data in learning_sequences:

  python manage.py cms backfill_course_outlines --force

Without this backfill, the learning_sequences API will continue to serve
stale content data that has no user partition group data. It won't cause
errors, but it won't do the exclusions properly.

Commit summary:

* Created EnrollmentTrackPartitionGroupsOutlineProcessor to process the
  enrollment_track User Partition Group, allowing Sequences and Sections
  to be removed based on their group_access settings.
* Added user_partition_groups attribute to CourseLearningSequenceData
  and CourseSectionData in learning_sequences/data.py, along with
  backing model data.
* get_outline_from_modulestore now extracts group_access settings from
  Sections and Sequences. It also bubbles up group_access settings from
  Units, meaning that if a Sequence with no group_access setting has
  Units that are all set to show only to the Verified enrollment track,
  then the Sequence will only show to the Verified enrollment track.

This commit adds model-level support for all user partition groups by
capturing all the content group associations (group_access), but it only
implements the code checks for the enrollment track partition. It's not
clear that we want to generalize, since there's only one other partition
type (A/B testing) that is applicable at the outline level.

It's important to note that there is no way to set the group_access for
a Section or Sequence in Studio today. It's only possible by direct
editing of the OLX for import. That being said, the block structures
framework supports applying course groups at this level, and this commit
moves learning_sequences closer to feature parity.

The bubbling up from Units to the parent Sequence was done to mitigate
confusion when a Sequence is entirely composed of Units that are not
visible to the user because of content group restrictions. It's not
clear whether this is something we want to do in the long term, since it
would simplify the code to always specify group_access at the Sequence
level. This first pass is done partially to collect better data about
places in our courses where this kind of usage is already happening.

Most of the EnrollmentTrackPartitionGroupsOutlineProcessor code and its
tests were written by @schenedx.
2021-04-28 12:58:59 -04:00
Usama Sadiq
588f11b100 refactor: apply lint-amnesty to pylint violations 2021-04-27 14:43:31 +05:00
alangsto
50d57a64bb MST-757 Move exam registration to async task (#27398)
Synchronously registering proctored exams while saving content to studio is causing a significant slow down. The function that registers the exams has been moved to an async task. In addition, a signal handler on_course_publish has also been moved to the async task, as it relies on exam registration being complete before being executed.
2021-04-26 12:04:04 -04:00
Julia Eskew
4462ed37b2 Revert "update login api" (#27416)
This PR might be causing e2e tests to fail. Reverting and merging without waiting on tests.
2021-04-26 10:07:36 -04:00
uzairr
5103f59df9 upgrade login api
Modify the existing login api in a way that
it will allow the user to login via username as well.
currently it is only allowing email to log the user in.

VAN-445
2021-04-23 17:21:18 +05:00