Commit Graph

43 Commits

Author SHA1 Message Date
Ben Holt
ec3c31eb05 feat: added another 'Date' expose-headers for outline api clients (#27221)
Exposed the Date header on the outline api so clients can accurately compute times relative to the dates returned by the API; this was previously done with the course API (#26979)

Browser time is notoriously unreliable for this, especially for a Learner-facing countdown call-to-action based on the access expiration date. (REV-2126)

Using the Date header for this allows the client to make use of information that is already sent, does not require additional calls nor modifying the API, and could be generalized to more or all our APIs without modifying them.
2021-04-02 10:37:19 -04:00
Matthew Piatetsky
cbb84fef74 fix: ensure that course staff can see course outline content when masquerading as a learner
AA-727
2021-04-01 10:55:22 -04:00
Kyle McCormick
558d2eb52c refactor: centralize learning MFE URL-building logic (#26689)
In preparation for switching LMS/Studio over
from serving legacy courseware URLs in certain
places (for example, resume_course_url) to serving
learning micro-frontend URLs.

TNL-7796
2021-02-24 08:50:15 -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
Michael Terry
139a0f6ee1 Merge pull request #26290 from edx/mikix/effort-estimation
AA-614: Add initial effort estimation block transformer
2021-02-18 08:52:55 -05:00
Michael Terry
1b9119859e AA-614: Add initial effort estimation block transformer 2021-02-18 08:31:19 -05:00
Carla Duarte
dcb6bbc262 AA-664: add JwtAuthentication to course home api 2021-02-16 12:21:16 -05:00
Carla Duarte
8d2d78dc61 AA-650: block deprecated keys from course home MFE 2021-02-08 13:00:36 -05:00
Carla Duarte
d97b058c5d AA-568: fix start course bug 2021-01-27 15:29:21 -05:00
Carla Duarte
99163bdf2c AA-131: Allow anonymous users through course home MFE 2020-12-16 12:58:33 -05:00
Michael Terry
cf2e778b56 TNL-7185: clean up unused html blobs from the API
Now that the MFE consumes our data structure for a couple of the
alerts, we no longer need to send raw html at all for them.
2020-12-14 14:26:10 -05:00
Michael Terry
eef72b5ab7 TNL-7185: Send data, not rendered HTML to the learning MFE
Specifically, send data versions of course_expired_message and
offer_html.

The rendered HTML is still being sent for now, until the learning
MFE is updated to consume the data objects.
2020-12-14 13:41:03 -05:00
Michael Terry
ae561256cb AA-383: add verified mode info to course_home outline API
Adds can_show_course_sock and verified_mode values to the outline
API serialization. And adds a utility method to generate the
verified_mode dictionary, shared with the courseware API.
2020-12-04 14:26:38 -05:00
Michael Terry
40fbef4af2 AA-289: rewrite how course updates behave when dismissed
Previously, dismissing one course update would disable all future
updates. But that feels a bit limiting.

Instead, these are the new rules:
- If the newest update has not been dismissed yet, it gets displayed.
- If the newest update has been dismissed, we display nothing.
- Editing the newest update will cause it to be displayed again.
- New updates get displayed, even if previous updates were dismissed.

This commit includes a light refactoring and addition of some utility
methods to help manage the above.

It also notes that the learning MFE does not use the "latest_update"
waffle option, which controls the labeling of the update message.
2020-11-12 09:39:15 -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
Régis Behmo
2307dff4c9 Deprecate WaffleFlag.override method
This allows us to get rid of waffle_utils' custom WaffleFlag method.
2020-11-03 19:25:37 +01:00
Régis Behmo
16ce16e85e Deprecate ExperimentWaffleFlag.override method
This is part of a removal of the many override methods of toggle
flag/namespace classes. This allows us to remove imports of test modules
from production code.
2020-11-03 19:25:37 +01:00
Carla Duarte
8133ae5c44 AA-357: Add DatesBannerSerializerMixin to MFE Outline Tab API 2020-10-15 10:05:09 -04:00
Michael Terry
6f69fd7dc2 Merge pull request #25105 from edx/mikix/public-outline
AA-253: don't send outline if not enrolled
2020-09-28 11:46:22 -04:00
Michael Terry
100018081d AA-253: don't send outline if not enrolled
This is for the learning MFE outline endpoint.

Also clean up some related permissions issues.
2020-09-28 10:45:07 -04:00
Tim McCormack
f29e418264 Revert "Revert "ARCHBOM-1494: Refer to custom attributes, not metrics, especially with edx-django-utils (#25010)" (#25025)" (#25055)
This reverts commit 986a448d9e.
2020-09-28 13:53:57 +00:00
Ahtisham Shahid
986a448d9e Revert "ARCHBOM-1494: Refer to custom attributes, not metrics, especially with edx-django-utils (#25010)" (#25025)
This reverts commit ba9ee4e151.

Fixed Style lint issue
2020-09-21 13:48:00 +05:00
Tim McCormack
ba9ee4e151 ARCHBOM-1494: Refer to custom attributes, not metrics, especially with edx-django-utils (#25010)
This uses the new names introduced in edx-django-utils
3.8.0 (edx/edx-django-utils#59), which we're already using, as
well as updating a few other locations where we incorrectly refer
to New Relic custom metrics instead of custom attributes.

Includes a couple of unrelated lint fixes in a file I modified.
2020-09-18 13:33:50 +00:00
Carla Duarte
ba89c01e6e AA-368: Surface resume_block in Outline Tab API 2020-09-16 11:03:15 -04:00
Carla Duarte
559f7261c7 Merge pull request #24887 from edx/ciduarte/swagger-bug
Fix for Swagger error
2020-09-01 14:02:43 -04:00
Carla Duarte
11d52f154f Fix for Swagger error 2020-09-01 11:38:46 -04:00
Michael Terry
c653ac2c8a AA-126: Expose more course-outline info to learning MFE
- Use the same get_course_outline_block_tree call that the current
  outline uses
- Show number of problems in subsection display names
- Don't send links if the user is not enrolled or course isn't public
- Send subsection icons to MFE
- Send subsection descriptions to MFE
- Send completion info to MFE
2020-08-31 15:38:41 -04:00
Carla Duarte
6392722e0e AA-125: Add Course Goals to MFE API 2020-08-28 10:31:59 -04:00
Carla Duarte
2298966bfe AA-129: Resume Course bug fix 2020-08-12 15:14:49 -04:00
Carla Duarte
4bbb7fadbd Resume Course data for Course Home MFE 2020-08-10 16:32:24 -04:00
Michael Terry
bffa3f9f24 AA-279: Add course-expired html to the course-home outline API
This will let the learning MFE render it on the outline tab (like
it already does on the courseware tab).
2020-08-04 13:45:25 -04:00
Michael Terry
da4dc6c848 AA-278: Add offer html to the course-home API
This is for the frontend-app-learning MFE to consume and show an
alert when offer_html is defined.

I've also tweaked that html a bit to work better in an environment
that doesn't have LMS's exact css.
2020-08-04 09:38:58 -04:00
Michael Terry
bfb5884f79 Merge pull request #24620 from edx/mikix/enroll-alert
AA-124: Give Learning MFE enroll alert information
2020-07-30 12:48:15 -04:00
Carla Duarte
b50fb39fc8 AA-127: Created MFE Outline Tab Waffle Flag
Note: The team settled on raising a 404 when the waffle flag is disabled.
Upon receiving the 404, the frontend will redirect to the LMS.
2020-07-29 18:57:58 -04:00
Michael Terry
01983a2bc0 AA-124: Give Learning MFE enroll alert information
Give it enough to know how to handle weirder outliers like
Masters or invitation only courses.
2020-07-27 16:04:42 -04:00
Nicholas D'Alfonso
14fc8b57ab AA-123 welcome message 2020-07-23 10:47:53 -04:00
Michael Terry
a160744c7e AA-121: add handouts to course home outlines API
This will let the learning MFE render the course handouts
2020-07-17 09:25:54 -04:00
Michael Terry
3030efec78 AA-177: Add masquerading for course home MFE
- Looks at masquerading config for dates, outline, metadata, and
  celebration APIs in course_home_api / courseware_api.
- Consolidates and cleans up places we check whether masquerading
  gives us full access to a course.
2020-06-29 12:37:47 -04:00
Aarif
27480cdd2f Removed deprecated future imports 2020-06-23 18:51:43 +05:00
Daphne Li-Chen
84b08f366d AA-122 created framework for dates widget on course outline 2020-06-22 16:24:39 -04:00
Carla Duarte
4537408383 AA-181: Updating Outline Tab API to include Course Blocks 2020-06-12 14:52:56 -04:00
Carla Duarte
277e34f384 AA-120: Course Tools API
Created an API to be called by the Outline Tab
in the Course Home MFE. This API currently only
returns Course Tool data. Preemptively using the
`course_home_api/outline/v1/...` naming scheme to
make way for more Outline Tab data within this API.
2020-06-01 16:14:47 -04:00