Commit Graph

297 Commits

Author SHA1 Message Date
Calen Pennington
7c4585ebfe Only prompt to upgrade in order to completed graded content (or shift dates) when content_type_gating is enabled 2020-06-02 14:23:28 -04:00
Calen Pennington
0c7947c8a2 Pass whether content type gating is enabled for the current user into the dates_banner template 2020-05-28 11:34:05 -04:00
Calen Pennington
f3c1747051 Check for the mobile app specifically in the dates banner conditionals 2020-05-27 11:19:12 -04:00
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
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
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
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
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
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
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
Jeremy Bowman
0e1881f525 Fixes for celery worker Python 3 bugs (#22479) 2019-12-10 14:07:27 -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
Ned Batchelder
efba6e45e8 Finally import courseware properly everywhere to get rid of a warning 2019-09-26 09:40:15 -04:00
Dave St.Germain
9d8db8e4ca Convert to utf-8 before JSON decoding 2019-08-19 15:10:56 -04:00
adeelehsan
1eda18a317 Merge pull request #21367 from edx/private_to_public_76a13fa
Mergeback PR from private to public.
2019-08-19 15:06:30 +05:00
adeelehsan
76a13fae73 Merge pull request #156 from edx/aehsan/prod-349/remove_google_api_key_from_github
Removed google api key from github
2019-08-19 14:32:26 +05:00
Ayub
658cd5c62e BOM-70 (#21327)
* Update Financial Assistance logic

Use the zendesk proxy app instead of the unsupported zendesk library.

* Move to pre-fetching the group IDs.

Rather than making extra requests to zendesk to list all groups and find
a specific group ID. Just make a pre-filled list of group IDs for the
groups we care about.  When a group name is passed in, it is checked
against this list and the ticket is created in the correct group so the
right people can respond to it.
2019-08-16 13:05:35 -04:00
Ayub
26a1445c93 Revert "BOM-70" 2019-08-08 17:39:45 +05:00
adeelehsan
3136b3ecd3 Removed google api key from github
Prod-349
2019-08-08 02:12:21 +05:00
Ayub
3f2bd0a020 Merge pull request #21229 from edx/BOM-70
BOM-70
2019-08-06 18:48:42 +05:00
Ayub khan
c9080e257e -fixed tests 2019-08-06 15:31:41 +05:00
Ayub khan
9b3960ed90 -added zendesk api endpoints 2019-08-05 13:38:46 +05:00
Calen Pennington
7bbf4ad15c Switch courseware.masquerade_as_student over to using a StaffAccessRule with query checking 2019-08-02 15:06:35 -04:00
Christie Rice
1c9904859b REVMI-354 Add view_xqa permission (#21255) 2019-08-02 11:01:21 -04:00
Christie Rice
a9ebf91c4d REVMI-354 Revert masquerade changes (#21276) 2019-08-01 12:05:59 -04:00