Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
0f45724c
Commit
0f45724c
authored
Feb 03, 2015
by
Sarina Canelake
Committed by
Omar Al-Ithawi
Feb 04, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Convert shopping cart to use unicode lazy logging
Conflicts: lms/djangoapps/shoppingcart/views.py
parent
4e733c6e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
66 additions
and
37 deletions
+66
-37
lms/djangoapps/shoppingcart/tests/test_views.py
+34
-10
lms/djangoapps/shoppingcart/views.py
+32
-27
No files found.
lms/djangoapps/shoppingcart/tests/test_views.py
View file @
0f45724c
...
...
@@ -584,7 +584,9 @@ class ShoppingCartViewsTests(ModuleStoreTestCase):
resp
=
self
.
client
.
post
(
reverse
(
'shoppingcart.views.remove_item'
,
args
=
[]),
{
'id'
:
reg_item
.
id
})
debug_log
.
assert_called_with
(
'Code redemption does not exist for order item id={0}.'
.
format
(
reg_item
.
id
))
'Code redemption does not exist for order item id=
%
s.'
,
str
(
reg_item
.
id
)
)
self
.
assertEqual
(
resp
.
status_code
,
200
)
self
.
assertEquals
(
self
.
cart
.
orderitem_set
.
count
(),
0
)
...
...
@@ -604,7 +606,11 @@ class ShoppingCartViewsTests(ModuleStoreTestCase):
self
.
assertEqual
(
resp
.
status_code
,
200
)
self
.
assertEquals
(
self
.
cart
.
orderitem_set
.
count
(),
0
)
info_log
.
assert_called_with
(
'Coupon "{0}" redemption entry removed for user "{1}" for order item "{2}"'
.
format
(
self
.
coupon_code
,
self
.
user
,
reg_item
.
id
))
'Coupon "
%
s" redemption entry removed for user "
%
s" for order item "
%
s"'
,
self
.
coupon_code
,
self
.
user
,
str
(
reg_item
.
id
)
)
@patch
(
'shoppingcart.views.log.info'
)
def
test_reset_redemption_for_coupon
(
self
,
info_log
):
...
...
@@ -619,7 +625,10 @@ class ShoppingCartViewsTests(ModuleStoreTestCase):
self
.
assertEqual
(
resp
.
status_code
,
200
)
info_log
.
assert_called_with
(
'Coupon redemption entry removed for user {0} for order {1}'
.
format
(
self
.
user
,
reg_item
.
id
))
'Coupon redemption entry removed for user
%
s for order
%
s'
,
self
.
user
,
reg_item
.
id
)
@patch
(
'shoppingcart.views.log.info'
)
def
test_coupon_discount_for_multiple_courses_in_cart
(
self
,
info_log
):
...
...
@@ -648,7 +657,11 @@ class ShoppingCartViewsTests(ModuleStoreTestCase):
self
.
assertEqual
(
resp
.
status_code
,
200
)
self
.
assertEquals
(
self
.
cart
.
orderitem_set
.
count
(),
1
)
info_log
.
assert_called_with
(
'Coupon "{0}" redemption entry removed for user "{1}" for order item "{2}"'
.
format
(
self
.
coupon_code
,
self
.
user
,
reg_item
.
id
))
'Coupon "
%
s" redemption entry removed for user "
%
s" for order item "
%
s"'
,
self
.
coupon_code
,
self
.
user
,
str
(
reg_item
.
id
)
)
@patch
(
'shoppingcart.views.log.info'
)
def
test_delete_certificate_item
(
self
,
info_log
):
...
...
@@ -664,7 +677,10 @@ class ShoppingCartViewsTests(ModuleStoreTestCase):
self
.
assertEqual
(
resp
.
status_code
,
200
)
self
.
assertEquals
(
self
.
cart
.
orderitem_set
.
count
(),
1
)
info_log
.
assert_called_with
(
'order item {0} removed for user {1}'
.
format
(
cert_item
.
id
,
self
.
user
))
'order item
%
s removed for user
%
s'
,
str
(
cert_item
.
id
),
self
.
user
)
@patch
(
'shoppingcart.views.log.info'
)
def
test_remove_coupon_redemption_on_clear_cart
(
self
,
info_log
):
...
...
@@ -682,7 +698,10 @@ class ShoppingCartViewsTests(ModuleStoreTestCase):
self
.
assertEquals
(
self
.
cart
.
orderitem_set
.
count
(),
0
)
info_log
.
assert_called_with
(
'Coupon redemption entry removed for user {0} for order {1}'
.
format
(
self
.
user
,
reg_item
.
id
))
'Coupon redemption entry removed for user
%
s for order
%
s'
,
self
.
user
,
reg_item
.
id
)
def
test_add_course_to_cart_already_registered
(
self
):
CourseEnrollment
.
enroll
(
self
.
user
,
self
.
course_key
)
...
...
@@ -773,13 +792,18 @@ class ShoppingCartViewsTests(ModuleStoreTestCase):
{
'id'
:
cert_item
.
id
})
self
.
assertEqual
(
resp2
.
status_code
,
200
)
exception_log
.
assert_called_with
(
'Cannot remove cart OrderItem id={0}. DoesNotExist or item is already purchased'
.
format
(
cert_item
.
id
))
'Cannot remove cart OrderItem id=
%
s. DoesNotExist or item is already purchased'
,
str
(
cert_item
.
id
)
)
resp3
=
self
.
client
.
post
(
reverse
(
'shoppingcart.views.remove_item'
,
args
=
[]),
{
'id'
:
-
1
})
resp3
=
self
.
client
.
post
(
reverse
(
'shoppingcart.views.remove_item'
,
args
=
[]),
{
'id'
:
-
1
}
)
self
.
assertEqual
(
resp3
.
status_code
,
200
)
exception_log
.
assert_called_with
(
'Cannot remove cart OrderItem id={0}. DoesNotExist or item is already purchased'
.
format
(
-
1
))
'Cannot remove cart OrderItem id=
%
s. DoesNotExist or item is already purchased'
,
'-1'
)
@patch
(
'shoppingcart.views.process_postpay_callback'
,
postpay_mock
)
def
test_postpay_callback_success
(
self
):
...
...
lms/djangoapps/shoppingcart/views.py
View file @
0f45724c
...
...
@@ -81,7 +81,7 @@ def add_course_to_cart(request, course_id):
assert
isinstance
(
course_id
,
basestring
)
if
not
request
.
user
.
is_authenticated
():
log
.
info
(
"Anon user trying to add course {} to cart"
.
format
(
course_id
)
)
log
.
info
(
u"Anon user trying to add course
%
s to cart"
,
course_id
)
return
HttpResponseForbidden
(
_
(
'You must be logged-in to add to a shopping cart'
))
cart
=
Order
.
get_cart_for_user
(
request
.
user
)
course_key
=
SlashSeparatedCourseKey
.
from_deprecated_string
(
course_id
)
...
...
@@ -131,7 +131,7 @@ def update_user_cart(request):
try
:
item
=
OrderItem
.
objects
.
get
(
id
=
item_id
,
status
=
'cart'
)
except
OrderItem
.
DoesNotExist
:
log
.
exception
(
'Cart OrderItem id={item_id} DoesNotExist'
.
format
(
item_id
=
item_id
)
)
log
.
exception
(
u'Cart OrderItem id=
%
s DoesNotExist'
,
item_id
)
return
HttpResponseNotFound
(
'Order item does not exist.'
)
item
.
qty
=
qty
...
...
@@ -200,10 +200,11 @@ def clear_cart(request):
coupon_redemption
=
CouponRedemption
.
objects
.
filter
(
user
=
request
.
user
,
order
=
cart
.
id
)
if
coupon_redemption
:
coupon_redemption
.
delete
()
log
.
info
(
u'Coupon redemption entry removed for user
%(user)
s for order
%(order_id)
s'
,
{
"user"
:
request
.
user
,
"order_id"
:
cart
.
id
,
})
log
.
info
(
u'Coupon redemption entry removed for user
%
s for order
%
s'
,
request
.
user
,
cart
.
id
,
)
return
HttpResponse
(
'Cleared'
)
...
...
@@ -219,17 +220,20 @@ def remove_item(request):
items
=
OrderItem
.
objects
.
filter
(
id
=
item_id
,
status
=
'cart'
)
.
select_subclasses
()
if
not
len
(
items
):
log
.
exception
(
'Cannot remove cart OrderItem id={item_id}. DoesNotExist or item is already purchased'
.
format
(
item_id
=
item_id
))
log
.
exception
(
u'Cannot remove cart OrderItem id=
%
s. DoesNotExist or item is already purchased'
,
item_id
)
else
:
item
=
items
[
0
]
if
item
.
user
==
request
.
user
:
order_item_course_id
=
getattr
(
item
,
'course_id'
)
item
.
delete
()
log
.
info
(
u'order item
%(item_id)
s removed for user
%(user)
s'
,
{
"item_id"
:
item_id
,
"user"
:
request
.
user
,
})
log
.
info
(
u'order item
%
s removed for user
%
s'
,
item_id
,
request
.
user
,
)
remove_code_redemption
(
order_item_course_id
,
item_id
,
item
,
request
.
user
)
item
.
order
.
update_order_type
()
...
...
@@ -249,13 +253,14 @@ def remove_code_redemption(order_item_course_id, item_id, item, user):
order
=
item
.
order_id
)
coupon_redemption
.
delete
()
log
.
info
(
u'Coupon "
%(code)
s" redemption entry removed for user "
%(user)
s" for order item "
%(item_id)
s"'
,
{
"code"
:
coupon_redemption
.
coupon
.
code
,
"user"
:
user
,
"item_id"
:
item_id
,
})
log
.
info
(
u'Coupon "
%
s" redemption entry removed for user "
%
s" for order item "
%
s"'
,
coupon_redemption
.
coupon
.
code
,
user
,
item_id
,
)
except
CouponRedemption
.
DoesNotExist
:
log
.
debug
(
'Code redemption does not exist for order item id={item_id}.'
.
format
(
item_id
=
item_id
)
)
log
.
debug
(
u'Code redemption does not exist for order item id=
%
s.'
,
item_id
)
@login_required
...
...
@@ -318,7 +323,7 @@ def get_reg_code_validity(registration_code, request, limiter):
reg_code_already_redeemed
=
True
if
not
reg_code_is_valid
:
#tick the rate limiter counter
#
tick the rate limiter counter
AUDIT_LOG
.
info
(
"Redemption of a non existing RegistrationCode {code}"
.
format
(
code
=
registration_code
))
limiter
.
tick_bad_request_counter
(
request
)
raise
Http404
()
...
...
@@ -439,7 +444,7 @@ def use_registration_code(course_reg, user):
and redirects the user to the Registration code redemption page.
"""
if
RegistrationCodeRedemption
.
is_registration_code_redeemed
(
course_reg
):
log
.
warning
(
"Registration code '{registration_code}' already used"
.
format
(
registration_code
=
course_reg
.
code
)
)
log
.
warning
(
u"Registration code '
%
s' already used"
,
course_reg
.
code
)
return
HttpResponseBadRequest
(
_
(
"Oops! The code '{registration_code}' you entered is either invalid or expired"
)
.
format
(
registration_code
=
course_reg
.
code
...
...
@@ -449,8 +454,7 @@ def use_registration_code(course_reg, user):
cart
=
Order
.
get_cart_for_user
(
user
)
cart_items
=
cart
.
find_item_by_course_id
(
course_reg
.
course_id
)
except
ItemNotFoundInCartException
:
log
.
warning
(
"Course item does not exist against registration code '{registration_code}'"
.
format
(
registration_code
=
course_reg
.
code
))
log
.
warning
(
u"Course item does not exist against registration code '
%
s'"
,
course_reg
.
code
)
return
HttpResponseNotFound
(
_
(
"Code '{registration_code}' is not valid for any course in the shopping cart."
)
.
format
(
registration_code
=
course_reg
.
code
...
...
@@ -489,7 +493,7 @@ def use_coupon_code(coupons, user):
return
HttpResponseBadRequest
(
_
(
"Only one coupon redemption is allowed against an order"
))
if
not
is_redemption_applied
:
log
.
warning
(
"Discount does not exist against code '{code}'."
.
format
(
code
=
coupons
[
0
]
.
code
)
)
log
.
warning
(
u"Discount does not exist against code '
%
s'."
,
coupons
[
0
]
.
code
)
return
HttpResponseNotFound
(
_
(
"Discount does not exist against code '{code}'."
)
.
format
(
code
=
coupons
[
0
]
.
code
))
return
HttpResponse
(
...
...
@@ -568,10 +572,11 @@ def donate(request):
# Course ID may be None if this is a donation to the entire organization
Donation
.
add_to_order
(
cart
,
amount
,
course_id
=
course_id
)
except
InvalidCartItem
as
ex
:
log
.
exception
((
u"Could not create donation item for "
u"amount '{amount}' and course ID '{course_id}'"
)
.
format
(
amount
=
amount
,
course_id
=
course_id
))
log
.
exception
(
u"Could not create donation item for amount '
%
s' and course ID '
%
s'"
,
amount
,
course_id
)
return
HttpResponseBadRequest
(
unicode
(
ex
))
# Start the purchase.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment