Commit Graph

102 Commits

Author SHA1 Message Date
Nimisha Asthagiri
d0fcabd407 CCX: Use Modulestore Field Overrides instead of User-specific Overrides 2016-06-23 20:22:32 -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
Nimisha Asthagiri
c6954902e3 Create courseware/views folder 2016-05-03 09:02:45 -04:00
Nimisha Asthagiri
91f63af852 Fix sequence navigation issues for CCX courses
MA-2258
2016-04-07 18:41:10 -04:00
Amir Qayyum Khan
58bde7f301 Excluded admins, staff and coach of master course from max enrollment 2016-04-05 21:31:54 +05:00
John Eskew
35a235b348 Merge pull request #11899 from edx/jeskew/ccx_safe_templating
Safe templating changes for CCX.
2016-04-04 12:45:24 -04:00
John Eskew
13ef2b7d1a Safe templating changes for CCX. 2016-04-04 09:59:45 -04:00
Amir Qayyum Khan
795ead82b5 Added master course staff and admins to ccx and fixed same issues related to ccx 2016-03-26 03:18:39 +05:00
Amir Qayyum Khan
8a9e81fdda Added validation to ccx create form, If ccxcon url is set then app will ask user to create ccx from ccxcon app 2016-03-15 18:02:12 +05:00
Ned Batchelder
fd4164de1d Merge pull request #11737 from edx/release
Release ⇒ master
2016-03-03 14:51:29 -05:00
David Ormsbee
19d9920b9f Revert "Merge pull request #11523 from edx/perf/speed-up-slow-user-role-ops"
This reverts commit acf6c1d609, reversing
changes made to c59db6e5fc.
2016-03-02 13:15:17 -05:00
Amir Qayyum Khan
e1035c7bd7 Allowed staff/admin of course to view ccx coach dashboard 2016-02-25 16:07:27 +05:00
Brian Beggs
0251e8e15a Merge pull request #11545 from mitocw/feature/aq/support_mutiple_instances_ccx_mitocw#175
Allow multiple instances of ccx
2016-02-24 21:22:29 -05:00
Michael Katz
fd065c9e8c Merge pull request #11643 from edx/release
Release 2016-02-24
2016-02-24 11:16:16 -05:00
Toby Lawrence
acf6c1d609 Merge pull request #11523 from edx/perf/speed-up-slow-user-role-ops
Don't blow away the role cache when updating.
2016-02-23 06:55:00 -05:00
Amir Qayyum Khan
2ee9105017 Fixes bug where coach with multiple CCXs can't view coach dashboard 2016-02-22 18:59:07 +05:00
Toby Lawrence
12633f1710 Make the test_grades_csv test consistent.
Before it was depending on the order of results, which is not very consistent.  Now we use known identifiers to delve through data before making our assertions.
2016-02-17 14:18:01 -05:00
Amir Qayyum Khan
91bf48fc8c Added staff role on ccx to staff of master course and added a data migration for existing ccx courses. 2016-02-17 15:54:28 +05:00
Toby Lawrence
dacdbae1a5 Fix up some broken tests.
We added the ability here to check if a role has a user in with the ability to refresh the role cache before checking.  Since some tests will make inline requests, which in turn put a user into a new role, we have to refresh afterwards otherwise we won't see that new role in place.  Since we don't want to automatically refresh ever, we just added a way to request it, since we know in this test that we're doing something, effectively, out-of-band, which necessitates it.
2016-02-12 14:17:51 -05:00
Giovanni Di Milia
e63194c1cd Added CCX REST APIs
CCX REST APIs
OAUTH2 authorization for CCX APIs
- oauth2 authorization required for ccx list.
- Course-instructor permission for ccx api endpoint
- Protection for detail view too.

Tests for CCX REST APIs and OAUTH2 authorization
2016-01-27 11:04:28 -05:00
Amir Qayyum Khan
53b22cbf1f Made dates configuration for CCX schedule same as in studio (Course) 2015-12-10 18:45:00 +05:00
Amir Qayyum Khan
85c7258ec1 Fixed display name ccx course on coach dashboard 2015-12-10 14:34:01 +05:00
Amir Qayyum Khan
a1f2f395a0 overriden start and due dates for problems to controll due date of a unit from ccx schedule 2015-11-24 18:23:09 +05:00
Ned Batchelder
f5d0f3ff55 Remove useless pylint suppressions 2015-11-22 07:41:19 -05:00
muhammad-ammar
8d5f153201 Merge remote-tracking branch 'origin/release' into dj18-release-merge
Conflicts:
	common/djangoapps/util/testing.py
	lms/djangoapps/instructor/views/api.py
	lms/djangoapps/teams/tests/test_views.py
	openedx/core/djangoapps/programs/models.py
	openedx/core/djangoapps/user_api/accounts/tests/test_views.py
	requirements/edx/github.txt
2015-11-18 17:53:44 +05:00
Giovanni Di Milia
64acf4846b Enforced maximum amount of students for CCX
CCX overrides course max_student_enrollments_allowed
and set it to 200 during CCX creation
2015-11-16 10:10:37 -05: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
Amir Qayyum Khan
44b409ebff Added pagination on grade book. 2015-11-10 15:18:15 +05:00
Jamie Folsom
a3a7ff2428 Enroll the coach in the CCX on creation
Make the course URL pattern more generic.

Comment newly added functionality.

Fix quality issues.

Address two lint errors, with regex and variable naming.

Changed how we access course_key and course_id.

Replace another instance of self.course.id.to_deprecated_string()

Remove unused import, add missing one.

Improve how the ccx key is extracted from the URL

Use resolve() instead of os.path to get the course_id.

Remove the granting of staff access to coaches.
2015-10-26 11:35:01 -04:00
pwilkins
5562f8ea0e Fix CCX grades csv file download
In the CCX dashboard, the Student Admin tab has a `Download student
grades` action. This action should download a CSV file containing
grades, but currently displays the CSV content in the browser instead.
This fix sets the `content-type` and `content-disposition` so that
a CSV file download occurs.

- fixes #93
2015-10-20 10:26:55 -04:00
Giovanni Di Milia
82a41b3846 Fixed new pylint violations in lms/djangoapps/ccx 2015-10-19 14:05:13 -04:00
Giovanni Di Milia
220c1e2934 Fixed pylint violation for files in lms/djangoapps/ccx 2015-10-16 14:15:29 -04:00
Giovanni Di Milia
f2a1d0e54b Coaches can't see blocks "hide from students"
If a block is marked as "hide from students" cannot be seen in the
CCX schedule
2015-10-07 09:07:29 -04:00
George Schneeloch
c6c92230c5 Fixed min_count KeyError 2015-10-01 10:56:13 -04:00
amir-qayyum-arbisoft
4ab368720e Added error message in enrollment tab ccx coach dashboard 2015-09-17 14:49:55 +05:00
David Ormsbee
4053d625c9 Move some CCX view tests to use SharedModuleStoreTestCase (performance). 2015-08-24 16:21:27 -04:00
Brandon DeRosier
34526ddf6a Revert "Revert "Merge pull request #8986 from jazkarta/remove-ccx-enrollment""
This reverts commit 42e78463a7.
2015-08-11 13:03:58 -04:00
Calen Pennington
0e8b303d2e Cache CcxFieldOverrides on a per-request basis 2015-07-20 14:54:27 -04:00
Kyle McCormick
a9c4774fe7 PLA-749 Fix student dashboard for users enrolled in CCX courses 2015-07-20 14:03:50 -04:00
Carlos de la Guardia
d56303dd0f Only enable the OverrideFieldData when there are active overrides on a course. 2015-06-17 15:26:10 -04:00
cewing
cb431ccb24 MIT CCX: Use CCX Keys: further revisions in response to code review
only require ccx-keys once

get_current_ccx will now expect a CourseKey instance as its argument, and will raise a value error if this expectation is not met.

document reason for local import

add special methods to pass attribute setting and deletion through to the wrapped modulestore

add __setattr__ and __delattr__ per code review, update __init__ to work with new methods

style change per code review

clean up context manager usage as recommended by code review

remove unused code and imports

convert modulestore type tests to use the `get_modulestore_type` api, remove unused imports

code quality: add docstrings

increase coverage for utils tests

fix bug found in testing.

increase test coverage on modulestore wrapper

code quality fixes

code-quality: ignore import error, but mark site for future consideration
2015-06-12 11:20:30 -07: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
dae137feaa Convert all tabs to the new plugin framework. 2015-06-02 15:05:16 -04:00
amir-qayyum-arbisoft
6a41cd7bfa Added ccx enable/disable flag to advance settings and show hide ccx coach option on lms 2015-06-02 19:43:42 +05:00
Ned Batchelder
78e9445aa1 Add super() calls to setUp/tearDown that are missing them
Also, I replaced a number of tearDown methods with addCleanup instead.
And also remove some unneeded patch.stopall() calls.
2015-05-14 18:14:21 -04:00
Christine Lytwynec
ddb1ae667e Split lms unittests into multiple shards 2015-05-07 09:17:26 -04:00
E. Kolpakov
6db974c8ee Fixes for course import-export:
* Updated XBlock hash - new version forces exposes force_dirty method on fields
* Includes Scope.children fields into xml_importer._update_module_location so that they are updated as well.
* Tests for mutable fields xml_importer._update_module_location with mutable fields and children
2015-05-01 18:36:14 +03:00
Carlos de la Guardia
f9351ef830 MIT: CCX. Code Quality Fixes
Remove duplicated course listings template code on the student dashboard.
2015-04-10 23:30:27 -04:00
cewing
8ba74429b1 MIT: CCX. Fixes for API changes that affect the binding of descriptors to student context.
fix for making sure all descriptor fields are always available for course descriptors despite module_class tricks

add required fields to cache data for tests

use a different strategy to mock up the get_children method
2015-04-10 23:30:27 -04:00
Carlos de la Guardia
9ddee93401 MIT: CCX. Code Quality fixes
add doc strings; fix pep8 warning
address some minor issues brought up by the code review process
2015-04-10 23:30:26 -04:00