Commit Graph

51 Commits

Author SHA1 Message Date
David Ormsbee
72ed987dff Enable model-caching of discussions ID mapping.
Doing modulestore lookups is expensive, so commit 695b036 created a
course_publish listener that would materialize the discussion ID to
XBlock usage key mapping into the CourseDiscussionSettings model.

However, the signal wasn't hooked up to the Studio process, so that
async task was never called. When hooking it up, I also discovered that
bok choy tests related to partitioning were failing because of a race
condition where multiple processes are overwriting the discussion
settings. To make sure this wasn't an issue, I moved the mapping to
its own table.

This is part of ARCH-111, and the overall Course Structures API
deprecation.
2018-06-13 08:21:08 -04:00
Eric Fischer
247bb50ed2 s/django.core.urlresolvers/django.urls/g
Django 1.10 deprecation fix for Hackathon XIX
Addresses PLAT-1397
2018-06-05 13:59:09 -04:00
Gabe Mulley
83b24e0453 fix broken test 2018-05-14 13:21:49 -04:00
Douglas Hall
695b036282 Store Discussions ID Map on CourseDiscussionSettings model when course publish signal is fired. 2018-05-03 17:23:30 -04:00
Stuart Young
1fd2167144 rebalance python unittests onto new shards 2018-05-03 11:16:05 -04:00
Eric Fischer
b7dda32a36 remove tests also 2018-05-01 13:44:55 -04:00
Sanford Student
2f0e3d35a0 EDUCATOR-2618 request cache some more stuff 2018-04-25 15:33:44 -04:00
Uman Shahzad
5746729895 Revert "Revert "Show Enterprise display name if we should hide sensitive user…" 2018-04-23 18:27:36 +05:00
George Babey
a155aad01c Revert "Show Enterprise display name if we should hide sensitive username."
This reverts commit d58bd06928.

This commit caused performance issues due to increased API load from checking the
enterprise association on each page load
2018-04-17 09:07:17 -04:00
Uman Shahzad
d58bd06928 Show Enterprise display name if we should hide sensitive username. 2018-04-12 19:10:30 +05:00
Eric Fischer
aa44292890 render discussion_profile_page as a fragment 2018-01-25 10:08:08 -05:00
Jeremy Bowman
669aa13ad6 PLAT-1873 to_deprecated_string() cleanup part 2 2018-01-08 17:26:55 -05:00
John Eskew
523b46962c Merge pull request #17037 from edx/bmedx/django111_fix_teams_tests
Fixes to teams tests in Django 1.9+
2017-12-27 15:03:38 -05:00
bmedx
da0858bbdf Add fixes for shoppingcart and discussions test failures 2017-12-27 13:42:42 -05:00
Gregory Martin
455a13d1f5 Add Forum Notifications Email Tracking 2017-12-22 15:21:26 -05:00
sandroroux
f365aa9b6a Deleted waffle-based tests. 2017-12-06 16:20:47 -05:00
sandroroux
4d948672cd Brought SiteConfig checks back. 2017-12-06 11:43:29 -05:00
sandroroux
f52f0914fa Removed enable_forum_notifications 2017-12-06 10:12:29 -05:00
sandroroux
b3bbc159a0 Removed discussions.forum_response_notifications and discussions.send_notifications_for_course 2017-12-06 09:29:15 -05:00
Nimisha Asthagiri
7ef443f7ce Update usages to ace_common 2017-12-05 11:38:16 -05:00
Tyler Hallada
fd5c5acc28 Add emulate_http_request contextmanager for tasks
remove explicit middleware from resolver task

Address Gabe's comment

