Commit Graph

317 Commits

Author SHA1 Message Date
Nicholas D'Alfonso
b454f9be1d AA-151 dates banner on course outline and refactor
- use new dates banner template on course outline page
- remove old banner from main.html
- let dates tab use new dates banner template
- remove dates banner completely from the courseware problem view
  on the web app
- use new banner on the courseware problem view on the mobile app
- update banner util to use get_course_blocks
2020-05-21 13:23:05 -04:00
Jeremy Bowman
5077479959 Remove shoppingcart code from courseware index page (#23977)
Remove code from the courseware index page that was only relevant if the shopping cart was enabled.
2020-05-19 11:11:34 -04:00
Nick
821eb84486 Merge pull request #23963 from edx/ndalfonso/AA-157-dates-page-missed-deadlines
AA-157 dates page missed deadlines
2020-05-13 10:24:10 -04:00
Jeremy Bowman
f17e12ba0e Remove shoppingcart from course about page - DEPR-43 (#23973)
Remove all references to the shoppingcart app from the course about page. Also removed one test of shoppingcart functionality from the student app.
2020-05-12 15:03:47 -04:00
Nicholas D'Alfonso
637b639e78 AA-157 dates page missed deadlines
- add banner to dates page when deadlines are missed
2020-05-12 13:02:26 -04:00
Ned Batchelder
b3b58690e6 Merge pull request #21507 from open-craft/guruprasad/youtube-api-missing-referer-fix
[BB-1637] Pass the referer from the client to the YouTube API
2020-05-11 11:46:57 -04:00
Nicholas D'Alfonso
5d28f0e0c3 Enable masquerade on dates tab 2020-05-06 13:28:22 -04:00
Dillon Dumesnil
10759a9046 Merge pull request #23819 from edx/ddumesnil/more-date-pills-aa-99
AA-99: Adding in new date pills for the dates tab
2020-05-06 06:12:50 -07:00
Simon Chen
262574b815 Move all the upgrade display logic into courseware.utils 2020-05-05 17:54:22 -04:00
Dave St.Germain
2c400184e4 Redirect to courseware MFE, including unit 2020-05-04 13:49:20 -04:00
Dillon Dumesnil
858154a7d6 AA-99: Adding in new date pills for the dates tab 2020-05-04 07:24:01 -07:00
Aarif
98af9ce418 remove useless-supression warnings 2020-05-01 19:42:15 +05:00
Adeel Khan
67ec1d703c Fixes translations for financial assistance page
PROD-1438
2020-04-21 17:16:48 +05:00
David Joy
7a400e2917 Factoring redirects out of check_course_access so it can be used with courseware_api (#23651)
TNL-7053

The courseware_api view will use check_course_access - which now returns AccessResponse objects, and all other uses of check_course_access will now use check_course_access_with_redirect, which is a drop-in replacement for the original check_course_access implementation.

We also added a few new helpers to access_utils:

- check_public_access is a replacement for allow_public_access, which now returns AccessResponse objects
 - check_enrollment checks if the learner is enrolled, and uses check_public_access to account for COURSE_ENABLE_UNENROLLED_ACCESS_FLAG
- check_survey checks whether there is a required survey that the learner must complete prior to accessing the course.

There are two new kinds of AccessError subclasses:

- SurveyRequiredAccessError
- EnrollmentRequiredAccessError
2020-04-15 10:29:24 -04:00
Jeff LaJoie
a7ac981cd4 Adds in New Relic tracing to Dates view on course_id, user_id, and is_staff 2020-04-10 15:06:10 -04:00
Dave St.Germain
543611fbb7 Added edxnotes information to the courseware API.
Added notes visibility toggle support for courseware MFE.
Removed notes and calculator from chromeless view when rendered in courseware MFE.
2020-04-09 13:59:01 -04:00
Nicholas D'Alfonso
396050703e AA-97 mobile reset message
- remove code for displaying banner in mobile dates fragment
- replace button with link to web app in reset dates banner on
  the mobile problem template
- adjust spacing of reset dates button in banner when button wraps
  on smaller screen
2020-04-09 12:55:26 -04:00
Nicholas D'Alfonso
ac9d2bfd30 AA-85 mobile reset dates
- render reset dates banner in webview for mobile app.
- improve banner redirect mechanism
2020-04-02 00:37:54 -04:00
David Ormsbee
5ea71beeb1 Make XBlock views/handlers non-atomic requests.
We're seeing slow commits on production for courseware_studentmodule
updates. Based on the slow queries during those times, we think it
might be because multiple worker processes are trying to update the
same rows from within long-running transactions (since courseware
is relatively slow).

The risk with this is that since the whole view execution is no
longer wrapped in a big implicit transaction, it's possible that
XBlock state will update and things that key off of that (e.g.
completion progress information or pre-req milestones) will fail
in a way that will leave the database in an unplanned-for state,
though this is already the case for those actions that trigger
asynchronous tasks like grades recalculation.

The query counts for the index view test were adjusted down
because save points count towards the total and we're no longer
setting them at the top level around the view as a whole.
2020-03-31 21:22:58 -04:00
Adam Butterworth
1f59463720 Swap courseware-mfe CourseWaffleFlag with ExperimentWaffleFlag (#23429)
TNL-7000
2020-03-23 13:46:42 -04:00
Nicholas D'Alfonso
8e77a822fe AA-73 courseware nonetype error
- ensure logic for displaying reset dealines banner in courseware
  is behind the relative dates waffle flag, only shows if the
  course is self paced, and handles the situation where no
  sequentials exist.
2020-03-17 14:05:15 -04:00
Nicholas D'Alfonso
3cee26feb4 AA-59 show reset dates banner on courseware page
- Also, only show banner if the course end_date has not already
  pass AND if the user is verified within the course.
2020-03-12 19:52:54 -04:00
Jeff LaJoie
bbfb630aa8 Uses user local time for dates tab 2020-03-10 13:41:25 -04:00
Dave St.Germain
49c5d5194b Addressed review feedback 2020-03-09 11:28:48 -04:00
Dave St.Germain
28f33e1667 Defensive fix 2020-03-09 10:47:00 -04:00
Dave St.Germain
2f148496bf Redirect to learning microfrontend when the waffle flag is set, except for exams 2020-03-09 10:47:00 -04:00
David Ormsbee
ed9062f409 Create flag for Courseware MFE staff rollout.
Create the COURSEWARE_MICROFRONTEND_COURSE_TEAM_PREVIEW
CourseWaffleFlag (courseware.microfrontend_course_team_preview) to
enable us to roll out the new Courseware MFE as a preview to
select course teams without affecting their students. TNL-7117

This commit also fixes an issue where these links are shown in Old
Mongo courses (TNL-7116). Old Mongo is marked for deprecation
(DEPR-58), and is not intended to ever be supported by the new MFE.
2020-03-09 10:01:41 -04:00
David Ormsbee
767f16d795 Fix nested sequence display in Courseware MFE
Check to make sure that "activate_block_id" is actually a Unit
(VerticalBlock) before using it to build a link to the Courseware
MFE. We were previously sending sequence block keys here, causing
the MFE to render a whole sequence where only a unit was desired.

Fixes TNL-7115
2020-03-06 11:01:28 -05:00
David Ormsbee
979906275c Show Courseware MFE link to course staff.
Show a link the courseware MFE to course staff if the
ENABLE_COURSEWARE_MICROFRONTEND feature is enabled and the
REDIRECT_TO_COURSEWARE_MICROFRONTEND CourseWaffleFlag is active
for that course. Previously only global staff could see this link.

This commit also adds ENABLE_COURSEWARE_MICROFRONTEND to
lms/envs/common.py and makes this value True by default on
devstack, since that front end application should soon be part
of devstack: https://github.com/edx/devstack/pull/484

Related to TNL-6982 and TNL-7045.
2020-03-06 11:00:22 -05:00
Nicholas D'Alfonso
be3b150621 AA-12 reset self paced due dates
- for self paced courses, if a sequential's due date has passed
  and it is incomplete, allow the user to reset the start_date
  for the related schedule to now, thus shifting all due dates
  for all sequentials within the course by the pre determined
  due date offset.
- add historical table to the Schedule model.
2020-03-04 15:13:46 -05:00
Guruprasad Lakshmi Narayanan
fad200f81b Pass the referer from the client to the YouTube API
This fixes the errors when the API key is configured to require a
referer for all the requests.
2020-03-03 22:51:46 +05:30
Jeff LaJoie
fa3b1cd835 AA-6: Adds in dates tab and dates dashboard view to courseware 2020-02-25 10:48:45 -05:00
Dave St.Germain
9f8317665b Merge pull request #23048 from edx/dcs/mfe-switcher
Add button to switch to courseware MFE
2020-02-21 11:31:54 -05:00
Dave St.Germain
a5b0f71108 Several optimizations for improving vertical rendering performance. 2020-02-20 11:41:21 -05:00
Adam Butterworth
53c1d2a0da Hide display titles for vertical blocks embedded in microfrontends (#23006)
Relates to TNL-7048. Since bookmarking is handled in the courseware microfrontend, it needs to also manage the display of a unit title.
2020-02-10 13:32:08 -05:00
Dave St.Germain
aa42751c7e Add button to switch to courseware MFE 2020-02-07 15:00:49 -05:00
Waheed Ahmed
442da4a7fe Don't show certificate on profile if no active config.
Stop showing certificate information on profile page if there is no
active certificate configuration.

PROD-1200
2020-01-28 22:30:16 +05:00
Waheed Ahmed
cb92bd13ae Fix PDF certificate link on progress page.
Need to pass certificate status incase `DISABLE_HONOR_CERTIFICATES`
feature flag is ON.

PROD-60
2020-01-27 22:30:48 +05:00
Waheed Ahmed
2d04b7980a Fix already earned honor PDF certificates.
Learner who have already earned PDF honor certificates in old courses
are unable to see the certificate links on dashboard and course progress
pages since `course.cert_html_view_enabled` is deprecated and default to
True for all courses.

PROD-60
2020-01-27 14:17:18 +05:00
Matthew Piatetsky
5779bd1584 add more incomes 2020-01-23 12:03:42 -05:00
Braden MacDonald
c7d5efb796 Add way to get YouTube metadata that doesn't require a session cookie
The Video Player XBlock will sometimes make API calls to /couses/yt_video_metadata, a REST API endpoint that in turn loads video metadata from YouTube using the configured settings.YOUTUBE_API_KEY.

However, in the Blockstore-based XBlock runtime, we are running XBlocks in a secure sandbox, and the user's browser cannot pass session cookies when calling REST API endpoints. So currently, the video XBlock tries to request YouTube metadata from that API endpoint, but it fails if run within such a sandbox.

The existing API also doesn't work for anonymous users (users who are allowed to see video XBlocks but who have not logged in to an LMS user account).

This commit updates the Video XBlock so that it can use a handler to load the data from YouTube instead of a generic REST API. This works well in the new runtime, because it has code to support calling handlers within the sandbox, including by anonymous users.

I also fixed a bug where on a default devstack, the endpoint will try calling YouTube using PUT_YOUR_API_KEY_HERE as an API key, and get a "bad request" error from YouTube.

The code could be re-organized by moving things around, but I've left everything as-is for now to keep the diff as small as possible.
2020-01-16 13:25:16 -08:00
Feanil Patel
6e3fe00fff Fix all E303 pep8 errors. 2019-12-30 12:25:38 -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
Matthew Piatetsky
3a54df511a show discount in sidebar and sock 2019-12-17 09:09:19 -05:00
Jeremy Bowman
0e1881f525 Fixes for celery worker Python 3 bugs (#22479) 2019-12-10 14:07:27 -05:00
David Ormsbee
aaf4c46645 Add ENABLE_COURSEWARE_SEARCH_FOR_COURSE_STAFF flag
Add an LMS feature flag to enable courseware search for course staff
only. TNL-6931
2019-12-05 15:14:26 -05:00
Michael Terry
c1f7b35483 Merge pull request #22407 from edx/mikix/verified-only
Support courses with only a verified mode
2019-12-02 09:25:39 -05:00
saadyousafarbi
a59363432c handle section link bug for staff-only units for learners. 2019-11-27 15:52:39 +05:00
Michael Terry
2213c4dd3d Support courses with only a verified mode 2019-11-26 15:57:29 -05:00
Adeel Khan
6b04b57448 Fixing error message for consistency
This patch would make financial
assistance form help message to be
consistent with implementation. Using
characters limit instead of word limit.

PROD-733
2019-11-18 14:58:29 +05:00