Commit Graph

81 Commits

Author SHA1 Message Date
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
Douglas Hall
ac390e13f6 Refactored middleware that supports SESSION_COOKIE_DOMAIN overrides. 2016-10-18 09:07:03 -04:00
Toby Lawrence
26891bc0fd Default to not requesting responses when grabbing a single thread.
We're often grabbing the metadata of a specific thread to then be able
to perform other operations, but we never need the actual responses or
comments of a thread unless we're displaying it in the normal forum
view.

This change sets a default of with_responses=False, which instructs the
comment service to not send back the responses/comments for the given
thread.  We only ask for responses in the case of rendering a single
thread or inline discussion.
2016-09-07 23:17:11 -04:00
Calen Pennington
bc20a37c2b Simplify how shards are selected in CI 2016-08-03 16:23:02 -04:00
Ned Batchelder
8b1978ba6c Fix unused-import errors 2016-08-03 12:44:41 -04:00
cahrens
d061b8ddbe Use request_cache for storing disabled xblock names.
TNL-5002
2016-07-25 16:17:30 -04:00
Matt Drayer
68312bdd2d Revert "Revert "saleem-latif/WL-328: Multi-Site Comprehensive Theming""
2. Update COMPREHNSIVE_THEME_DIR to COMPREHENSIVE_THEME_DIRS
3. Update paver commands to support multi theme dirs
4. Updating template loaders
5. Add ENABLE_COMPREHENSIVE_THEMING flag to enable or disable theming via settings
6. Update tests
7. Add backward compatibility for COMPREHEHNSIVE_THEME_DIR
2016-06-30 15:19:51 +05:00
David Ormsbee
255267d42c Create forums config model for adjusting connection timeouts. 2016-06-16 13:50:13 -04:00
Hasnain
11454640da Added middleware to redirect the user from expired course page to all courses page. 2016-06-01 14:56:27 -04:00
Calen Pennington
853bfe7a36 Add a TestCase mixin for enabling caches in tests
By default, disable all caching in tests, to preserve test independence.
In order to enable caching, inherit from CacheSetupMixin, and specify
which cache configuration is needed.

[EV-32]
2016-05-04 14:51:30 -04:00
Calen Pennington
18e1610043 Remove the create_user argument to setUp.
Instead, use a class attribute to define test behavior. This allows for
easier addition of new mixins over time.
2016-05-04 11:35:55 -04:00
Ben Patterson
c504029b39 Create a third shard for lms unit tests.
This will leverage the nose attrib plugin to allow us
to break tests apart on our build system to run
in parallel on separate nodes.
2016-03-17 12:01:42 -04:00
Renzo Lucioni
1f0e61baa9 Speed up comment client tests
Also accelerates forums UnicodeTestCases
2016-03-01 14:41:52 -05:00
Ned Batchelder
43ac38aa87 Add autospec to all mocks 2015-12-09 09:44:22 -05:00
Ned Batchelder
f5d0f3ff55 Remove useless pylint suppressions 2015-11-22 07:41:19 -05:00
Brian Beggs
141e0a93c7 Merge branch 'master' into dj18-release-merge 2015-11-19 13:36:13 -05:00
Sven Marnach
3dcc3c4aae Clean up occurrences of SlashSeparatedCourseKey in the django_comment_client app.
The preferred form is to use CourseKey.from_string() instead of
SlashSeparatedCourseKey.from_deprecated_string().
2015-11-18 16:37:57 +01:00
Sven Marnach
ef563e4285 Add tests for the discussion forum vote events. 2015-11-18 16:22:59 +01:00
Usman Khalid
6cb62f2697 Rebase upgrade Django to v1.8.5
Please note that this is a squshed commit and the work of:
Symbolist, macdiesel, nedbat, doctoryes, muzaffaryousaf and muhammad-ammar
2015-11-10 15:00:19 -05:00
Will Daly
8555630df7 Upgrade djangorestframework to v3.1
* Upgrade edx-submissions
* Upgrade edx-ora2
* Upgrade edx-val
* Upgrade edx-proctoring
* Update all edx-platform code that depends on DRF, including:
  - auth_exchange
  - cors_csrf
  - embargo
  - enrollment
  - util
  - commerce
  - course_structure
  - discussion_api
  - mobile_api
  - notifier_api
  - teams
  - credit
  - profile_images
  - user_api
  - lib/api (OAuth2 and pagination)
2015-09-25 12:40:57 -04:00
Peter Fogg
607bd538e6 Update discussion events to include team_id when appropriate.
TNL-3196
2015-09-04 13:10:39 -04:00
Peter Fogg
38fb6eaede Add signals for user's discussion activity.
These signals are caught by the Teams app and used to update
`last_activity_at` on both teams and individual users.

