Commit Graph

88 Commits

Author SHA1 Message Date
bmedx
9d9c199d48 LMS urls cleanup for Django 1.11
- Remove usage of django.urls.patterns
- Change urls tuples to lists
- Make all string view names callables
- This is the first of several urls updates for LMS; a work in progress
2017-11-07 11:55:57 -05:00
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
Gregory Martin
b19d80597c Update Task 2017-08-22 09:57:29 -04:00
Andy Armstrong
79acb5c5be Reorder LMS imports using isort 2017-06-11 21:48:06 -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
Brandon DeRosier
8c3224b4f0 Finish implementing CCX coach as staff 2016-10-07 11:53:32 -04:00
Nimisha Asthagiri
1ada5c3487 Create Grades djangoapp
https://openedx.atlassian.net/browse/TNL-5008
2016-07-22 00:09:43 -04:00
Nimisha Asthagiri
02e6925275 Update grades to use Block Structures 2016-06-23 20:22:31 -04:00
Simon Chen
e6137dd6af ECOM-4007 Prevent the issuing of HC certs to verified learners that haven't ID verified 2016-05-23 11:44:14 -04:00
Awais Jibran
d18f3f6c98 Improve logging in cert gen.
ECOM-3688
2016-02-25 14:57:31 +05:00
Peter Fogg
2d028f8246 Add an explicit cutoff date for audit cert granting.
The previous logic was a convoluted way of doing the same thing, and
has already led to one bug. Instead of hoping that the bugs are ironed
out now and that future devs maintain this logic properly, let's just
set a real cutoff date.
2016-02-10 12:16:37 -05:00
Peter Fogg
711e2e7f3c Correctly set certificate status for audit certs when regenerating.
COR-2403
2016-02-04 17:23:20 -05:00
Peter Fogg
96cc38951d Disable audit certificates for new audit enrollments.
Two new certificate statuses are introduced, 'audit_passing' and
'audit_notpassing'. These signal that the GeneratedCertificate is not
to be displayed as a cert to the user, and that they either passed or
did not. This allows us to retain existing grading logic, as well as
maintaining correctness in analytics and reporting.

Ineligible certificates are hidden by using the
`eligible_certificates` manager on GeneratedCertificate. Some places
in the coe (largely reporting, analytics, and management commands) use
the default `objects` manager, since they need access to all
certificates.

ECOM-3040
ECOM-3515
2016-01-22 10:27:55 -05:00
Peter Fogg
52d538444e Revert "Disable audit certificates for new audit enrollments."
This reverts commit 60860e3aa8.
2016-01-20 09:53:58 -05:00
Peter Fogg
b5400aa79b Revert "Ensure old audit certs don't get marked ineligible."
This reverts commit 54c349b437.
2016-01-20 08:56:48 -05:00
Peter Fogg
d0694aac75 Revert "Correctly query for any generated certificate, not just eligible ones."
This reverts commit ee13ffd149.
2016-01-20 08:56:39 -05:00
Peter Fogg
ee13ffd149 Correctly query for any generated certificate, not just eligible ones. 2016-01-19 12:01:04 -05:00
Peter Fogg
54c349b437 Ensure old audit certs don't get marked ineligible. 2016-01-14 14:40:54 -05:00
Peter Fogg
bea90c1a01 Allow certificates with 'auditing' status to be regenerated.
ECOM-3401
2016-01-13 16:12:43 -05:00
Peter Fogg
60860e3aa8 Disable audit certificates for new audit enrollments.
An `eligible_for_certificate` field is added to the
GeneratedCertificate model. This way we can retain existing grading
logic, as well as maintaining correctness in analytics and reporting.

Ineligible certificates are hidden by using the
`eligible_certificates` manager on GeneratedCertificate. Some places
in the coe (largely reporting, analytics, and management commands) use
the default `objects` manager, since they need access to all
certificates.

This commit also updates the DB cache for acceptance tests.
2016-01-12 22:44:53 -05:00
Ned Batchelder
f5d0f3ff55 Remove useless pylint suppressions 2015-11-22 07:41:19 -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
Awais
0ca586f65b If enrollment mode is credit then upgrade message should not appear.
Fixing certificates for credit mode.
ECOM-1988
2015-09-29 20:56:32 +05:00
Will Daly
ad9d9eb04e Support team UI for regenerating certificates
* Add new role for support staff.
* Move dashboard/support functionality into a new Django app called "support".
* Add support view for searching and regenerating certificates.
* Refactor certificates views into separate files.
2015-08-12 07:09:46 -07:00
Zia Fazal
588a4e64ed generate verify_uuid for web based certificates also 2015-07-27 17:09:38 +05:00
Awais
4d5a4b035d ECOM-1683 removing regen-cert code. 2015-06-16 20:08:57 +05:00
Zia Fazal
6afaa3cce3 certificates event tracking
some optimisations

refactored code and added created event

added test to make sure generate event is emitted

changes based on feedback on 6/11

added certificate web page and tests

fixed quality violations
2015-06-15 19:53:47 +05:00
Zia Fazal
20800ea561 refactored code to make certificate PDF generation optional
improved coverage

refactoring based on feedback

fixed quality violations

changes based on feedback
2015-06-08 12:42:07 +05:00
Awais
d0df626685 ECOM-1494 removing code from models. 2015-05-27 16:32:26 +05:00
Awais
19ab698f4c ECOM-1284 enabling re-generate certs. 2015-04-30 14:15:33 +05:00
Will Daly
749269a311 Merge pull request #7218 from edx/will/student-cert-xqueue-error
Certificate status when XQueue is unavailable.
2015-03-06 11:36:48 -05:00
David Baumgold
dca05a6095 Merge branch 'release' 2015-03-06 08:54:22 -05:00
Will Daly
ebb2d031f9 Certificate status when XQueue is unavailable.
If certificates cannot be added to the queue,
mark the certificate status as 'error' so that
it can be re-run by management commands.