Add TODO to define middleware_classes in settings
2017-11-30 16:40:20 -05:00
Ned Batchelder
e23e3a0486 Fix a number of unused-import pylint violations 2017-11-21 19:57:06 -05:00
Alex Dusenbery
2fbdb8f6b3 EDUCATOR-1590 | Test that we can actually render the forum emails. 2017-11-16 12:19:16 -05:00
Gabe Mulley
6f20cd5cf2 support a GA tracking pixel 2017-11-15 08:35:35 -05:00
Alex Dusenbery
b35450decc EDUCATOR-1729 | Control forum notifications with SiteConfiguration, too. 2017-11-14 12:59:46 -05:00
Alex Dusenbery
8eb1900299 EDUCATOR-1571 | Send discussion notification on first response; add a CourseWaffleFlag for discussion notifications. 2017-11-13 10:45:45 -05:00
Sanford Student
e932fc9353 EDUCATOR-1578: GA tracking pixel 2017-11-09 10:54:58 -05:00
Alex Dusenbery
fedf35c36e EDUCATOR-1572 | Send an ACE message to thread author when new comment signal is received. 2017-11-07 09:40:04 -05:00
Gabe Mulley
7fd643faa4 Add tests for experience types, ensure courses have a verified mode 2017-11-01 16:51:10 -04:00
Alex Dusenbery
5cf016cf5b EDUCATOR-1570 | Wire up a stub signal receiver to handle comment_created signals. 2017-10-24 11:32:07 -04:00
Jillian Vogel
425239a509 Disables Enterprise Integration feature by default
Moves ENABLE_ENTERPRISE_INTEGRATION to settings.FEATURES,
and changes the default value to False.
2017-10-19 15:58:13 +10:30
Andy Armstrong
aeecf34387 Enable conditional pre-start-date access to courses
LEARNER-1854
2017-07-14 14:00:48 -04:00
Kyle McCormick
fade4a10af Implement event for forum thread views
EDUCATOR-341
2017-07-11 12:42:49 -04:00
Andy Armstrong
a815003b3b Handle anonymous and unenrolled users on the new course home page
LEARNER-1696
2017-07-10 17:52:28 -04:00
Douglas Cerna
eacc4bc138 Allow to set the default topic for new Discussion posts 2017-07-05 20:26:32 -06:00
Andy Armstrong
79acb5c5be Reorder LMS imports using isort 2017-06-11 21:48:06 -04:00
cahrens
3abc7dc07e isort updates 2017-06-05 13:47:48 -04:00
cahrens
36c51450c2 Adds in radio button patch request and text for page
EDUCATOR-229
2017-06-05 13:00:31 -04:00
cahrens
8951ac8c61 Refactor server-size code to enable enrollment tracks.
EDUCATOR-11
2017-06-05 12:59:50 -04:00
Andy Armstrong
da1ac4664e Implement common redirect logic for all course tabs
LEARNER-76
2017-04-12 16:05:32 -04:00
Andy Armstrong
0325425c8c Add data sharing consent redirect for more course tabs
LEARNER-394
2017-03-31 19:12:13 -04:00
Jillian Vogel
25383a603e Ensure Enterprise-integrated courses require user consent before granting access to Wiki and Discussion forum.
* User-facing links are gated; internal services are not.
* Adds view decorator data_sharing_consent_required
* Renames `get_course_specific_consent_url` to `get_enterprise_consent_url`,
  which now checks `consent_needed_for_course` before returning a consent URL.
2017-03-10 09:29:24 +10:30
Andy Armstrong
248558f1d4 Render Discussion tab using web fragments 2017-02-28 23:39:39 -05:00
alisan617
f5936b36ae remove Related to in inline, add it to Profile, spacing nits 2016-12-12 11:01:57 -05:00
Brian Jacobel
787dac9046 use DiscussionThreadListView for user profile discussion 2016-12-12 11:01:56 -05:00
Awais Jibran
92b99c7dc3 Fix discussion user roles 2016-11-10 17:11:52 +05:00
Toby Lawrence
2acb4a6cad [PERF-386] Utilize ForumsConfig to enable and disable forums.
This specifically enables/disables the underlying comment service client
used to make calls to the service.  When disabled, this client will now
throw an exception which can be propagated upwards so that callers can
make the right decision about how to notify users of the error, or
handle retry, etc etc.
2016-11-03 10:20:19 -04:00
Toby Lawrence
6704e17afd [TNL-5632] Optimize the single_thread view.
Firstly, we're now explicitly instructing the comments service to not
return thread responses/comments if the request isn't AJAX.  So, if you
load the URL for a single discussion thread in your browser, this would
be a non-AJAX call and we'll avoid loading the responses for the entire
thread behind-the-scenes.  Big win here for large threads.

Next, we removed a redundant "get threads" call which was also happening
behind-the-scenes.  This call was redundant as the front-end JS also
grabs the thread list when a topic is chosen, so we were making an
extranenous call for no benefit.  Poof, gone!

Finally, we added some caching of database queries that are required to
drive a lot of the permissions/cohorts machinery around discussion.
This will have a minimal effect but introduced a cleaner way to apply
general memoization at the per-request level which will let us further
cache things as we identify them as issues.
2016-10-18 13:11:30 -04:00
Nimisha Asthagiri
5822919549 Cache Enrollment state for (user, course) in request cache. 2016-09-12 15:56:03 -04:00
Andy Armstrong
6c54035197 Add a content header to the discussion board 2016-08-17 16:20:45 -04:00