class BannerImageAdmin(BaseModelAdmin): change_list_template = 'smuggler/change_list.html' list_display = ('banner', 'color', 'size', 'locale', 'image') list_editable = ('color', 'image') list_filter = ('banner', 'color', 'locale') site.register(BannerImage, BannerImageAdmin) class BannerInstanceAdmin(BaseModelAdmin): list_display = ('badge', 'user_display_name', 'image', 'clicks') list_filter = ('badge', 'image') readonly_fields = ('clicks', 'created') search_fields = ('badge', 'user') def user_display_name(self, instance): user = instance.user url = reverse('admin:auth_user_change', args=[user.id]) return '<a href="%s">%s</a>' % (url, user.userprofile.display_name) user_display_name.allow_tags = True site.register(BannerInstance, BannerInstanceAdmin) class BannerInstanceStats(ModelStats): display_name = 'BannerInstances created' datetime_field = 'created' filters = ['badge', 'image__locale'] site.register_stats(BannerInstance, BannerInstanceStats)
class CategoryAdmin(BaseModelAdmin): change_list_template = 'smuggler/change_list.html' site.register(Category, CategoryAdmin) class SubcategoryAdmin(BaseModelAdmin): change_list_template = 'smuggler/change_list.html' site.register(Subcategory, SubcategoryAdmin) class BadgePreviewInline(admin.TabularInline): """ Inline editor that lets you add localized preview images directly from a badge's admin page. """ model = BadgePreview extra = 0 class ClickStatsDisplay(ModelStats): display_name = 'Banner clicks' datetime_field = 'datetime' filters = ['badge_instance__badge'] default_interval = 'months' def default_start(self): return datetime.now() - timedelta(days=100) site.register_stats(ClickStats, ClickStatsDisplay)
'country', 'leaderboard_position', 'id', 'total_clicks') fieldsets = ( (None, { 'fields': ('full_name', 'id', 'first_name', 'last_name', 'locale', 'country') }), ('Leaderboard', {'fields': ('leaderboard_position', 'total_clicks')}), ) site.register(FacebookUser, FacebookUserAdmin) class FacebookBannerInstanceStats(ModelStats): display_name = 'FacebookBannerInstances created' datetime_field = 'created' filters = ['banner', 'user__country'] site.register_stats(FacebookBannerInstance, FacebookBannerInstanceStats) class FacebookClickStatsDisplay(ModelStats): display_name = 'FacebookBanner clicks' datetime_field = 'hour' filters = ['banner_instance__banner', 'banner_instance__user__country'] default_interval = 'hours' def default_start(self): return datetime.now() - timedelta(days=7) site.register_stats(FacebookClickStats, FacebookClickStatsDisplay) class FacebookUserStats(ModelStats): display_name = "App authorizations"