X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/d527b63f5320d32e5c598354fd60ebc00d88d7bb..7010b5cb6b4e4380d9e23add9c7c98431b6e3f95:/src/club/admin.py diff --git a/src/club/admin.py b/src/club/admin.py index b0c20c2c5..2c56a7327 100644 --- a/src/club/admin.py +++ b/src/club/admin.py @@ -3,16 +3,18 @@ # import json from django.contrib import admin +from django.db.models.functions import Now +from django.db.models import Q from django.utils.html import conditional_escape from django.utils.safestring import mark_safe +from django.utils.translation import gettext_lazy as _ +from fnpdjango.actions import export_as_csv_action from modeltranslation.admin import TranslationAdmin +from wolnelektury.utils import YesNoFilter from . import models -class PlanAdmin(admin.ModelAdmin): - list_display = ['min_amount', 'interval'] - -admin.site.register(models.Plan, PlanAdmin) +admin.site.register(models.Club) class PayUOrderInline(admin.TabularInline): @@ -40,20 +42,33 @@ class PayUCardTokenInline(admin.TabularInline): return False +class PayedFilter(YesNoFilter): + title = _('payment complete') + parameter_name = 'payed' + q = ~Q(payed_at=None) + + +class ExpiredFilter(YesNoFilter): + title = _('schedule expired') + parameter_name = 'expired' + q = Q(expires_at__isnull=False, expires_at__lt=Now()) + + class ScheduleAdmin(admin.ModelAdmin): - list_display = ['email', 'started_at', 'payed_at', 'expires_at', 'plan', 'amount', 'is_cancelled'] - list_search = ['email'] - list_filter = ['is_cancelled'] + list_display = ['email', 'started_at', 'payed_at', 'expires_at', 'amount', 'monthly', 'yearly', 'is_cancelled'] + search_fields = ['email'] + list_filter = ['is_cancelled', 'monthly', 'yearly', PayedFilter, ExpiredFilter] date_hierarchy = 'started_at' raw_id_fields = ['membership'] inlines = [PayUOrderInline, PayUCardTokenInline] + actions = [export_as_csv_action()] admin.site.register(models.Schedule, ScheduleAdmin) class ScheduleInline(admin.TabularInline): model = models.Schedule - fields = ['email', 'plan', 'amount', 'method', 'is_cancelled', 'started_at', 'payed_at', 'expires_at', 'email_sent'] + fields = ['email', 'amount', 'is_cancelled', 'started_at', 'payed_at', 'expires_at', 'email_sent'] readonly_fields = fields extra = 0 show_change_link = True @@ -116,3 +131,6 @@ class PayUOrderAdmin(admin.ModelAdmin): admin.site.register(models.PayUOrder, PayUOrderAdmin) + + +admin.site.register(models.Ambassador)