text: from django.contrib import admin
  
  from oscar.apps.promotions.models import Image, MultiImage, RawHTML, HandPickedProductList, OrderedProduct, AutomaticProductList, TabbedBlock, \
                                    PagePromotion, KeywordPromotion
  
  
  class OrderProductInline(admin.TabularInline):
      model = OrderedProduct
      
  class HandPickedProductListAdmin(admin.ModelAdmin):
      inlines = [OrderProductInline]
  
  class PagePromotionAdmin(admin.ModelAdmin):
      list_display = ['page_url', 'content_object', 'position']
      exclude = ['clicks']
      
      def get_form(self, request, obj=None, **kwargs):
          form = super(PagePromotionAdmin,self).get_form(request, obj, **kwargs)
          # Only allow links to models within the promotions app
          form.base_fields['content_type'].queryset = form.base_fields['content_type'].queryset.filter(app_label='promotions')
          return form
  
  class KeywordPromotionAdmin(admin.ModelAdmin):
      list_display = ['keyword', 'position', 'clicks']
      readonly_fields = ['clicks']
  
  
  admin.site.register(Image)
  admin.site.register(MultiImage)
  admin.site.register(RawHTML)
  admin.site.register(HandPickedProductList, HandPickedProductListAdmin)
  admin.site.register(AutomaticProductList)
  admin.site.register(TabbedBlock)
  admin.site.register(PagePromotion, PagePromotionAdmin)
  admin.site.register(KeywordPromotion, KeywordPromotionAdmin)
  
  
  