123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- from django.contrib import admin
- 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):
- model = GoodUse
- extra = 1
- class CostUseInline(admin.TabularInline):
- model = CostUse
- 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', 'document')
- list_filter = [DirectDocumentFilter]
- @admin.register(Good)
- 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', 'document')
- inlines = (CostUseInline, GoodUseInline)
- list_filter = [DirectDocumentFilter]
|