Commit Graph

117 Commits

Author SHA1 Message Date
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
Don Mitchell
81a92e4bfc Consolidate course_id triple parsing 2014-02-24 11:45:59 -05:00
Frances Botsford
6c7d715e0e re-verification dashboard styles 2014-01-31 21:48:35 +00:00
Julia Hansbrough
85030467ed Skeleton for follow-on verification behavior
Quick-and-dirty end-to-end flow, functional for at least the case of one course in need of re-verification.

Ready for design to start taking a look; still needs tests and code cleanup
2014-01-31 21:08:24 +00:00
Diana Huang
8d564f219d Use Choices to track possible modes. 2013-11-22 11:22:49 -05:00
Diana Huang
d72b61a5b0 Use class methods to find the enrollment mode. 2013-11-19 17:30:27 -05:00
Diana Huang
1656876699 If student has not passed verification, issue an honor code cert.
Also, display a message on their dashboard.
2013-11-19 17:12:49 -05:00
Diana Huang
fc46efb6c7 Fix bug in grabbing course enrollments.
LMS-1475
2013-11-19 14:03:05 -05:00
John Jarvis
2fed61814a fixing some typos 2013-11-15 13:35:55 -05:00
John Jarvis
2a31e3567e sending template pdf with certificate request 2013-11-15 13:35:54 -05:00
John Jarvis
ff8c58f5ee adds a new option to ungenerated_certs to use http in the callback url 2013-11-01 11:49:12 -04:00
Joe Blaylock
9e76c6120b Merge pull request #1286 from edx/jrbl/certs-single-user
Certificates: Add regeneration command
2013-10-24 11:59:32 -07:00
Joe Blaylock
5b3af20ba1 Pass student grade label to certification process 2013-10-15 15:02:16 -04:00
Joe Blaylock
8ef8fc8281 Certificates: Add regeneration command
* Adds regenerate_user command, which lets you run certificates for one
  particular user in one particular class, regardless of whether they
  have a pre-existing certificate.
2013-10-09 12:24:35 -07:00
Calen Pennington
7d79f4fe37 Move mitxmako initialization to a startup module, called by lms.startup and cms.startup for both management commands and when run via wsgi
[DEVPAIN-7]
2013-08-28 10:56:07 -04:00
John Jarvis
f6d7cc5516 save the cert record immediately after we set the status
There was a potential though unlikely race condition because the .save()
was after the certificate request was put on the queue.

Now calling .save() immediately after we update the
cert.
2013-06-27 15:57:51 -04:00
David Ormsbee
e1b071be30 Initialize MakoMiddleware manually during certificate grading runs.
Without this, problems fail to load because they can't find how to
render themselves, and the certificate generation grading run will
get an inaccurately low count of the possible points a user could
get (anything they didn't see will be omitted), inflating their
grade during certificate calculation and making it inconsistent
with their Progress page.
2013-06-19 14:39:02 -04:00
Chris Dodge
8fef830740 optimize db round trips, by getting the course descriptor outside of the user loop 2013-04-01 14:02:54 -04:00
Calen Pennington
cfae1cdf62 Pep8 autofixes 2013-02-06 11:13:50 -05:00
John Jarvis
3a6d45e716 Grade a student even if they are on the restricted list 2013-01-29 11:13:30 -05:00
John Jarvis
415ebec879 renaming whitelist to is_whitelisted 2013-01-29 10:24:29 -05:00
John Jarvis
dbc0f353c5 cert_status temporary assignment removed 2013-01-29 10:22:58 -05:00