Commit c375666d by Julia Hansbrough

Added new copy, small CR fixes

* Changed text for "Are you sure you want to refund"...
* Addressed a CR comment adding clarity to student view code
* Converted UTC to pytz.utc
parent 81661385
...@@ -470,9 +470,7 @@ def change_enrollment(request): ...@@ -470,9 +470,7 @@ def change_enrollment(request):
) )
elif action == "unenroll": elif action == "unenroll":
try: if not CourseEnrollment.is_enrolled(user, course_id):
CourseEnrollment.enrollment_mode_for_user(user, course_id)
except CourseEnrollment.DoesNotExist:
return HttpResponseBadRequest(_("You are not enrolled in this course")) return HttpResponseBadRequest(_("You are not enrolled in this course"))
CourseEnrollment.unenroll(user, course_id) CourseEnrollment.unenroll(user, course_id)
org, course_num, run = course_id.split("/") org, course_num, run = course_id.split("/")
......
...@@ -8,7 +8,7 @@ import courseware.access as access ...@@ -8,7 +8,7 @@ import courseware.access as access
from courseware.tests.tests import TEST_DATA_MIXED_MODULESTORE from courseware.tests.tests import TEST_DATA_MIXED_MODULESTORE
from .factories import CourseEnrollmentAllowedFactory from .factories import CourseEnrollmentAllowedFactory
import datetime import datetime
from django.utils.timezone import UTC import pytz
from student.tests.factories import UserFactory from student.tests.factories import UserFactory
from xmodule.modulestore.tests.factories import CourseFactory from xmodule.modulestore.tests.factories import CourseFactory
...@@ -81,7 +81,7 @@ class AccessTestCase(TestCase): ...@@ -81,7 +81,7 @@ class AccessTestCase(TestCase):
# TODO: override DISABLE_START_DATES and test the start date branch of the method # TODO: override DISABLE_START_DATES and test the start date branch of the method
u = Mock() u = Mock()
d = Mock() d = Mock()
d.start = datetime.datetime.now(UTC()) - datetime.timedelta(days=1) # make sure the start time is in the past d.start = datetime.datetime.now(pytz.utc) - datetime.timedelta(days=1) # make sure the start time is in the past
# Always returns true because DISABLE_START_DATES is set in test.py # Always returns true because DISABLE_START_DATES is set in test.py
self.assertTrue(access._has_access_descriptor(u, d, 'load')) self.assertTrue(access._has_access_descriptor(u, d, 'load'))
...@@ -89,8 +89,8 @@ class AccessTestCase(TestCase): ...@@ -89,8 +89,8 @@ class AccessTestCase(TestCase):
def test__has_access_course_desc_can_enroll(self): def test__has_access_course_desc_can_enroll(self):
u = Mock() u = Mock()
yesterday = datetime.datetime.now(UTC()) - datetime.timedelta(days=1) yesterday = datetime.datetime.now(pytz.utc) - datetime.timedelta(days=1)
tomorrow = datetime.datetime.now(UTC()) + datetime.timedelta(days=1) tomorrow = datetime.datetime.now(pytz.utc) + datetime.timedelta(days=1)
c = Mock(enrollment_start=yesterday, enrollment_end=tomorrow, enrollment_domain='') c = Mock(enrollment_start=yesterday, enrollment_end=tomorrow, enrollment_domain='')
# User can enroll if it is between the start and end dates # User can enroll if it is between the start and end dates
...@@ -118,7 +118,7 @@ class AccessTestCase(TestCase): ...@@ -118,7 +118,7 @@ class AccessTestCase(TestCase):
# Non-staff cannot enroll outside the open enrollment period if not specifically allowed # Non-staff cannot enroll outside the open enrollment period if not specifically allowed
def test__has_access_refund(self): def test__has_access_refund(self):
today = datetime.datetime.now(UTC()) today = datetime.datetime.now(pytz.utc)
one_day_extra = datetime.timedelta(days=1) one_day_extra = datetime.timedelta(days=1)
user = UserFactory.create() user = UserFactory.create()
......
...@@ -20,7 +20,7 @@ from student.tests.factories import UserFactory ...@@ -20,7 +20,7 @@ from student.tests.factories import UserFactory
from student.models import CourseEnrollment from student.models import CourseEnrollment
from course_modes.models import CourseMode from course_modes.models import CourseMode
from shoppingcart.exceptions import PurchasedCallbackException from shoppingcart.exceptions import PurchasedCallbackException
from django.utils.timezone import UTC import pytz
import datetime import datetime
...@@ -384,7 +384,7 @@ class CertificateItemTest(ModuleStoreTestCase): ...@@ -384,7 +384,7 @@ class CertificateItemTest(ModuleStoreTestCase):
mode_slug="verified", mode_slug="verified",
mode_display_name="verified cert", mode_display_name="verified cert",
min_price=self.cost, min_price=self.cost,
expiration_date=(datetime.datetime.now(UTC()).date() + many_days)) expiration_date=(datetime.datetime.now(pytz.utc).date() + many_days))
course_mode.save() course_mode.save()
CourseEnrollment.enroll(self.user, course_id, 'verified') CourseEnrollment.enroll(self.user, course_id, 'verified')
...@@ -407,7 +407,7 @@ class CertificateItemTest(ModuleStoreTestCase): ...@@ -407,7 +407,7 @@ class CertificateItemTest(ModuleStoreTestCase):
mode_slug="verified", mode_slug="verified",
mode_display_name="verified cert", mode_display_name="verified cert",
min_price=self.cost, min_price=self.cost,
expiration_date=(datetime.datetime.now(UTC()).date() + many_days)) expiration_date=(datetime.datetime.now(pytz.utc).date() + many_days))
course_mode.save() course_mode.save()
CourseEnrollment.enroll(self.user, course_id, 'verified') CourseEnrollment.enroll(self.user, course_id, 'verified')
...@@ -436,12 +436,12 @@ class CertificateItemTest(ModuleStoreTestCase): ...@@ -436,12 +436,12 @@ class CertificateItemTest(ModuleStoreTestCase):
CertificateItem.add_to_order(cart, course_id, self.cost, 'verified') CertificateItem.add_to_order(cart, course_id, self.cost, 'verified')
cart.purchase() cart.purchase()
course_mode.expiration_date = (datetime.datetime.now(UTC()).date() - many_days) course_mode.expiration_date = (datetime.datetime.now(pytz.utc).date() - many_days)
course_mode.save() course_mode.save()
CourseEnrollment.unenroll(self.user, course_id) CourseEnrollment.unenroll(self.user, course_id)
target_certs = CertificateItem.objects.filter(course_id=course_id, user_id=self.user, status='refunded', mode='verified') target_certs = CertificateItem.objects.filter(course_id=course_id, user_id=self.user, status='refunded', mode='verified')
self.assertEqual(len(target_certs),0) self.assertEqual(len(target_certs), 0)
def test_refund_cert_no_cert_exists(self): def test_refund_cert_no_cert_exists(self):
# If there is no paid certificate, the refund callback should return nothing # If there is no paid certificate, the refund callback should return nothing
......
...@@ -142,11 +142,11 @@ ...@@ -142,11 +142,11 @@
% endif % endif
% if enrollment.mode != "verified": % if enrollment.mode != "verified":
<a href="#unenroll-modal" class="unenroll" rel="leanModal" data-course-id="${course.id}" data-course-number="${course.number}" onclick="document.getElementById('refund-info').innerHTML=''">${_('Unregister')}</a> <a href="#unenroll-modal" class="unenroll" rel="leanModal" data-course-id="${course.id}" data-course-number="${course.number}" onclick="document.getElementById('track-info').innerHTML='Are you sure you want to unregister from'; document.getElementById('refund-info').innerHTML=''">${_('Unregister')}</a>
% elif show_refund_option: % elif show_refund_option:
<a href="#unenroll-modal" class="unenroll" rel="leanModal" data-course-id="${course.id}" data-course-number="${course.number}" onclick="document.getElementById('refund-info').innerHTML=gettext('You will be refunded the amount you paid.')">${_('Unregister')}</a> <a href="#unenroll-modal" class="unenroll" rel="leanModal" data-course-id="${course.id}" data-course-number="${course.number}" onclick="document.getElementById('track-info').innerHTML='Are you sure you want to unregister from the verified certificate track of'; document.getElementById('refund-info').innerHTML=gettext('You will be refunded the amount you paid.')">${_('Unregister')}</a>
% else: % else:
<a href="#unenroll-modal" class="unenroll" rel="leanModal" data-course-id="${course.id}" data-course-number="${course.number}" onclick="document.getElementById('refund-info').innerHTML=gettext('The refund deadline for this course has passed, so you will not receive a refund.')">${_('Unregister')}</a> <a href="#unenroll-modal" class="unenroll" rel="leanModal" data-course-id="${course.id}" data-course-number="${course.number}" onclick="document.getElementById('track-info').innerHTML='Are you sure you want to unregister from the verified certificate track of'; document.getElementById('refund-info').innerHTML=gettext('The refund deadline for this course has passed, so you will not receive a refund.')">${_('Unregister')}</a>
% endif % endif
% if show_email_settings: % if show_email_settings:
...@@ -163,7 +163,7 @@ ...@@ -163,7 +163,7 @@
<div class="inner-wrapper" role="alertdialog" aria-labelledy="unenrollment-modal-title"> <div class="inner-wrapper" role="alertdialog" aria-labelledy="unenrollment-modal-title">
<button class="close-modal">&#10005; <span class="sr">${_('Close Modal')}</span></button> <button class="close-modal">&#10005; <span class="sr">${_('Close Modal')}</span></button>
<header> <header>
<h2 id="unenrollment-modal-title">${_('Are you sure you want to unregister from {course_number}? <span id="refund-info"></span>').format(course_number='<span id="unenroll_course_number"></span>')}<span class="sr">, ${_("modal open")}</span></h2> <h2 id="unenrollment-modal-title">${_('<span id="track-info"></span> {course_number}? <span id="refund-info"></span>').format(course_number='<span id="unenroll_course_number"></span>')}<span class="sr">, ${_("modal open")}</span></h2>
refund refund
<hr/> <hr/>
</header> </header>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment