diff options
Diffstat (limited to 'postgresqleu/invoices/admin.py')
| -rw-r--r-- | postgresqleu/invoices/admin.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/postgresqleu/invoices/admin.py b/postgresqleu/invoices/admin.py index f089c6eb..5b75d1f1 100644 --- a/postgresqleu/invoices/admin.py +++ b/postgresqleu/invoices/admin.py @@ -9,6 +9,7 @@ from postgresqleu.util.forms import ConcurrentProtectedModelForm from models import Invoice, InvoiceLog, InvoiceProcessor, InvoicePaymentMethod from models import InvoiceRefund, VatRate + class InvoiceAdminForm(SelectableWidgetAdminFormMixin, ConcurrentProtectedModelForm): class Meta: model = Invoice @@ -21,31 +22,38 @@ class InvoiceAdminForm(SelectableWidgetAdminFormMixin, ConcurrentProtectedModelF if self.cleaned_data.has_key('finalized'): raise ValidationError("Can't edit email field on a finalized invoice!") return self.cleaned_data['recipient_email'] + def clean_recipient_name(self): if self.cleaned_data.has_key('finalized'): raise ValidationError("Can't edit name field on a finalized invoice!") return self.cleaned_data['recipient_name'] + def clean_recipient_address(self): if self.cleaned_data.has_key('finalized'): raise ValidationError("Can't edit address field on a finalized invoice!") return self.cleaned_data['recipient_address'] + def clean_title(self): if self.cleaned_data.has_key('finalized'): raise ValidationError("Can't edit title field on a finalized invoice!") return self.cleaned_data['title'] + def clean_total_amount(self): if self.cleaned_data.has_key('finalized'): raise ValidationError("Can't edit total amount field on a finalized invoice!") return self.cleaned_data['total_amount'] + def clean_total_vat(self): if self.cleaned_data.has_key('finalized'): raise ValidationError("Can't edit total vat field on a finalized invoice!") return self.cleaned_data['total_vat'] + def clean_processor(self): if "processor" in self.changed_data: raise ValidationError("Sorry, we never allow editing of the processor!") return self.cleaned_data['processor'] + class InvoiceAdmin(admin.ModelAdmin): list_display = ('id', 'title', 'recipient_name', 'total_amount', 'ispaid') form = InvoiceAdminForm @@ -53,15 +61,19 @@ class InvoiceAdmin(admin.ModelAdmin): filter_horizontal = ['allowedmethods', ] readonly_fields = ['refund', ] + class InvoiceLogAdmin(admin.ModelAdmin): list_display = ('timestamp', 'message_trunc', 'sent',) + class InvoiceRefundAdmin(admin.ModelAdmin): list_display = ('registered', 'issued', 'completed', 'amount', 'vatamount', 'reason') + class InvoicePaymentMethodAdmin(admin.ModelAdmin): list_display = ('name', 'internaldescription', 'classname', ) + admin.site.register(Invoice, InvoiceAdmin) admin.site.register(InvoiceProcessor) admin.site.register(InvoicePaymentMethod, InvoicePaymentMethodAdmin) |
