# -*- coding: utf-8 -*- from models import Transaction, TransactionType, VirtualTransaction from django.contrib import admin class TransactionAdmin(admin.ModelAdmin): list_filter = ('transactionType','checked','user') actions = ['really_delete_selected'] list_display = ('user', 'transactionType', 'amount', 'dateTime', 'checked') list_display_links = ('user', 'transactionType') search_fields = ['user__username','user__first_name','user__last_name'] date_hierarchy = 'dateTime' ordering = ['-dateTime'] def get_actions(self, request): actions = super(TransactionAdmin, self).get_actions(request) del actions['delete_selected'] return actions # FIXME: Can we instead of replacing the whole page just # hook the release process? Also - make this nicer # in terms of localization/naming foo def really_delete_selected(self, request, queryset): for obj in queryset: obj.delete() num = queryset.count() message = "%s Transaktion%s" % (num, (num != 1 and "en" or "")) self.message_user(request, u"Erfolgreich %s gelöscht." % message) really_delete_selected.short_description = u"Ausgewählte Transaktion(en) löschen" class VirtualTransactionAdmin(admin.ModelAdmin): list_display = ('user','recipient','amount','dateTime','comment') list_display_links = ('user','recipient') list_filter = ('user','recipient') search_fields = ['user__username','recipient__username','comment'] date_hierarchy = 'dateTime' ordering = ['-dateTime'] admin.site.register(Transaction, TransactionAdmin) admin.site.register(TransactionType) admin.site.register(VirtualTransaction, VirtualTransactionAdmin)