Commit f5508179 by Clinton Blackburn

Disabled result count on admin pages for models with a large number of rows (#783)

parent 28525c3f
...@@ -5,11 +5,13 @@ from django.utils.translation import ugettext_lazy as _ ...@@ -5,11 +5,13 @@ from django.utils.translation import ugettext_lazy as _
from ecommerce.core.models import BusinessClient, SiteConfiguration, User from ecommerce.core.models import BusinessClient, SiteConfiguration, User
@admin.register(SiteConfiguration)
class SiteConfigurationAdmin(admin.ModelAdmin): class SiteConfigurationAdmin(admin.ModelAdmin):
list_display = ('site', 'partner', 'lms_url_root', 'theme_scss_path', 'payment_processors') list_display = ('site', 'partner', 'lms_url_root', 'theme_scss_path', 'payment_processors')
search_fields = ['site__name'] search_fields = ['site__name']
@admin.register(User)
class EcommerceUserAdmin(UserAdmin): class EcommerceUserAdmin(UserAdmin):
list_display = ('username', 'email', 'full_name', 'first_name', 'last_name', 'is_staff') list_display = ('username', 'email', 'full_name', 'first_name', 'last_name', 'is_staff')
fieldsets = ( fieldsets = (
...@@ -19,11 +21,9 @@ class EcommerceUserAdmin(UserAdmin): ...@@ -19,11 +21,9 @@ class EcommerceUserAdmin(UserAdmin):
'groups', 'user_permissions')}), 'groups', 'user_permissions')}),
(_('Important dates'), {'fields': ('last_login', 'date_joined')}), (_('Important dates'), {'fields': ('last_login', 'date_joined')}),
) )
show_full_result_count = False
@admin.register(BusinessClient) @admin.register(BusinessClient)
class BusinessClientAdmin(admin.ModelAdmin): class BusinessClientAdmin(admin.ModelAdmin):
pass pass
admin.site.register(SiteConfiguration, SiteConfigurationAdmin)
admin.site.register(User, EcommerceUserAdmin)
...@@ -3,6 +3,8 @@ from oscar.apps.basket.admin import * # noqa pylint: disable=wildcard-import,un ...@@ -3,6 +3,8 @@ from oscar.apps.basket.admin import * # noqa pylint: disable=wildcard-import,un
Basket = get_model('basket', 'basket') Basket = get_model('basket', 'basket')
PaymentProcessorResponse = get_model('payment', 'PaymentProcessorResponse') PaymentProcessorResponse = get_model('payment', 'PaymentProcessorResponse')
admin.site.unregister((Basket, Line,))
class PaymentProcessorResponseInline(admin.TabularInline): class PaymentProcessorResponseInline(admin.TabularInline):
model = PaymentProcessorResponse model = PaymentProcessorResponse
...@@ -15,9 +17,12 @@ class PaymentProcessorResponseInline(admin.TabularInline): ...@@ -15,9 +17,12 @@ class PaymentProcessorResponseInline(admin.TabularInline):
return False return False
@admin.register(Basket)
class BasketAdminExtended(BasketAdmin): class BasketAdminExtended(BasketAdmin):
inlines = (LineInline, PaymentProcessorResponseInline,) inlines = (LineInline, PaymentProcessorResponseInline,)
show_full_result_count = False
admin.site.unregister(Basket) @admin.register(Line)
admin.site.register(Basket, BasketAdminExtended) class LineAdminExtended(LineAdmin):
show_full_result_count = False
from oscar.apps.catalogue.admin import * # pylint: disable=unused-import,wildcard-import,unused-wildcard-import from oscar.apps.catalogue.admin import * # pylint: disable=unused-import,wildcard-import,unused-wildcard-import
from simple_history.admin import SimpleHistoryAdmin from simple_history.admin import SimpleHistoryAdmin
admin.site.unregister((Product, ProductAttributeValue,))
@admin.register(Product)
class ProductAdminExtended(SimpleHistoryAdmin): class ProductAdminExtended(SimpleHistoryAdmin):
list_display = ('get_title', 'upc', 'get_product_class', 'structure', 'attribute_summary', 'date_created', 'course', list_display = ('get_title', 'upc', 'get_product_class', 'structure', 'attribute_summary', 'date_created', 'course',
'expires',) 'expires',)
prepopulated_fields = {"slug": ("title",)} prepopulated_fields = {"slug": ("title",)}
inlines = [AttributeInline, CategoryInline, ProductRecommendationInline] inlines = [AttributeInline, CategoryInline, ProductRecommendationInline]
show_full_result_count = False
admin.site.unregister(Product) @admin.register(ProductAttributeValue)
admin.site.register(Product, ProductAdminExtended)
class ProductAttributeValueAdminExtended(SimpleHistoryAdmin): class ProductAttributeValueAdminExtended(SimpleHistoryAdmin):
list_display = ('product', 'attribute', 'value') list_display = ('product', 'attribute', 'value')
show_full_result_count = False
admin.site.unregister(ProductAttributeValue)
admin.site.register(ProductAttributeValue, ProductAttributeValueAdminExtended)
from oscar.apps.order.admin import * # noqa pylint: disable=wildcard-import,unused-wildcard-import from oscar.apps.order.admin import * # noqa pylint: disable=wildcard-import,unused-wildcard-import
Order = get_model('order', 'Order') admin.site.unregister((Order, Line, LinePrice, PaymentEvent, OrderDiscount,))
@admin.register(Order)
class OrderAdminExtended(OrderAdmin): class OrderAdminExtended(OrderAdmin):
readonly_fields = ('basket',) + OrderAdmin.readonly_fields readonly_fields = ('basket',) + OrderAdmin.readonly_fields
show_full_result_count = False
admin.site.unregister(Order) @admin.register(Line)
admin.site.register(Order, OrderAdminExtended) class LineAdminExtended(LineAdmin):
show_full_result_count = False
@admin.register(LinePrice)
class LinePriceAdminExtended(LinePriceAdmin):
show_full_result_count = False
@admin.register(PaymentEvent)
class PaymentEventAdminExtended(PaymentEventAdmin):
show_full_result_count = False
@admin.register(OrderDiscount)
class OrderDiscountAdminExtended(OrderDiscountAdmin):
show_full_result_count = False
from pprint import pformat from pprint import pformat
from django.contrib import admin
from django.utils.html import format_html from django.utils.html import format_html
from oscar.apps.payment.admin import * # noqa pylint: disable=wildcard-import,unused-wildcard-import,wrong-import-position
from oscar.core.loading import get_model from oscar.core.loading import get_model
PaymentProcessorResponse = get_model('payment', 'PaymentProcessorResponse') PaymentProcessorResponse = get_model('payment', 'PaymentProcessorResponse')
@admin.register(PaymentProcessorResponse)
class PaymentProcessorResponseAdmin(admin.ModelAdmin): class PaymentProcessorResponseAdmin(admin.ModelAdmin):
list_filter = ('processor_name',) list_filter = ('processor_name',)
search_fields = ('id', 'processor_name', 'transaction_id',) search_fields = ('id', 'processor_name', 'transaction_id',)
list_display = ('id', 'processor_name', 'transaction_id', 'basket', 'created') list_display = ('id', 'processor_name', 'transaction_id', 'basket', 'created')
fields = ('processor_name', 'transaction_id', 'basket', 'formatted_response') fields = ('processor_name', 'transaction_id', 'basket', 'formatted_response')
readonly_fields = ('processor_name', 'transaction_id', 'basket', 'formatted_response') readonly_fields = ('processor_name', 'transaction_id', 'basket', 'formatted_response')
show_full_result_count = False
def formatted_response(self, obj): def formatted_response(self, obj):
pretty_response = pformat(obj.response) pretty_response = pformat(obj.response)
...@@ -21,9 +23,3 @@ class PaymentProcessorResponseAdmin(admin.ModelAdmin): ...@@ -21,9 +23,3 @@ class PaymentProcessorResponseAdmin(admin.ModelAdmin):
return format_html('<br><br><pre>{}</pre>', pretty_response) return format_html('<br><br><pre>{}</pre>', pretty_response)
formatted_response.allow_tags = True formatted_response.allow_tags = True
admin.site.register(PaymentProcessorResponse, PaymentProcessorResponseAdmin)
# noinspection PyUnresolvedReferences
from oscar.apps.payment.admin import * # noqa pylint: disable=wildcard-import,unused-wildcard-import,wrong-import-position
from django.contrib import admin from django.contrib import admin
from oscar.core.loading import get_model from oscar.core.loading import get_model
Refund = get_model('refund', 'Refund') Refund = get_model('refund', 'Refund')
RefundLine = get_model('refund', 'RefundLine') RefundLine = get_model('refund', 'RefundLine')
...@@ -13,13 +12,12 @@ class RefundLineInline(admin.TabularInline): ...@@ -13,13 +12,12 @@ class RefundLineInline(admin.TabularInline):
extra = 0 extra = 0
@admin.register(Refund)
class RefundAdmin(admin.ModelAdmin): class RefundAdmin(admin.ModelAdmin):
list_display = ('id', 'order', 'user', 'status', 'total_credit_excl_tax', 'currency') list_display = ('id', 'order', 'user', 'status', 'total_credit_excl_tax', 'currency')
list_filter = ('status',) list_filter = ('status',)
show_full_result_count = False
fields = ('order', 'user', 'status', 'total_credit_excl_tax', 'currency') fields = ('order', 'user', 'status', 'total_credit_excl_tax', 'currency')
readonly_fields = ('order', 'user', 'total_credit_excl_tax', 'currency') readonly_fields = ('order', 'user', 'total_credit_excl_tax', 'currency')
inlines = (RefundLineInline,) inlines = (RefundLineInline,)
admin.site.register(Refund, RefundAdmin)
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