Repository URL to install this package:
|
Version:
0.1.9 ▾
|
from django.contrib import admin
from import_export.admin import ImportExportModelAdmin
from branding.resources import PolicyResource
from .models import Brand, Policy, FeatureAccess
class BrandAdmin(admin.ModelAdmin):
list_display = ('name', 'provided_sources')
search_fields = ('name',)
filter_horizontal = ('sources',)
def provided_sources(self, obj):
return ", ".join(source.name for source in obj.sources.all())
class PolicyAdmin(ImportExportModelAdmin):
resource_class = PolicyResource
list_display = ('number', 'description', 'backends')
list_filter = ('booking_backends',)
search_fields = ('number', 'description')
filter_horizontal = ('booking_backends',)
def backends(self, obj):
return ", ".join(source.name for source in obj.booking_backends.all())
class FeatureAccessAdmin(admin.ModelAdmin):
list_display = ('keyword', 'policy_list', 'brands_list')
list_filter = ('policies', 'brands')
fields = ("keyword", "policies", "brands")
filter_horizontal = ('policies', 'brands')
search_fields = ('keyword', 'policies__number', 'policies__description', 'brands__name')
def policy_list(self, obj):
count = obj.policies.count()
if count > 10:
return "{} policies".format(count)
return ", ".join(str(policy) for policy in obj.policies.all())
def brands_list(self, obj):
return ", ".join(str(brand) for brand in obj.brands.all())
admin.site.register(Brand, BrandAdmin)
admin.site.register(Policy, PolicyAdmin)
admin.site.register(FeatureAccess, FeatureAccessAdmin)