Commit Graph

55 Commits

Author SHA1 Message Date
Michael Youngstrom
3221c2b91f Remove lms pytest shards 2019-02-12 11:03:46 -05:00
Giovanni Cimolin da Silva
8563cf437a Fix certificate api when retrieving certificates from deleted courses
This commit fixes a problem with the Certificates API that make it fail when trying to retrieve user certificates from courses that don't exist anymore.
The problem lies in the Certificate API not checking if the courses being retrieved by some user actually exist, to fix this, this commit improves the fault tolerance of the Certificates API.

This issue was found when investigating why a user profile page (/u/username) was returning 404's.
Turns out that LearnerAchievementsFragmentView used the certificates api to retrieve certificate information, which did not check if the course exists before trying to pull information from it, resulting in a cascade of errors that lead to a 404 on the user's profile page.

Signed-off-by: Giovanni Cimolin da Silva <giovannicimolin@gmail.com>
2019-01-11 11:40:00 -02:00
Jeremy Bowman
f1668c3e55 TE-2790 Fix microsite config leak in tests 2018-10-22 14:48:28 -04:00
Jeremy Bowman
ca3316962d TE-2524 Stop using nose.plugins - LMS 1 2018-07-31 13:03:18 -04:00
Waheed Ahmed
c2ad6f4002 Revert "Fix PDF cert gereration/regeneration and URLs." 2018-07-26 18:20:27 +05:00
Waheed Ahmed
23d1beedf7 Merge pull request #18285 from edx/waheed/LEARNER-4520-fix-pdf-certificates
Fix PDF cert gereration/regeneration and URLs.
2018-06-06 15:36:52 +05:00
Eric Fischer
247bb50ed2 s/django.core.urlresolvers/django.urls/g
Django 1.10 deprecation fix for Hackathon XIX
Addresses PLAT-1397
2018-06-05 13:59:09 -04:00
Waheed Ahmed
baf3e594be Fix PDF cert gereration/regeneration and URLs.
Since cert_html_view_enabled is deprecated and set default true,
PDF certificates are not appearing for learners and staff also
unable to regenerate them.

LEARNER-4520
2018-05-31 15:45:31 +05:00
Nimisha Asthagiri
dd20106c8b Quiet quality 2018-01-19 15:12:29 -05:00
Nimisha Asthagiri
2e9efe6472 Fix Certificates import and signals code 2018-01-19 15:12:28 -05:00
Jeremy Bowman
ca97e946a6 Switch to pytest for unit tests 2017-09-22 16:07:53 -04:00
Gregory Martin
c1dcb54a66 Update 'downloadable' status for mobile/other API 2017-09-07 14:25:01 -04:00
Gregory Martin
b19d80597c Update Task 2017-08-22 09:57:29 -04:00
Sofiya Semenova
76f1df6b0e EDUCATOR-526 Update view cert button to only appear after availability
date has passed
2017-08-15 11:57:28 -07:00
Andy Armstrong
79acb5c5be Reorder LMS imports using isort 2017-06-11 21:48:06 -04:00
Andy Armstrong
480cf57026 Improve test failure message 2017-05-05 15:12:21 -04:00
Diana Huang
e12a704cea Add new course dates fragment.
Also add it to the course home page.
2017-05-04 20:53:42 -04:00
Ned Batchelder
4a568476fd Remove a number of unneeded super()-delegation methods 2017-04-27 14:12:56 -04:00
Jillian Vogel
a5ba476935 Ensures that the following GeneratedCertificate fields are passed
through to the REST API:

* created_date: date/time the certificate was issued.
* is_passing: boolean flag denoting whether the certificate status is
  passing or non-passing.

And adds JwtAuthentication, so the Certificates REST API can be easily
accessed from Enterprise management commands.
2017-03-24 17:51:42 +10:30
David Ormsbee
2051c90924 Test Speedup: Isolate Modulestore Signals
There are a number of Django Signals that are on the modulestore's
SignalHandler class, such as SignalHandler.course_published. These
signals can trigger very expensive processes to occur, such as course
overview or block structures generation. Most of the time, the test
author doesn't care about these side-effects.

This commit does a few things:

* Converts the signals on SignalHandler to be instances of a new
  SwitchedSignal class, that allows signal sending to be disabled.

* Creates a SignalIsolationMixin helper similar in spirit to the
  CacheIsolationMixin, and adds it to the ModuleStoreIsolationMixin
  (and thus to ModuleStoreTestCase and SharedModuleStoreTestCase).

* Converts our various tests to use this new mechanism. In some cases,
  this means adjusting query counts downwards because they no longer
  have to account for publishing listener actions.

Modulestore generated signals are now muted by default during test runs.
Calls to send() them will result in no-ops. You can choose to enable
specific signals for a given subclass of ModuleStoreTestCase or
SharedModuleStoreTestCase by specifying an ENABLED_SIGNALS class
attribute, like the following example:

    from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase

    class MyPublishTestCase(ModuleStoreTestCase):
        ENABLED_SIGNALS = ['course_published', 'pre_publish']

You should take great care when disabling signals outside of a
ModuleStoreTestCase or SharedModuleStoreTestCase, since they can leak
out into other tests. Be sure to always clean up, and never disable
signals outside of testing. Because signals are essentially process
globals, it can have a lot of unpleasant side-effects if we start
mucking around with them during live requests.

