1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- 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)
|