Clean up logging and return values.
2015-03-05 14:18:33 -05:00
Will Daly
d1b9bbf211 Fix callback URL for certificate generation tasks 2015-03-05 13:52:23 -05:00
Will Daly
13cb2c2834 ECOM-1142: Management command for error certs.
Add a management comand to regenerate certificates with
status 'error', optionally restricted to a subset
of courses.
2015-03-04 07:51:38 -05:00
Will Daly
9530021b3f ECOM-1139: Example certificates.
Add the ability to generate "example" certificates to
test that certificate generation is working correctly for a course.

Add the ability to enable/disable self-generated certificates
on a per-course basis.
2015-03-02 15:13:26 -05:00
Will Daly
a8df217a32 Add info-level logging for the management commands used to generate certificates. 2015-02-04 19:41:27 -05:00
Sarina Canelake
7e36c35043 Merge branch 'release' 2014-06-11 21:30:05 -04:00
Calen Pennington
f6ea16223b Allow users that have unregistered from a verified course to re-register.
Fixes LMS-2830
2014-06-11 12:37:53 -04:00
Joe Blaylock
277dcb1113 Bugfix certificates request queue HTML flattening 2014-06-06 09:31:46 -07:00
Julia Hansbrough
6ccb11f03e Change Location, CourseLocator, etc to reference opaque-keys library 2014-05-30 20:32:38 +00:00
Calen Pennington
4c3c8a9a2e Fix certificate requests 2014-05-21 16:10:16 -04:00
Calen Pennington
c72b0bb293 Resolve merge conflicts relative to master 2014-05-09 15:31:20 -04:00
Calen Pennington
155ffe37ca Merge remote-tracking branch 'edx/master' into opaque-keys-merge-master
Conflicts:
	cms/djangoapps/contentstore/views/item.py
	cms/djangoapps/contentstore/views/tests/test_container.py
	cms/djangoapps/contentstore/views/tests/test_tabs.py
	common/lib/xmodule/xmodule/modulestore/mongo/draft.py
	lms/djangoapps/certificates/management/commands/gen_cert_report.py
	lms/djangoapps/certificates/queue.py
	lms/djangoapps/certificates/views.py
	lms/djangoapps/courseware/module_render.py
	lms/djangoapps/courseware/tests/test_module_render.py
	lms/djangoapps/instructor/views/api.py
	lms/djangoapps/instructor/views/instructor_dashboard.py
	lms/djangoapps/instructor/views/legacy.py
	lms/djangoapps/shoppingcart/tests/test_models.py
	lms/djangoapps/verify_student/views.py
2014-05-09 15:29:32 -04:00
Calen Pennington
cd746bf8e5 Make course ids and usage ids opaque to LMS and Studio [partial commit]
This commit adds the non-courseware lms/djangoapps and lms/lib.

These keys are now objects with a limited interface, and the particular
internal representation is managed by the data storage layer (the
modulestore).

For the LMS, there should be no outward-facing changes to the system.
The keys are, for now, a change to internal representation only. For
Studio, the new serialized form of the keys is used in urls, to allow
for further migration in the future.

Co-Author: Andy Armstrong <andya@edx.org>
Co-Author: Christina Roberts <christina@edx.org>
Co-Author: David Baumgold <db@edx.org>
Co-Author: Diana Huang <dkh@edx.org>
Co-Author: Don Mitchell <dmitchell@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
Co-Author: Sarina Canelake <sarina@edx.org>

[LMS-2370]
2014-05-08 12:09:23 -04:00
Joe Blaylock
ae8847cd6e Certificates: URL endpoint for cert gen
* API endpoint for certificate generation, an authenticated  post with course
  id requests that grading be carried out and a cert generated for
  request.user in that course, using the usual grading and certificate
  machinery (ie, it does not imply whitelisting, though whitelists and
  blacklists will be respected)
  - Logs each request as it comes in
  - Calls xq.add_cert() and consequently, does grading synchronously on
    this app host and then queues request for certificate agent.
  - example usage:
    ```
    curl --data "student_id=9999&course_id=Stanford/2013/Some_Class" http://127.0.0.1:8000/request_certificate
    ```

* Studio advanced setting added, "certificates_show_before_end", which
  determines whether a course should permit certificates to be downloadable
  by students before the coures's end date has passed.
  - Modifications to dashboard view and templates to allow display of
    certificate download links before course has ended.
    (XXX: may declare failing students as failing before the course has ended.)
  - To test, turn the setting on in a course which hasn't ended yet, and
    force certificate generation for a student, then check their
    dashboard.
2014-05-02 14:34:21 -07:00
Joe Blaylock
c5834eb6a2 Certs: pass course name on queue
Stanford had a problem a few times that certificate requests had
different values for the course display name and the course name printed
on the certificate and verification pages because of human error. This
passes the course display name on the queue to the certificate requests,
so that at least one place where the course name is reproduced (the
certificate agent's settings.py) can be eliminated.
2014-04-29 15:35:00 -07:00
Joe Blaylock
b8b86527b0 Certificates: Additional flags for regenerate_user
* -G allows explicit setting of grade condition (e.g., a string such as
  'Distinction', 'Pass', 'F', 'B') for the certificate, regardless of
  grader output for the user.
* -T allows explicit request of a particular certificate template to be
  applied to a given user's certificate regeneration, i.e.:
    -T doctor_distinction.pdf
  to generate a certificate of distinction for doctors.
2014-03-18 10:57:10 -07:00