Commit Graph

523 Commits

Author SHA1 Message Date
Matt Drayer
fc77a6eae7 Merge pull request #10363 from edx/saleem-latif/SOL-1315
SOL-1315: Add Cert Exception UI on Instructor Dash
2015-11-03 10:09:19 -05:00
Saleem Latif
99bd47e9a8 Add Cert Exception UI on Instructor Dash 2015-11-03 12:52:22 +05:00
Eric Fischer
08ed3b547f CohortMemberships Unit Test Updates
Updating previously-existing unit tests to function with the new
CohortMembership model.
2015-10-30 11:07:25 -04:00
Afzal Wali
5a11f75a48 Add the ability for self-service course survey reports 2015-10-29 13:26:28 -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
Saleem Latif
12b245a386 Remove milestones when instructor clears a student's entry exam data 2015-10-19 12:39:22 +05:00
Chris Dodge
8609f80db0 Add email and manual enrollment reason into the Enrollment Report 2015-10-06 22:34:54 -04:00
Diana Huang
7bfb1127f5 Merge pull request #9771 from edx/diana/add-team-to-reports
Add team column to grade reports.
2015-10-02 09:35:25 -04:00
Diana Huang
a53903c46a Add team column to grade reports. 2015-09-23 12:21:13 -04:00
Awais Jibran
13e8761aa4 In cohort courses, student progress pages differ from the grade report.
TNL-3204
2015-09-18 23:43:26 +05:00
muhammad-ammar
6a5ce5d544 Upgrade factory_boy
TNL-3179
2015-09-18 18:02:38 +05:00
Tim Krones
df5b2dadda Move functionality for exporting a CSV of all student answers to a given
problem from legacy instructor dash to new instructor dash.
2015-08-17 22:32:49 +02:00
Chris Dodge
6cf5516a84 Integration of edx_proctoring into the LMS 2015-08-13 19:08:50 -04:00
Ned Batchelder
f54fe787c6 Remove needless 'disable=no-member' pragmas 2015-08-03 17:47:44 -04:00
Zia Fazal
b5c32ec4f1 ziafazal/SOL-980: Fix error while generating certificates 2015-07-15 12:21:50 -04:00
Sven Marnach
3d7246ecc8 Allow masquerading as a specific user different from the logged in user. 2015-07-13 18:55:45 -07:00
Sarina Canelake
ba8fd1c21d Eliminate instances of unused-import Pylint violation 2015-07-13 17:33:25 -04:00
David Ormsbee
79de77cf95 Optimize grading/progress page to reduce database queries (cache max scores).
The progress page did a number of things that make performance terrible for
courses with large numbers of problems, particularly if those problems are
customresponse CapaModule problems that need to be executed via codejail.

The grading code takes pains to not instantiate student state and execute the
problem code. If a student has answered the question, the max score is stored
in StudentModule. However, if the student hasn't attempted the question yet, we
have to run the problem code just to call .max_score() on it. This is necessary
in grade() if the student has answered other problems in the assignment (so we
can know what to divide by). This is always necessary to know in
progress_summary() because we list out every problem there. Code execution can
be especially slow if the problems need to invoke codejail.

To address this, we create a MaxScoresCache that will cache the max raw score
possible for every problem. We select the cache keys so that it will
automatically become invalidated when a new version of the course is published.

The fundamental assumption here is that a problem cannot have two different
max score values for two unscored students. A problem *can* score two students
differently such that they have different max scores. So Carlos can have 2/3 on
a problem, while Lyla gets 3/4. But if neither Carlos nor Lyla has ever
interacted with the problem (i.e. they're just seeing it on their progress
page), they must both see 0/4 -- it cannot be the case that Carlos sees 0/3 and
Lyla sees 0/4.

We used to load all student state into two separate FieldDataCache instances,
after which we do a bunch of individual queries for scored items. Part of this
split-up was done because of locking problems, but I think we might have gotten
overzealous with our manual transaction hammer.

