summaryrefslogtreecommitdiff
path: root/postgresqleu/invoices/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'postgresqleu/invoices/admin.py')
-rw-r--r--postgresqleu/invoices/admin.py12
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)