TNL-2497
2015-08-26 12:07:54 -04:00
Peter Fogg
5c855bdc7b Fix quality violation. 2015-08-20 15:15:14 -04:00
Mushtaq Ali
c80906596b Fix Forum Update Issue #TNL-3101 2015-08-20 13:08:41 -04:00
Peter Fogg
90d8774745 Test that discussion admins can delete team posts. 2015-08-07 09:46:12 -04:00
Daniel Friedman
f5840489a0 Allow editing of own post in team discussion 2015-08-06 11:15:55 -04:00
Diana Huang
bc2892f2d3 Merge pull request #9142 from edx/diana/context-aware-comment-client
Make context for threads more implicit.
2015-07-31 10:29:29 -04:00
Diana Huang
c12c2933a7 Make context for threads more implicit. 2015-07-31 08:58:01 -04:00
cahrens
9d3e2c1a08 Ignore team membership for privileged users. 2015-07-30 17:06:40 -04:00
cahrens
01c22531d7 Add team permission check on commentable_id.
TNL-2864
2015-07-30 13:56:08 -04:00
Ben McMorran
6b08bb20f8 TNL-1943 Support thread context for team discussions 2015-07-28 17:18:45 +00:00
Ben McMorran
d36eb83a03 Add query count tests 2015-07-15 14:56:04 +00:00
Ben McMorran
a119b723fd TNL-2389 Use discussion id map cache for thread creation and update 2015-07-13 20:56:50 +00:00
Ned Batchelder
425b766965 Remove TEST_DATA_MOCK_MODULESTORE 2015-03-17 17:21:52 -04:00
Daniel Friedman
934abf3c19 Check access for discussion modules in forums
TNL-650

Conflicts:
	lms/djangoapps/django_comment_client/base/views.py
	lms/djangoapps/django_comment_client/tests/test_utils.py
	lms/djangoapps/django_comment_client/tests/utils.py
	lms/djangoapps/django_comment_client/utils.py
2015-03-09 15:02:48 -04:00
jsa
13ba2c4a57 Revert "Merge pull request #6771 from edx/dan-f/forums-filter-discussion-modules"
This reverts commit 086a2ba783, reversing
changes made to a44132ec18.  Some minor
code quality issues were addressed as part of this change.

Conflicts:
	lms/djangoapps/django_comment_client/base/views.py
	lms/djangoapps/django_comment_client/utils.py
2015-03-05 16:57:46 -05:00
Jonathan Piacenti
be02613aac Do event tracking for major forum events. 2015-02-25 23:30:30 +00:00
Daniel Friedman
c8434ef9c8 Check access for discussion modules in forums
TNL-650
2015-02-25 11:31:18 -05:00
Calen Pennington
b353ed2ea2 Better support specifying of modulestore configuration in test cases
The existing pattern of using `override_settings(MODULESTORE=...)` prevented
us from having more than one layer of subclassing in modulestore tests.

In a structure like:

    @override_settings(MODULESTORE=store_a)
    class BaseTestCase(ModuleStoreTestCase):
        def setUp(self):
            # use store

    @override_settings(MODULESTORE=store_b)
    class ChildTestCase(BaseTestCase):
        def setUp(self):
            # use store

In this case, the store actions performed in `BaseTestCase` on behalf of
`ChildTestCase` would still use `store_a`, even though the `ChildTestCase`
had specified to use `store_b`. This is because the `override_settings`
decorator would be the innermost wrapper around the `BaseTestCase.setUp` method,
no matter what `ChildTestCase` does.

To remedy this, we move the call to `override_settings` into the
`ModuleStoreTestCase.setUp` method, and use a cleanup to remove the override.
Subclasses can just defined the `MODULESTORE` class attribute to specify which
modulestore to use _for the entire `setUp` chain_.

[PLAT-419]
2015-02-04 09:09:14 -05:00
Calen Pennington
03a05fd9d4 Always call super(..).setUp() from setUp 2015-02-04 09:09:14 -05:00
Jesse Zoldak
bf3b87bc64 Clean up all modulestore testcases
Move modulestore config for tests to an importable location
Disable pylnt warning for lms imports in common tests
Refactor all testcases that loaded all xml courses
TE-610
TE-489
2014-12-02 07:09:36 -05:00
Sarina Canelake
20e2ee9a57 s/pylint: disable=E0611/pylint: disable=no-name-in-module/ 2014-12-01 11:22:09 -05:00
Sarina Canelake
e0f1d3f3f3 s/pylint: disable=C0111/pylint: disable=missing-docstring/ 2014-12-01 11:22:09 -05:00
stv
74f61875c7 Fix PEP8: W601 .has_key() is deprecated, use 'in' 2014-11-25 10:16:05 -05:00
muhammad-ammar
fcaa783e43 Unit Test Improvements
TE-489
2014-10-31 11:55:13 +00:00
Nimisha Asthagiri
d7f850a764 Merge branch 'release'
Conflicts:
	lms/djangoapps/instructor/features/data_download.py
2014-10-07 16:23:28 -04:00
polesye
f039341d21 TNL-549: Fix thread editing. 2014-10-03 23:27:15 +03:00
jmclaus
c2716d470c TNL-172: Change type of a previously posted post. IMPORTANT: this commit depends on commit 774887b in cs_comments_service. 2014-10-03 18:29:25 +02:00
polesye
00c7e60e07 TNL-171: Change topic of a previously posted post. 2014-09-24 20:28:14 +03:00