In this commit, we consolidate all state access in grade() and progress()
to use one shared FieldDataCache. We also use a filter so that we only pull
back StudentModule state for things that might possibly affect the grade --
items that either have scores or have children.

Because some older XModules do work in their __init__() methods (like Video),
instantiating them takes time, particularly on large courses. This commit also
changes the code that fetches the grading_context to filter out children that
can't possibly affect the grade.

Finally, we introduce a ScoresClient that also tries to fetch score
information all at once, instead of in separate queries. Technically, we are
fetching this information redundantly, but that's because the state and score
interfaces are being teased apart as we move forward. Still, this only
amounts to one extra SQL query, and has very little impact on performance
overall.

Much thanks to @adampalay -- his hackathon work in #7168 formed the basis of
this.

https://openedx.atlassian.net/browse/CSM-17
2015-07-09 10:03:58 -04:00
Matt Drayer
fd7a99db0b mattdrayer/num-queries-fix: Update query value to reflect new reality 2015-07-07 16:41:15 -04:00
Ned Batchelder
cb0624bfa1 Correct parent references in one test. 2015-07-02 19:31:48 -04:00
Matt Drayer
289ec980a5 mattdrayer/update-num-queries-check: Modify value to reflect improved workflow(s) 2015-07-02 18:03:57 -04:00
Zia Fazal
611d16b25a ziafazal/SOL-980: Generate certificates from instructor dashboard
* added generate certificates task and bok choy tests
* added unit tests
* changes based feedback and improved acceptance test
* Change header text
* changes based on feedback on 24/6
* added task_id to api output
* fixed broken test
* Remove "Instructor" from strings, per Docs team
* Fixed flaky entrance exam test
2015-07-02 14:32:36 -04:00
Chris Dodge
61aa3505a3 fix price per seat 2015-06-19 10:27:53 -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
Afzal Wali
0569a770ea Executive Summary Report 2015-06-16 14:48:16 -04:00
Tim Krones
f711a32e3d TNL-1652: Allow instructors to obtain CSV file listing students who may
enroll in a course but have not signed up yet.
2015-06-04 20:50:04 +02:00
Muhammad Shoaib
65c4f1df89 SOL-236 Manual Enrollments 2015-06-02 13:19:32 -04:00
cahrens
4d4e260964 Fix bug when student scoring error occurs with no message.
TNL-2251
2015-05-28 16:49:02 -04:00
Muhammad Shoaib
b555c869bf SOL-794 Detailed Enrollment Report
- added the abstract and concrete layers of enrollment report provider
- created a celery task.
-added the button in the e-commerce reports section

added the enrollment data backend

added the payment data and start writing the test cases.

updated the code with the feedback suggestions and wrote some test cases.
- all the downloadable reports are now visible in the ecommerce download section.
Pending instructor tasks is also visible in the ecommerce section

added the fields in the user profile information
changed the report store configuration key
added the new http endpoint for financial reports to add more permissions for finance_admin to access.

fix quality issues

added test cases to check csv content data

rebased with master and resolved conflicts

changed the log messages

added the changes as per code clintonb suggestions during code review

updated the test cases for the finance_admin decorator

changes suggested by clinton.

Created and moved Table level filters to the Custom Manager for the CourseEnrollment model.

ecommerce.js file was loaded twice in the instructor_dashboard.js fixed the issues

added the registration code column in the csv

added the full gender in the csv file

Update data sources and add display name translations for the report columns

fix meta name

Make sure the reports section does not appear on non whitelabel courses

pylint fixes

