Repository URL to install this package:
Version:
0.1.0a5 ▾
|
dj-address
/
admin.py
|
---|
import rules
from dj_kaos_utils.admin.utils import render_element
from dj_kaos_utils.forms import unrequire_form
from django.contrib import admin
from iam.contrib.admin import FieldsetPermissionsMixin
from .models import *
@admin.register(Country)
class CountryAdmin(admin.ModelAdmin):
form = unrequire_form(Country, ('name',))
search_fields = ('alpha_2_code', 'alpha_3_code', 'numeric_code', 'name', 'official_name', 'flag')
list_display = ('name', 'alpha_2_code', 'alpha_3_code', 'numeric_code', 'official_name', 'flag')
fieldsets = (
(None, {'fields': (
'name',
'alpha_2_code',
'alpha_3_code',
)}),
("Misc.", {'fields': (
'numeric_code', 'official_name', 'flag'
)}),
)
@admin.register(CountryRegion)
class CountryRegionAdmin(admin.ModelAdmin):
search_fields = ('name', 'code', 'country__name')
list_display = ('name', 'code', 'country')
list_filter = ('country',)
fieldsets = (
(None, {'fields': (
'name',
'country',
'code',
)}),
)
@admin.register(Municipality)
class MunicipalityAdmin(admin.ModelAdmin):
search_fields = ('name', 'region__name')
list_display = ('name', 'region')
list_filter = ('region',)
fieldsets = (
(None, {'fields': (
'name',
'region',
'short_name',
)}),
)
@admin.register(Address)
class AddressAdmin(
FieldsetPermissionsMixin,
admin.ModelAdmin
):
search_fields = ('address_1', 'address_2', 'postal_code')
list_display = ('address_1', 'address_2', '_municipality_name', 'postal_code', 'addressee')
list_filter = ('municipality',)
readonly_fields = (
'postal_label_display',
)
fieldsets = (
(None, {'fields': (
'addressee',
'address_1',
'address_2',
'municipality',
'postal_code',
)}),
("Free form", {'fields': (
'_municipality_name',
'_region_name',
'_country_name',
), 'perms': rules.is_superuser}),
("Additional information", {'fields': (
'additional_delivery_information',
)}),
("Display", {'fields': ('postal_label_display',)}),
)
@admin.display(description="postal label")
def postal_label_display(self, obj):
return render_element('pre', obj.postal_label)