Merge pull request #17898 from edx/ahsan/Revert-LEARNER-1487

Revert "Send email to learners to inform verification status"
This commit is contained in:
adeel khan
2018-04-07 02:03:54 +05:00
committed by GitHub
4 changed files with 1 additions and 74 deletions

View File

@@ -1668,7 +1668,6 @@ class TestPhotoVerificationResultsCallback(ModuleStoreTestCase):
self.attempt.save()
self.receipt_id = self.attempt.receipt_id
self.client = Client()
self.client.login(username=self.user.username, password='test')
def mocked_has_valid_signature(method, headers_dict, body_dict, access_key, secret_key): # pylint: disable=no-self-argument, unused-argument
"""
@@ -1780,30 +1779,6 @@ class TestPhotoVerificationResultsCallback(ModuleStoreTestCase):
attempt = SoftwareSecurePhotoVerification.objects.get(receipt_id=self.receipt_id)
self.assertEqual(attempt.status, u'approved')
self.assertEquals(response.content, 'OK!')
self.assertEqual(len(mail.outbox), 1)
@mock.patch(
'lms.djangoapps.verify_student.utils.send_mail',
mock.Mock(side_effect=Exception())
)
def test_verification_status_email_not_sent(self):
"""
Test email is not sent in case of exception
"""
data = {
"EdX-ID": self.receipt_id,
"Result": "PASS",
"Reason": "",
"MessageType": "You have been verified."
}
json_data = json.dumps(data)
self.client.post(
reverse('verify_student_results_callback'), data=json_data,
content_type='application/json',
HTTP_AUTHORIZATION='test BBBBBBBBBBBBBBBBBBBB:testing',
HTTP_DATE='testdate'
)
self.assertEqual(len(mail.outbox), 0)
@mock.patch(
'lms.djangoapps.verify_student.ssencrypt.has_valid_signature',

View File

@@ -8,45 +8,10 @@ import logging
import pytz
from django.conf import settings
from django.core.mail import send_mail
from django.utils.translation import ugettext as _
from edxmako.shortcuts import render_to_string
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
log = logging.getLogger(__name__)
def send_verification_status_email(context):
"""
Send an email to inform learners about their verification status
"""
current_date = datetime.datetime.now()
date = "{}/{}/{}".format(current_date.month, current_date.day, current_date.year)
email_template_context = {
'full_name': context['user'].profile.name,
'platform_name': configuration_helpers.get_value("PLATFORM_NAME", settings.PLATFORM_NAME),
'date': date
}
subject = context['subject']
message = render_to_string(context['message'], email_template_context)
from_address = configuration_helpers.get_value('email_from_address', settings.DEFAULT_FROM_EMAIL)
to_address = context['user'].email
try:
send_mail(subject, message, from_address, [to_address], fail_silently=False)
except: # pylint: disable=bare-except
# We catch all exceptions and log them.
# It would be much, much worse to roll back the transaction due to an uncaught
# exception than to skip sending the notification email.
log.exception(
_("Could not send verification status email having {subject} subject for user {user}").format(
subject=context['subject'],
user=context['user'].id
))
def is_verification_expiring_soon(expiration_datetime):
"""
Returns True if verification is expiring within EXPIRING_SOON_WINDOW.

View File

@@ -37,7 +37,7 @@ from lms.djangoapps.verify_student.image import InvalidImageData, decode_image_d
from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification, VerificationDeadline
from lms.djangoapps.verify_student.services import IDVerificationService
from lms.djangoapps.verify_student.ssencrypt import has_valid_signature
from lms.djangoapps.verify_student.utils import is_verification_expiring_soon, send_verification_status_email
from lms.djangoapps.verify_student.utils import is_verification_expiring_soon
from openedx.core.djangoapps.commerce.utils import ecommerce_api_client
from openedx.core.djangoapps.embargo import api as embargo_api
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
@@ -1154,16 +1154,10 @@ def results_callback(request):
except SoftwareSecurePhotoVerification.DoesNotExist:
log.error("Software Secure posted back for receipt_id %s, but not found", receipt_id)
return HttpResponseBadRequest("edX ID {} not found".format(receipt_id))
context = {'user': request.user}
if result == "PASS":
log.debug("Approving verification for %s", receipt_id)
attempt.approve()
status = "approved"
context['subject'] = _("Your {platform_name} ID Verification Approved").format(
platform_name=settings.PLATFORM_NAME
)
context['message'] = 'emails/successfull_verification_email.txt'
send_verification_status_email(context)
elif result == "FAIL":
log.debug("Denying verification for %s", receipt_id)

View File

@@ -1,7 +0,0 @@
<%! from django.utils.translation import ugettext as _ %>
${_("Hi {full_name},").format(full_name=full_name)}
${_("Congratulations! Your ID verification process was successful.")}
${_("Your verification is effective for one year. It will expire on {date}").format(date=date)}