expand out enumerated values
2015-05-22 15:16:57 -04:00
Diana Huang
ac8b75ca7f Merge pull request #7804 from edx/diana/progress-summary-refactor
Implement the Weighted Problem Grade Report
2015-05-13 09:10:02 -04:00
Daniel Friedman
3acd7a008c Refactor and add tests for new grade report.
* Handle grading errors
2015-05-13 06:58:02 -04:00
Daniel Friedman
84f3c33df7 Address doc review 2015-05-12 16:32:01 -04:00
Daniel Friedman
67fdca1847 Monitor performance through datadog 2015-05-12 16:32:01 -04:00
Andy Armstrong
2fafaec053 Implement grade report analytics
TNL-1988
2015-05-12 16:32:01 -04:00
Daniel Friedman
9269ec3b00 Add new instructor task for weighted problems 2015-05-12 16:32:00 -04:00
Adam Palay
801ee67e63 add more logging to grading 2015-05-11 11:55:55 -04:00
muhammad-ammar
3bb7a2508d Add certificate columns to existing grade report
TNL-1886
2015-05-05 17:43:08 +05:00
Adam Palay
afb2dae631 Revert "Revert "use different queue for smaller emails (TNL-1591)""
This reverts commit 228cca4e38ec79f5cbb54098c788ab9556f602e2.
2015-04-15 12:03:23 -04:00
Adam Palay
9fa8187ffc Revert "use different queue for smaller emails (TNL-1591)"
This reverts commit c2e5bd3d98.
2015-04-08 12:33:09 -04:00
Adam
a8bd6dc32d Merge pull request #7570 from edx/adam/bulk-email-changes
use different queue for smaller emails (TNL-1591)
2015-04-06 10:01:51 -04:00
Adam Palay
c2e5bd3d98 use different queue for smaller emails (TNL-1591) 2015-04-06 08:13:55 -04:00
louyihua
0d0d1a0ccd Ignore pylint error 7610 (translation-of-non-string) on where it is intended to do
As some i18n features need ```ugettext``` or its shorcut ```_``` to be called on a non-string-literal, so the pylint check of ```translation-of-non-string``` should be explicitly disabled in such situations.
2015-04-03 11:59:53 +08:00
Usman Khalid
d59be9949e Use cohort settings from CourseCohortSettings.
TNL-1258
2015-03-23 09:43:00 +05:00
Adam Palay
b5c4b6388c Merge remote-tracking branch 'origin/release' into adam/merge-release-to-master
Conflicts:
	common/djangoapps/cors_csrf/helpers.py
	common/djangoapps/enrollment/views.py
	lms/djangoapps/commerce/constants.py
	lms/djangoapps/commerce/tests.py
	lms/djangoapps/commerce/views.py
2015-03-19 16:30:46 -04:00
zubair-arbi
ae2480e038 update instructor grade task state and increase logging 2015-03-19 07:52:22 -04:00
Ned Batchelder
7d799e34f3 Remove unused imports 2015-03-17 07:10:31 -04:00
Andy Armstrong
37dd0ec840 Merge pull request #7327 from edx/andya/preferences-api
Implement full preferences API
2015-03-17 00:57:01 -04:00
Andy Armstrong
6976a33a85 Add the preferences endpoint to the User API
TNL-1493

See https://openedx.atlassian.net/wiki/display/TNL/User+API for details
2015-03-16 23:34:35 -04:00
stv
f03b943b95 Fix Pylint: W0612(unused-variable) 2015-03-13 20:20:05 -07:00
Zia Fazal
e21ff20375 backend changes based on feedback
Conflicts:
	lms/djangoapps/courseware/courses.py
	lms/djangoapps/instructor_task/api.py

refined entrance exam student attempts reset

Quality improvements 1/16

added rescore, delete state and task history functionality

added unit tests for entrance exam reset attempts

added unit tests for re scoring of entrance exam and task history

improved test coverage

Got rid of pep violation

feedback changes and added jasmine test

added more jasmine tests for Javascript changes

added bok-choy tests for UI changes

replaced input containing <p> tags with <label>

Removed ee element assertions to avoid js error

Added call to super.setUp()

changes based on feedback on 2/18

Writing tests in JS instead of coffee script

commit related to skip entrance exam 2/13

fixed bad-continuation quality error

fixed broken bok-choy test

changes based on feedback on 2/18

added js tests and removed coffee script tests

fixed broken bok-choy and unit tests

changes left while rebasing

rephrase test titles

do not need these libs

changes based on feedback on 2/24

changes text which was left

Changes based on feedback on 3/3
2015-03-04 15:32:56 +05:00