Commit Graph

299 Commits

Author SHA1 Message Date
Diana Huang
e6cbff47b7 Switch tabs to use ugettext_noop for titles. 2015-06-23 11:08:41 -04:00
Diana Huang
d779466f09 Make course tab refreshing safer. 2015-06-19 14:53:49 -04:00
David Ormsbee
b92ad0ad13 TNL-2291 Add caching to discussion forum permissions
Caches all permissions per user per course. Adds caching functionality to has_permission and replaces all instances of cached_has_permission with has_permission.
2015-06-17 21:08:28 +00:00
Sven Marnach
52f56ddd37 Add feature flag to allow hiding the discussion tab for individual courses. 2015-06-14 20:36:45 +02:00
cewing
6a0c9aee9d MIT CCX: Use CCX Keys
Implement the use of CCX opaque keys throughout the ccx code base

include the new custom ccx id package in the github checkouts list

update the coach dashboard wrapper to get CCX information from the incoming course_id, if possible

update function signatures for all view functions to expect CCX as passed by the dashboard wrapper (default to None), remove calls to get_ccx_for_coach as the ccx is passed in.

update reverse calls in python view code to use a CCXLocator for the URL instead of a CourseLocator

use CCXLocator where necessary

use course id to find ccx, instead of thread local

remove unused method and related tests

use course id for getting ccx

provide course id to the get_current_ccx method

ensure the course id passed in is a CourseKey instance of some type whether it starts out as a string or not

use the provided block to figure out what the course_id should be, then get the ccx for that

redirect to ccx dashboard using coach ccx if no ccx is passed in

update student dashboard listing for ccx to build an appropriate url from a CCXLocator, not from the course locator.

refactor building the ccx locator so we don't have to do it repeatedly

begin test refactoring after ccx_keys introduction

Ensure that when access checking happens, the course_locator form of a ccx locator is used.  This ensures that the access check happens against the course and it is not necesarry to duplicate the entire access control structure for the course.

pick up api change in ccx-keys

create and conditionally use a wrapper for the mixed modulestore returned by xmodule.modulestore.django.modulestore

the wrapper will strip and restore ccx values from CourseKey and UsageKey objects

fix return values on a few methods

remove unused symbol

pull updated ccx-keys package

set course_id on the caching descriptor system to avoid api incompatibilities in some subsystems

use ccx.course instead of self.course

fix get method to find course keys from blocks that are not themselves keys but have a location attribute (which will be a key)

if an item coming out of the db has children, restore the ccx to them as well

if the block passed in has a CCX key, unwrap that before we try to look up the override, otherwise it will never be found.

pick up a change in the ccx keys package that allows for stripping CCX identity from a usage key

begin writing tests to cover this modulestore wrapper

remove the switch_pocs view, the url pattern for it, and the tests that covered it

remove the ccx context and the middleware responsible for setting the current CCX.  These are no longer needed

all dashboard views should raise 404 if a ccx is not provided by the coach_dashboard decorator

code quality

prevent errors resulting from trying to `get` a ccx based on non-unique criteria.

remove obsolete usage of ACTIVE_CCX_KEY

fix setUp method for grading tests to properly create grades for the ccx rather than for the course.

clean up reverse calls

code quality

adding docstrings to clarify purpose of this patch

fix bug in getting ccx for coach

fix grading views to properly fetch a ccx-ified course so that grades for that version will be calculated

fix small errors in modulestore implementation

fix errant merge marker

update call to get_current_ccx after key refactoring merged with tab changes
2015-06-12 00:01:24 -07:00
Diana Huang
cddd387beb Merge pull request #8367 from edx/diana/merge-course-view-and-tab
Refactor and merge CourseViewType and CourseTab.
2015-06-08 16:08:27 -04:00
Diana Huang
7461a2fd37 Refactor and merge CourseViewType and CourseTab.
TNL-2321
2015-06-08 15:18:39 -04:00
Nimisha Asthagiri
d240785b17 MA-722 Render xBlock API Support 2015-06-05 11:18:48 -04:00
Diana Huang
dae137feaa Convert all tabs to the new plugin framework. 2015-06-02 15:05:16 -04:00
Daniel Friedman
3acd7a008c Refactor and add tests for new grade report.
* Handle grading errors
2015-05-13 06:58:02 -04:00
muzaffaryousaf
67848ff67b Link to learner profile page from username in discussions.
TNL-1503
2015-04-17 17:23:15 -04:00
Usman Khalid
c50f828187 Fixes after rebase. 2015-03-23 19:03:31 +05:00
Usman Khalid
d382f569c8 Refactor django_comment_client.utils.prepare_content() to query
course cohort settings only once.

