|
@@ -1,6 +1,11 @@
|
|
|
from django.contrib import admin
|
|
|
|
|
|
-from .models import Cost, Good, Service, CostUse, GoodUse
|
|
|
+from .models import Cost, Good, Service, CostUse, GoodUse, Document
|
|
|
+
|
|
|
+
|
|
|
+@admin.register(Document)
|
|
|
+class DocumentAdmin(admin.ModelAdmin):
|
|
|
+ list_display = ('name', 'date', 'type')
|
|
|
|
|
|
|
|
|
class GoodUseInline(admin.TabularInline):
|
|
@@ -13,9 +18,27 @@ class CostUseInline(admin.TabularInline):
|
|
|
extra = 1
|
|
|
|
|
|
|
|
|
+class DirectDocumentFilter(admin.SimpleListFilter):
|
|
|
+ title = 'Document'
|
|
|
+
|
|
|
+ parameter_name = 'document'
|
|
|
+
|
|
|
+ def queryset(self, request, queryset):
|
|
|
+ document = self.value()
|
|
|
+ if not document:
|
|
|
+ return queryset
|
|
|
+ else:
|
|
|
+ return queryset.filter(document=document)
|
|
|
+
|
|
|
+ def lookups(self, request, model_admin):
|
|
|
+ for i in Document.objects.all():
|
|
|
+ yield i.pk, str(i)
|
|
|
+
|
|
|
+
|
|
|
@admin.register(Cost)
|
|
|
class CostAdmin(admin.ModelAdmin):
|
|
|
- list_display = ('name', 'price')
|
|
|
+ list_display = ('name', 'price', 'document')
|
|
|
+ list_filter = [DirectDocumentFilter]
|
|
|
|
|
|
|
|
|
@admin.register(Good)
|
|
@@ -23,10 +46,11 @@ class GoodAdmin(admin.ModelAdmin):
|
|
|
list_display = (
|
|
|
'__str__', 'price', 'document',
|
|
|
'provisioning_duration', 'monthly_provision')
|
|
|
+
|
|
|
list_filter = [DirectDocumentFilter]
|
|
|
|
|
|
|
|
|
@admin.register(Service)
|
|
|
class ServiceAdmin(admin.ModelAdmin):
|
|
|
- list_display = ('name', 'subscriptions_count')
|
|
|
+ list_display = ('name', 'subscriptions_count', 'document')
|
|
|
inlines = (CostUseInline, GoodUseInline)
|