Пример #1
0

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)
Пример #2
0

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)
Пример #3
0
                       '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"