regluit/admin.py

102 lines
2.9 KiB
Python

from django.contrib.auth.models import User
from django.contrib.admin import ModelAdmin
from django.contrib.admin.sites import AdminSite
from regluit.core import models
from regluit import payment
from djcelery.admin import TaskState, WorkerState, TaskMonitor, WorkerMonitor, \
IntervalSchedule, CrontabSchedule, PeriodicTask, PeriodicTaskAdmin
class RegluitAdmin(AdminSite):
login_template = 'registration/login.html'
class UserAdmin(ModelAdmin):
pass
class ClaimAdmin(ModelAdmin):
date_hierarchy = 'created'
class RightsHolderAdmin(ModelAdmin):
date_hierarchy = 'created'
class PremiumAdmin(ModelAdmin):
date_hierarchy = 'created'
class CampaignAdmin(ModelAdmin):
date_hierarchy = 'created'
class WorkAdmin(ModelAdmin):
search_fields = ('title',)
ordering = ('title',)
list_display = ('title', 'created')
date_hierarchy = 'created'
fields = ('title',)
class AuthorAdmin(ModelAdmin):
date_hierarchy = 'created'
ordering = ('name',)
class SubjectAdmin(ModelAdmin):
date_hierarchy = 'created'
ordering = ('name',)
class EditionAdmin(ModelAdmin):
list_display = ('title', 'publisher', 'created')
date_hierarchy = 'created'
ordering = ('title',)
class EbookAdmin(ModelAdmin):
date_hierarchy = 'created'
ordering = ('edition__title',)
class WishlistAdmin(ModelAdmin):
date_hierarchy = 'created'
class UserProfileAdmin(ModelAdmin):
date_hierarchy = 'created'
class CeleryTaskAdmin(ModelAdmin):
pass
class TransactionAdmin(ModelAdmin):
date_hierarchy = 'date_created'
class PaymentResponseAdmin(ModelAdmin):
pass
class ReceiverAdmin(ModelAdmin):
ordering = ('email',)
admin_site = RegluitAdmin("Admin")
admin_site.register(models.User, UserAdmin)
admin_site.register(models.Work, WorkAdmin)
admin_site.register(models.Claim, ClaimAdmin)
admin_site.register(models.RightsHolder, RightsHolderAdmin)
admin_site.register(models.Premium, PremiumAdmin)
admin_site.register(models.Campaign, CampaignAdmin)
admin_site.register(models.Author, AuthorAdmin)
admin_site.register(models.Subject, SubjectAdmin)
admin_site.register(models.Edition, EditionAdmin)
admin_site.register(models.Ebook, EbookAdmin)
admin_site.register(models.Wishlist, WishlistAdmin)
admin_site.register(models.UserProfile, UserProfileAdmin)
admin_site.register(models.CeleryTask, CeleryTaskAdmin)
# payments
admin_site.register(payment.models.Transaction, TransactionAdmin)
admin_site.register(payment.models.PaymentResponse, PaymentResponseAdmin)
admin_site.register(payment.models.Receiver, ReceiverAdmin)
# add the djcelery admin interface
# https://raw.github.com/ask/django-celery/2.4/djcelery/admin.py
admin_site.register(TaskState, TaskMonitor)
admin_site.register(WorkerState, WorkerMonitor)
admin_site.register(IntervalSchedule)
admin_site.register(CrontabSchedule)
admin_site.register(PeriodicTask, PeriodicTaskAdmin)