Commit Graph

52 Commits

Author SHA1 Message Date
Nimisha Asthagiri
1febdbfac9 Grades cleanup: remove read_only param and create method
EDUCATOR-171
2017-09-28 07:48:25 -04:00
Nimisha Asthagiri
22edaf7d24 Grades: move out of temporary new folder
EDUCATOR-1400
2017-09-22 11:49:46 -04:00
Andy Armstrong
79acb5c5be Reorder LMS imports using isort 2017-06-11 21:48:06 -04:00
Nimisha Asthagiri
379a2c181b Refactor Grade Report in prep for parallelization. 2017-04-27 08:33:01 -04:00
Nimisha Asthagiri
1503e5f768 Grade only engaged learners
Add a new waffle switch that allows us to assume zero grades for
learners who have no entry previously recorded, and another to
disable persisting grades for unengaged learners.

TNL-6691
2017-04-11 10:41:57 -04:00
Nimisha Asthagiri
e87388e24c Grades cleanup before updating grade report
Remove deprecated SingleSectionGrader.  TNL-5987
Remove display_name and module_id from Scores objects
Update CourseGradeFactory.__init__ to not be user-specific
Update some callers to use CourseGrade class instead of "summary" dict
Remove no longer needed course_grades.py module.
Renamed django signal from GRADES_UPDATED to COURSE_GRADE_CHANGED
2016-11-30 12:36:25 -05:00
Sanford Student
79eaa4e2e9 update all references to instructor module 2016-10-12 10:04:32 -04:00
Jesse Shapiro
8533fd9734 Adding change to staff role for new users and draft migration 2016-10-07 11:52:59 -04:00
Matjaz Gregoric
8dc84bec3a Enable discussions on CCX courses.
Discussion is restricted to the CCX course (there is no sharing of
discussions with the parent course or other CCX instances).
2016-09-12 09:51:05 +02:00
Eric Fischer
22046d4067 Use PersistentSubsectionGrade in grades application
Hooks the pre-existing grades code into our new PersistentSubsectionGrade data
model. Includes test updates, and some minor changes to the data model that
were discovered in testing.
2016-08-22 09:47:37 -04:00
Amir Qayyum Khan
34034aa6f5 Made ccx id unicode in app 2016-07-29 19:37:46 +05:00
Amir Qayyum Khan
d5fcb609e7 Fixed progress page update on save ccx 2016-07-29 18:11:42 +05:00
Brian Beggs
93969f1b1e Merge pull request #12996 from mitocw/fix/aq/staff_access_coach_dashboard
Fixed staff access to CCX coach dashboard issues
2016-07-25 15:37:58 -04:00
Nimisha Asthagiri
1ada5c3487 Create Grades djangoapp
https://openedx.atlassian.net/browse/TNL-5008
2016-07-22 00:09:43 -04:00
Amir Qayyum Khan
c0fc8669ba Only coach can access ccx dashboard 2016-07-18 14:40:32 +05:00
Amir Qayyum Khan
0d3f96d4b5 Fixed CCX coach dashboard access issues. 2016-07-08 04:24:19 +05:00
Ned Batchelder
2e1238b83e Remove unused imports 2016-04-08 11:23:05 -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
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
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
Amir Qayyum Khan
2ee9105017 Fixes bug where coach with multiple CCXs can't view coach dashboard 2016-02-22 18:59:07 +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
Amir Qayyum Khan
6c01c85be9 Moved code to utility from views ccx 2016-01-07 02:52:45 +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
Amir Qayyum Khan
1f60e9696f Disabled auto enroll in ccx enrollment tab 2015-11-04 11:56:01 +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
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
Syed Hassan Raza
49dfee0e44 save_cxx slow transaction 2015-09-11 06:06:42 -07:00
unknown
88a038aa1e Fixed email parm function for CCX email
modified:   lms/djangoapps/instructor/tests/test_enrollment.py
2015-08-24 20:34:11 +05: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
Sarina Canelake
ba8fd1c21d Eliminate instances of unused-import Pylint violation 2015-07-13 17:33:25 -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
ef4836503f MIT CCX: Use CCX Keys - responses to code review
remove references to middleware that were missed previously

use key apis rather than local implementation of key conversion.  remove local implementationa

remove spurious test for attribute

fix test setUp to avoid unneeded flattening

code quality fixes

add security check ensuring that the coach is coach for *this* CCX.

prevent ccx/deprecated course id problems

1.  do not allow ccx objects to be created if the course id is deprecated
2.  filter out any ccx memberships that involve deprecated course ids (in case there are bad ccxs in the database)

Fix test failures and errors arising from incorrect code path execution

Create context manager to handle unwrapping and restoring ccx values for the modulestore wrapper, employ it throughout modulestore wrapper implementation
2015-06-12 00:01:24 -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
Sarina Canelake
e53b9c83d9 Use Django 1.4 @ensure_csrf_cookie method PLAT-664 2015-06-06 08:48:36 -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