|
@@ -54,9 +54,29 @@ class PendingOrNewPaymentInline(PaymentInlineMixin):
|
|
|
return super().get_queryset(request).filter(validated=False)
|
|
|
|
|
|
|
|
|
+class PaymentTypeFilter(admin.SimpleListFilter):
|
|
|
+ title = 'type de paiement'
|
|
|
+ parameter_name = 'type'
|
|
|
+
|
|
|
+ def lookups(self, request, model_admin):
|
|
|
+ return (
|
|
|
+ ('membership', 'Cotisation'),
|
|
|
+ ('service', 'Service'),
|
|
|
+ )
|
|
|
+
|
|
|
+ def queryset(self, request, queryset):
|
|
|
+ if self.value() == 'membership':
|
|
|
+ return queryset.filter(reason_type__app_label='adhesions',
|
|
|
+ reason_type__model='adherent')
|
|
|
+ if self.value() == 'service':
|
|
|
+ return queryset.filter(reason_type__app_label='services',
|
|
|
+ reason_type__model='service')
|
|
|
+
|
|
|
+
|
|
|
class PaymentAdmin(PaymentMixin, admin.ModelAdmin):
|
|
|
- list_display = ('reason_verbose', 'amount', 'period', 'payment_method', 'validated',)
|
|
|
- list_filter = ('payment_method', 'validated',)
|
|
|
+ list_display = ('get_adherent', 'payment_type_verbose', 'amount',
|
|
|
+ 'period', 'payment_method', 'validated',)
|
|
|
+ list_filter = (PaymentTypeFilter, 'payment_method', 'validated',)
|
|
|
|
|
|
def has_change_permission(self, request, obj=None):
|
|
|
if obj and not request.user.is_superuser:
|