ce94a094ea65f9069ecf2226eab2d7b917190992
[wolnelektury.git] / src / club / admin.py
1 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
2 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
3 #
4 from django.contrib import admin
5 from modeltranslation.admin import TranslationAdmin
6 from . import models
7
8
9 class PlanAdmin(admin.ModelAdmin):
10     list_display = ['min_amount', 'interval']
11
12 admin.site.register(models.Plan, PlanAdmin)
13
14
15 class PayUOrderInline(admin.TabularInline):
16     model = models.PayUOrder
17     extra = 0
18     show_change_link = True
19
20
21 class PayUCardTokenInline(admin.TabularInline):
22     model = models.PayUCardToken
23     extra = 0
24     show_change_link = True
25
26
27 class ScheduleAdmin(admin.ModelAdmin):
28     list_display = ['email', 'started_at', 'expires_at', 'plan', 'amount', 'is_cancelled']
29     list_search = ['email']
30     list_filter = ['is_cancelled']
31     date_hierarchy = 'started_at'
32     raw_id_fields = ['membership']
33     inlines = [PayUOrderInline, PayUCardTokenInline]
34
35 admin.site.register(models.Schedule, ScheduleAdmin)
36
37
38 class ScheduleInline(admin.TabularInline):
39     model = models.Schedule
40     extra = 0
41     show_change_link = True
42
43 class MembershipAdmin(admin.ModelAdmin):
44     list_display = ['user']
45     raw_id_fields = ['user']
46     search_fields = ['user__username', 'user__email', 'schedule__email']
47     inlines = [ScheduleInline]
48
49 admin.site.register(models.Membership, MembershipAdmin)
50
51
52 admin.site.register(models.ReminderEmail, TranslationAdmin)
53
54
55 admin.site.register(models.PayUNotification)