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
9292741f
Commit
9292741f
authored
7 years ago
by
John Eskew
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add a proper get_queryset() method to remove _default_manager access.
Remove the now-unused custom model manager for coupons.
parent
f097b714
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
26 deletions
+9
-26
lms/djangoapps/shoppingcart/admin.py
+7
-7
lms/djangoapps/shoppingcart/models.py
+0
-17
lms/djangoapps/shoppingcart/tests/test_views.py
+2
-2
No files found.
lms/djangoapps/shoppingcart/admin.py
View file @
9292741f
...
...
@@ -21,13 +21,13 @@ class SoftDeleteCouponAdmin(admin.ModelAdmin):
readonly_fields
=
(
'created_at'
,)
actions
=
[
'really_delete_selected'
]
def
queryset
(
self
,
request
):
"""
Returns a QuerySet of all model instances that can be edited by the
admin site. This is used by changelist_view. """
# Default: qs = self.model._default_manager.get_active_coupons_query_set()
# Queryset with all the coupons including the soft-deletes: qs = self.model._default_manager.get_queryset()
q
uery_string
=
self
.
model
.
_default_manager
.
get_active_coupons_queryset
()
# pylint: disable=protected-access
return
q
uery_string
def
get_
queryset
(
self
,
request
):
"""
Returns a QuerySet of all model instances that can be edited by the
admin site - used by changelist_view.
"""
q
s
=
super
(
SoftDeleteCouponAdmin
,
self
)
.
get_queryset
(
request
)
return
q
s
.
filter
(
is_active
=
True
)
def
get_actions
(
self
,
request
):
actions
=
super
(
SoftDeleteCouponAdmin
,
self
)
.
get_actions
(
request
)
...
...
This diff is collapsed.
Click to expand it.
lms/djangoapps/shoppingcart/models.py
View file @
9292741f
...
...
@@ -1309,21 +1309,6 @@ class RegistrationCodeRedemption(models.Model):
return
code_redemption
class
SoftDeleteCouponManager
(
models
.
Manager
):
""" Use this manager to get objects that have a is_active=True """
def
get_active_coupons_queryset
(
self
):
"""
filter the is_active = True Coupons only
"""
return
super
(
SoftDeleteCouponManager
,
self
)
.
get_queryset
()
.
filter
(
is_active
=
True
)
def
get_queryset
(
self
):
"""
get all the coupon objects
"""
return
super
(
SoftDeleteCouponManager
,
self
)
.
get_queryset
()
class
Coupon
(
models
.
Model
):
"""
This table contains coupon codes
...
...
@@ -1344,8 +1329,6 @@ class Coupon(models.Model):
def
__unicode__
(
self
):
return
"[Coupon] code: {} course: {}"
.
format
(
self
.
code
,
self
.
course_id
)
objects
=
SoftDeleteCouponManager
()
@property
def
display_expiry_date
(
self
):
"""
...
...
This diff is collapsed.
Click to expand it.
lms/djangoapps/shoppingcart/tests/test_views.py
View file @
9292741f
...
...
@@ -572,7 +572,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
messages
=
FallbackStorage
(
request
)
request
.
_messages
=
messages
# pylint: disable=protected-access
coupon_admin
=
SoftDeleteCouponAdmin
(
Coupon
,
AdminSite
())
test_query_set
=
coupon_admin
.
queryset
(
request
)
test_query_set
=
coupon_admin
.
get_
queryset
(
request
)
test_actions
=
coupon_admin
.
get_actions
(
request
)
self
.
assertIn
(
'really_delete_selected'
,
test_actions
[
'really_delete_selected'
])
self
.
assertEqual
(
get_coupon
.
is_active
,
True
)
...
...
@@ -585,7 +585,7 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
coupon
=
Coupon
(
code
=
'TestCode123'
,
description
=
'testing123'
,
course_id
=
self
.
course_key
,
percentage_discount
=
22
,
created_by
=
self
.
user
,
is_active
=
True
)
coupon
.
save
()
test_query_set
=
coupon_admin
.
queryset
(
request
)
test_query_set
=
coupon_admin
.
get_
queryset
(
request
)
coupon_admin
.
really_delete_selected
(
request
,
test_query_set
)
for
coupon
in
test_query_set
:
self
.
assertEqual
(
coupon
.
is_active
,
False
)
...
...
This diff is collapsed.
Click to expand it.
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