Commit Graph

85 Commits

Author SHA1 Message Date
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
Brian Beggs
bfdd1883f2 Merge pull request #11546 from mitocw/feature/aq/allow_staff_view_coach_dashboard_mitocw#125
Allowed staff/admin of course to view ccx coach dashboard
2016-03-02 09:01:36 -05:00
Renzo Lucioni
d481768571 Merge pull request #11691 from edx/jeskew/shared_modulestore_test_case_conversion
WIP: Lots of Python unittest speedups
2016-03-01 16:50:27 -05:00
John Eskew
65e26e3ec2 Move user/admin model creation to class level.
Wrap whole test with several publish/unpublish in same bulk_op.
2016-02-29 17:20:08 -05:00
John Eskew
bd4cc57bad Convert to SharedModuleStoreTestCase 2016-02-29 14:04:24 -05:00
Kevin Falcone
6f9a3911e5 Implement a BaseStudentModuleHistory
This abstract class contains most of the fields (aside from the id and
foreign key to StudentModule that the subclasses need to manage).  It
also provides a get_history method that abstracts searching across
multiple backends.

Move router code to openedx/core
We need to use it from cms and lms.
Ensure aws_migrate can be used for migrating both the lms and cms.

Handle queries directed to student_module_history vs default and the
extra queries generated by Django 1.8 (SAVEPOINTS, etc).

Additionally, flag testing classes as multi_db so that Django will
flush the non-default database between unit tests.

Further decouple the foreignkey relation between csm and csmhe

When calling StudentModule().delete() Django will try to delete CSMHE
objects, but naively does so in the database, not by consulting the
database router.

Instead, we disable django cascading deletes and listen for post_delete
signals and clean up CSMHE by hand.

Add feature flags for CSMHE
One to turn it on/off so we can control the deploy.
The other will control whether or not we read from two database tables
or one when searching.

Update tests to explicitly use this get_history method rather than
looking directly into StudentModuleHistory or
StudentModuleHistoryExtended.

Inform lettuce to avoid the coursewarehistoryextended app

Otherwise it fails when it can't find features/ in that app.

Add Pg support, this is not tested automatically.
2016-02-29 13:59:27 -05:00
Calen Pennington
dd90c55602 Create a new CSMHExtended table to hold our new data
This is a clone (copy) of CSMH's declaration and methods with an added
id of UnsignedBigInAutoField

We should be able to delete the save_history code, but needs testing.

Add error logging when capa failures happen

Put StudentModuleHistory into its own database

Bump out the primary key on CSMHE

This gives us a gap to backfill as needed.
Since the new table's pk is an unsigned bigint, even for people who don't
consolidate CSMH into CSMHE, the lost rows are unlikely to matter.

Remove StudentModuleHistory cleaner
2016-02-29 13:58:39 -05:00
Giovanni Di Milia
0c637cdca9 Added extra field to CCX model for Course Models
REST APIs modified
2016-02-25 10:27:39 -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
Peter Fogg
4805946a83 Override due dates in the LMS for self-paced courses. 2015-10-28 14:33:11 -04: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
Peter Pinch
b87634d8e0 Merge pull request #10268 from mitocw/fix/pdw/download-ccx-csv
Fix CCX grades csv file download
2015-10-22 10:58:27 -04:00
Ned Batchelder
322ca34b20 Remove pylint pragmas from "class Meta"
Also remove useless docstrings where they were added to keep pylint
quiet.
2015-10-21 07:37:00 -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
Peter Pinch
ec023c22e6 Merge pull request #10034 from mitocw/fix/gdm/hide_block_from_ccx
Fixed visibility of hidden blocks in CCX schedule
2015-10-08 08:54:02 -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
Calen Pennington
f8f9b91c16 Make unpublish raise the same errors in split and old-mongo when asked to unpublish a DIRECT_ONLY_CATEGORY 2015-10-06 16:54:34 -04:00
George Schneeloch
c6c92230c5 Fixed min_count KeyError 2015-10-01 10:56:13 -04:00
Muhammad Ammar
edf88962b5 Merge pull request #9534 from edx/ammar/update-factory-boy
Update factory_boy
2015-09-18 19:04:48 +05:00
Peter Pinch
01aea1a494 Merge pull request #9335 from mitocw/error_message_student_notfound_ccx_coach_dashboard
Added error message in enrollment tab inside CCX coach dashboard
2015-09-18 09:33:02 -04:00
muhammad-ammar
6a5ce5d544 Upgrade factory_boy
TNL-3179
2015-09-18 18:02:38 +05:00
Dennis Jen
844edac443 Optimize OpenID Course Claims for users.
- Course overviews will cache courses upon publish.
- Added management command to warm up cache.
- OAuth2 handler returns courses via course overviews.
2015-09-17 11:29:28 -04:00
amir-qayyum-arbisoft
4ab368720e Added error message in enrollment tab ccx coach dashboard 2015-09-17 14:49:55 +05:00
Syed Hassan Raza
49dfee0e44 save_cxx slow transaction 2015-09-11 06:06:42 -07:00
David Ormsbee
4053d625c9 Move some CCX view tests to use SharedModuleStoreTestCase (performance). 2015-08-24 16:21:27 -04:00
zubair-arbi
ec28a75f14 In-course reverification access control
* Automatically create user partitions on course publish for each ICRV checkpoint.
* Disable partitions for ICRV checkpoints that have been deleted.
* Skip partitions that have been disabled when checking access.
* Add verification access control UI to visibility settings.
* Add verification access control UI to sequential and vertical settings.
* Add partition scheme for verification partition groups.
* Cache information used by verification partition scheme and invalidate the cache on update.
* Add location parameter to UserPartition so the partition scheme can find the associated checkpoint.
* Refactor GroupConfiguration to allow multiple user partitions.
* Add special messaging to ICRV for students in the honor track.

Authors: Zubair Arbi, Awais Qureshi, Aamir Khan, Will Daly
2015-08-20 08:43:55 -07:00
Carlos de la Guardia
aa647bd87e fix test broken by course_overview changes 2015-08-14 10:00:04 -05:00
Carlos de la Guardia
066d5ab651 Changes to a CCX course should emit a course_published event 2015-08-14 01:24:11 -05:00
Diana Huang
82eb1f6b74 Make status use ConfigurationModel instead. 2015-08-11 17:51:39 -04:00
Carlos de la Guardia
458ed0a64e Use the standard enrollment table instead of a custom CCX table for CCX
enrollments.

The goal for this PR is to have a single mechanism for registering users and
reducing the number of places where special-casing for ccx courses is needed. The
migration at this point is purposefully limited to convert ccx memberships into
student enrollments when moving forward. No backward migration is in place at the
moment. The ccx membership tables are not removed at this time. It is possible to go
backwards and forwards multiple times with no errors or data loss.
2015-08-01 02:59:10 -05:00
David Ormsbee
58f36d3e93 Enable faster ModuleStore tests with SharedModuleStoreTestCase.
This is a new TestCase base class, intended for situations where
you only want to initialize course content in the setUpClass(),
as opposed to setUp(). This is done for performance reasons, since
many test cases only use courses in a read-only fashion,
particularly in LMS tests.

This commit also converts the following modules to use this new
base class:

  lms/djangoapps/ccx/tests/test_ccx_modulestore.py (38s -> 4s)
  lms/djangoapps/discussion_api/tests/test_api.py (2m45s -> 51s)
  lms/djangoapps/teams/tests/test_views.py (1m17s -> 33s)
2015-07-27 13:02:16 -04:00