Overall, this change has cut the total test execution time for
edx-platform by a bit over a third, though we still spend a lot in
pre-test setup during our test builds.

[PERF-413]
2017-02-23 10:31:16 -05:00
Simon Chen
6dbfb3261e Support the display of downloadable PDF course certs ECOM-5790 2016-12-08 16:52:36 -05:00
Calen Pennington
bc20a37c2b Simplify how shards are selected in CI 2016-08-03 16:23:02 -04:00
Saleem Latif
8ae92901ef 1. Merge microsites into Comprehensive Theming
2. Add site configuration overrides to theming/helpers.py
3. Move microsite.get_value from theming/helpers to site_configuration/helpers
4. Move microsite_configuration.microsite.get_value usages to site_configuration.helpers.values
2016-07-27 13:55:14 +05:00
Nimisha Asthagiri
1ada5c3487 Create Grades djangoapp
https://openedx.atlassian.net/browse/TNL-5008
2016-07-22 00:09:43 -04:00
Syed Hasan raza
01c8b3499c Merge pull request #12790 from edx/shr/bug/ECOM-4645-Certificate-exception-whitelisted-users
exception_handling_for_unverified_cert_status
2016-06-22 15:46:49 +05:00
Syed Hassan Raza
5f7cdcd30a exception_handling_for_unverified_cert_status 2016-06-22 13:33:40 +05:00
Awais
0bd1f4ccdd Adding logic to check if cert is invalidate then user cannot see the regen button.
ECOM-4217
2016-06-15 19:02:06 +05:00
Ben Patterson
707b682fe0 Revert "Adding logic to check if cert is invalidate then user cannot see the …" 2016-06-14 12:03:17 -04:00
Awais
112aa71fe0 Adding logic to check if cert is invalidate then user cannot see the regen button.
ECOM-4217
2016-06-11 15:26:30 +05: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
Giovanni Di Milia
090cefcf44 Added REST API for certificates in LMS (#12055) 2016-04-21 17:15:06 -04:00
Omar Khan
6fc4b38ea0 Disallow free verified course modes
The verification workflow assumes that all verified courses will have a
price. Free verified course modes cause a 404 when the user attempts to
enroll or upgrade.
2016-04-12 18:06:16 -07:00
Ben Patterson
c9e4a1d964 Revert "Disallow free verified course modes" 2016-04-06 13:58:41 -04:00
Omar Khan
0b4fa6e5a5 Disallow free verified course modes
The verification workflow assumes that all verified courses will have a
price. Free verified course modes cause a 404 when the user attempts to
enroll or upgrade.
2016-02-03 21:19:45 +07: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
Saleem Latif
475429c0a6 Web Certificates: Platform Branding integration 2015-12-22 11:50:15 +05:00
Zia Fazal
4f939f79f9 added new endpoint which renders certificate by uuid
fixed broken tests and added some optimisations

fixed migration history
2015-12-08 18:21:04 +05:00
Nimisha Asthagiri
a5ddc3bf0a Update Mobile API for PDF certificates and new Course Detail format.
MA-1767
2015-12-07 17:38:42 -05:00
Peter Fogg
8b97ca1b24 Merge pull request #10802 from edx/feature/remove-honor-code-certs
Remove default honor code.
2015-12-03 14:55:30 -05:00
Nimisha Asthagiri
0b90326470 MA-1667: Update Mobile API to support Web Certificates 2015-11-25 13:49:27 -05:00
Peter Fogg
497622d4b4 Switch default course mode to 'audit'.
ECOM-2972
2015-11-25 11:22:29 -05:00
Giovanni Di Milia
476f6821de Fixed pylint violation for files in lms/djangoapps/certificates 2015-10-15 12:01:36 -04:00
Matt Drayer
e1ee5ac6df mattdrayer/SOL-981: Integrate edx-organizations application
* asadiqbal08/SOL-1058: Add edx-organizations to certificate web view
  * Support organization logo asset management
  * Remove organization fields from Studio certificate configuration model

* SOL-981 pull request feedback fixes
2015-08-10 10:29:45 -04:00
Zia Fazal
57f1dc92b3 ziafazal/SOL-1021: Capture additional certificate configuration events
* Changed certificate_id to configuration_id
* Fix for acceptance test faiiure
* Add waits to bok choy tests

fix for flaky test
2015-07-14 11:12:09 +05:00
Matt Drayer
c25e37ea93 Merge pull request #8734 from edx/ziafazal/SOL-1011
ziafazal:SOL-1011: Certificate URL should use 'download_url' field and not 'verify_uuid'
2015-07-07 15:40:34 -04:00
Zia Fazal
ad1f4951fc get_certificate_url should return certificate download_url in case of non html certificates 2015-07-01 16:14:37 +05:00
Zia Fazal
bcbd1464d4 New course cannot be started till web certificate is active
fixed broken test

changes based on feedback on 6/24

fixed broken unit test after feedback changes

added more checks and updated tests

fixed broken bok choy test

Fixed pylint quality error

trying to fix pylint quality error
2015-06-29 12:53:21 +05:00
Matt Drayer
f0f3766443 mattdrayer/ECOM-1773: Fixed invalid URL reversal 2015-06-22 14:04:43 -04: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