TNL-1258
2015-03-23 09:57:07 +05:00
Usman Khalid
d59be9949e Use cohort settings from CourseCohortSettings.
TNL-1258
2015-03-23 09:43:00 +05:00
Ned Batchelder
7d799e34f3 Remove unused imports 2015-03-17 07:10:31 -04:00
stv
f03b943b95 Fix Pylint: W0612(unused-variable) 2015-03-13 20:20:05 -07: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
stv
4131898180 Remove "nopep" pragma 2015-02-27 11:49:51 -08: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
Dennis Jen
a8be702136 Merge pull request #6469 from edx/release
hotfix-2015-01-06
2015-01-06 17:16:32 -05:00
jsa
ce3c650cf9 use modulestore bulk ops in forum views.
JIRA: PLAT-348
2015-01-06 09:59:20 -05:00
Alan Boudreault
68fcdcc030 Add always_cohort_inline_discussions in course settings 2014-12-26 18:03:50 +00:00
David Baumgold
36e77c7463 Fixing pep8 issues 2014-12-11 13:04:49 -05:00
Andy Armstrong
eced849db0 Add group_access field to all xblocks
TNL-670
2014-12-05 09:55:00 -05:00
jsa
f24f01d217 Add support for user partitioning based on cohort.
JIRA: TNL-710

IMPORTANT: this commit converts the course_groups
package to using migrations.  When deploying to an
existing openedx instance, migration 0001 may fail
with an error indicating that the CourseUserGroup
table already exists.  If this happens, running
the 0001 migration first, with the --fake option,
is recommended.  After performing this step,
remaining migrations should work as expected.
2014-12-05 09:53:44 -05:00
Jesse Zoldak
e26a0c4308 Fix pep8 violations in some tests 2014-12-02 09:39:23 -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
cf9308144d Fix PEP8: E302 expected 2 blank lines, found 1 2014-11-10 11:00:11 -08:00
Muhammad Ammar
e8e7e78e09 Merge pull request #5655 from edx/ammar/unit-improvements
Unit Test Improvements
2014-11-05 19:55:39 +05:00
Sarina Canelake
725e4908e3 Remove more pep8 violations 2014-11-04 07:37:41 -05:00
muhammad-ammar
fcaa783e43 Unit Test Improvements
TE-489
2014-10-31 11:55:13 +00:00
Ben Patterson
5703adb722 Merge branch 'release'
Includes rc/2014-10-14
2014-10-16 20:11:55 -04:00
Christina Roberts
f7ef9eb511 Merge pull request #5510 from edx/christina/bug-tnl-543
Pass group_id when getting user thread and comment counts.
2014-10-16 16:03:22 -04:00
cahrens
7133cfc150 Pass group_id when getting user thread and comment counts.
Depends on cs_comments_serivce commit ea218a2b038b59e63fd6593b5598db90223636e1.

TNL-543
2014-10-16 14:32:10 -04:00
jsa
786fc806f5 Add topic selection to inline thread editing, fixing errors
Co-Authored-By: Brian Talbot <btalbot@edx.org>

TNL-549
2014-10-14 15:45:19 -04:00
Waqas Khalid
c2ecaa7e30 Forum shouldn't cuase error while searching unicode
If we use unicode character in the search of forum
it will cuase the error which is not the desired
behavior it should check and return result.

TNL-336
2014-10-09 14:40:06 +05:00
Waqas Khalid
f94c677a79 Merge pull request #5279 from mlkwaqas/waqas/tnl404-new-post-hidden-breadcrumb
New post should show category/subcategory breadcrumb when created.
2014-09-24 19:20:46 +05:00
Waqas Khalid
2c3cef75bc New post should show category/subcategory breadcrumb when created.
When the new post is created under the subcategory and it appear
after the creation, it doesn't have the link of category/subcategory
after thread body. When we reload the page the link appears. Link
should appear after creation.

TNL-404
2014-09-24 18:19:51 +05:00
jsa
e00d3330fe fix 404s when students access group-less threads in cohorted topics
TNL-444
2014-09-22 15:22:10 -04:00
Adam Palay
7f4da14185 Add middleware optionally to catch unenrolled students who fail has_access (TNL-286) 2014-09-18 11:35:17 -04:00
Jim Abramson
9fc4fbc12a Merge pull request #5172 from edx/jsa/tnl24
test that group_id attribute is present and correct in LMS responses
2014-09-12 15:58:50 -04:00
jsa
d3d4d33064 Ensure group info is present in LMS responses.
TNL-24
2014-09-12 13:47:05 -04:00
cahrens
020094b8fb Create auto cohorts when list_cohorts is called and return number of users per cohort.
TNL-186
2014-09-11 13:51:34 -04:00
Daniel Friedman
4d9517b456 Ensure LMS passes correct group_id when querying content 2014-09-10 16:43:06 -04:00
Sarina Canelake
467f2988e1 Quality cleanup 2014-09-08 12:02:31 -04:00