from django.contrib import admin from .models import * class PersonAdmin(admin.ModelAdmin): search_fields = ['title', 'first_name', 'last_name', 'organisation', 'position', 'country__short_name', 'contact_email'] class ResourceAdmin(admin.ModelAdmin): search_fields = ['title', 'url', 'citation', 'abstract'] class RangeAdmin(admin.ModelAdmin): search_fields = ['name', 'countries'] class FieldAdmin(admin.ModelAdmin): search_fields = ['name'] class CountriesAdmin(admin.ModelAdmin): search_fields = ['short_name', 'formal_name', 'membership_within_un_system', 'continent', 'eu_ms', 'eea_ms', 'iso3', 'iso2'] class GMBA_SpeciesGroupAdmin(admin.ModelAdmin): search_fields = ['species_group'] class LanguageAdmin(admin.ModelAdmin): search_fields = ['language'] class PeopleStatusAdmin(admin.ModelAdmin): search_fields = ['status'] class RangeTypeAdmin(admin.ModelAdmin): search_fields = ['range_type'] class RedListCategoryAdmin(admin.ModelAdmin): search_fields = ['red_list_category'] class SourceAdmin(admin.ModelAdmin): search_fields = ['source'] class TaxonStatusAdmin(admin.ModelAdmin): search_fields = ['taxon_status'] class TaxonUnitAdmin(admin.ModelAdmin): search_fields = ['taxon_status'] class TrendsQuantityAdmin(admin.ModelAdmin): search_fields = ['trend'] class TrendsQualityAdmin(admin.ModelAdmin): search_fields = ['trend'] class RepositoryAdmin(admin.ModelAdmin): search_fields = ['repository_name', 'repository_url'] class GMBAFunctionAdmin(admin.ModelAdmin): search_fields = ['gmba_function'] class OrganizationAdmin(admin.ModelAdmin): search_fields = ['organisation_search', 'org_alpjha_search', 'organization_2', 'organization_3', 'subject'] class RangeOnlineInfoAdmin(admin.ModelAdmin): search_fields = ['info_source'] class PeaksAdmin(admin.ModelAdmin): search_fields = ['point_name', 'link'] class SearchAdmin(admin.ModelAdmin): search_fields = ['search_string', 'search_date', 'result'] list_display = ['search_string', 'search_date', 'result'] def search_string(self, obj): return str(obj.search_string) if obj else '--' def search_date(self, obj): return str(obj.search_date) if obj else '--' def result(self, obj): return str(obj.result) if obj else '--' class SpeciesAdmin(admin.ModelAdmin): search_fields = ['scientific_name', 'class_', 'english_name', 'url'] class TaxonRangeAdmin(admin.ModelAdmin): model = TaxonRange search_fields = ['range__range_name', 'taxon', 'subrange_or_region', 'distribution', 'source', 'remarks'] list_display = ['range_name', 'taxon'] def range_name(self, obj): return str(obj.range.range_name) if obj and obj.range and obj.range.range_name else 'None' def taxon(self, obj): return str(obj.taxon) if obj.taxon else 'None' class RangeNameTranslationAdmin(admin.ModelAdmin): model = RangeNameTranslation search_fields = ['range__range_name', 'language__language'] list_display = ['range_name', 'language_translation'] def range_name(self, obj): return str(obj.range.range_name) def country_name(self, obj): return str(obj.language.language) if obj.language else 'None' class PeopleRangeAdmin(admin.ModelAdmin): model = Range list_display = ['person', 'range_name', ] def range_name(self, obj): return str(obj.range.name) class SpeciesRangeAdmin(admin.ModelAdmin): model = SpeciesRange search_fields = ['scientific_name__scientific_name', 'range__range_name'] list_display = ['scientific_name', 'range_name'] def scientific_name(self, obj): return str(obj.scientific_name.scientific_name) if obj and obj.scientific_name and obj.scientific_name.scientific_name else '--' def range_name(self, obj): return str(obj.range) if obj.range else '--' class RangeCountryAdmin(admin.ModelAdmin): model = RangeCountry search_fields = ['range__range_name', 'country__short_name'] list_display = ['range_name', 'country_name'] def range_name(self, obj): return str(obj.range.range_name) def country_name(self, obj): return str(obj.country.short_name) if obj.country else 'None' # Register your models here. admin.site.register(Person, PersonAdmin) admin.site.register(Resource, ResourceAdmin) admin.site.register(Range, RangeAdmin) admin.site.register(Method) admin.site.register(Scale) admin.site.register(Taxon) admin.site.register(Field, FieldAdmin) # LU models admin.site.register(Country, CountriesAdmin) admin.site.register(GMBA_SpeciesGroup, GMBA_SpeciesGroupAdmin) admin.site.register(Language, LanguageAdmin) admin.site.register(PeopleStatus, PeopleStatusAdmin) admin.site.register(RangeType, RangeTypeAdmin) admin.site.register(RedListCategory, RedListCategoryAdmin) admin.site.register(Source, SourceAdmin) admin.site.register(TaxonStatus, TaxonStatusAdmin) admin.site.register(TaxonUnit, TaxonUnitAdmin) admin.site.register(TrendsQuality, TrendsQualityAdmin) admin.site.register(TrendsQuantity, TrendsQuantityAdmin) # Others admin.site.register(Repository, RepositoryAdmin) admin.site.register(GMBA_function, GMBAFunctionAdmin) admin.site.register(Organization, OrganizationAdmin) admin.site.register(RangeOnlineInfo, RangeOnlineInfoAdmin) admin.site.register(RangeNameTranslation, RangeNameTranslationAdmin) admin.site.register(AddElevation) admin.site.register(GMBA_V2_Centroid) admin.site.register(ImportGeom210915) admin.site.register(Peak, PeaksAdmin) admin.site.register(Search, SearchAdmin) admin.site.register(TaxaPeople) # admin.site.register(RangesPeople) # admin.site.register(ResourcesPeople) admin.site.register(ScalesPeople) admin.site.register(Species, SpeciesAdmin) admin.site.register(PeopleFunction) admin.site.register(SpeciesRange, SpeciesRangeAdmin) admin.site.register(RangesPeople, PeopleRangeAdmin) admin.site.register(TaxonRange, TaxonRangeAdmin) admin.site.register(PeopleResource) admin.site.register(RangeCountry, RangeCountryAdmin)