diff --git a/BaseModels/inter.py b/BaseModels/inter.py index b72fe62..660aa7a 100644 --- a/BaseModels/inter.py +++ b/BaseModels/inter.py @@ -10,6 +10,12 @@ import re numbers = '0123456789.,' +def get_fieldsNames_of_model(model): + + fields_names = [item.name for item in model._meta.get_fields()] + return fields_names + + def get_unique_url(model, name, url=None): from .functions import url_translit diff --git a/ReferenceDataApp/admin.py b/ReferenceDataApp/admin.py index 240e988..2d5e239 100644 --- a/ReferenceDataApp/admin.py +++ b/ReferenceDataApp/admin.py @@ -4,6 +4,15 @@ from .models import * from modeltranslation.admin import TranslationAdmin class Admin_Country(Admin_Trans_BaseModel): + fieldsets = [ + [None, { + 'classes': ['wide'], + 'fields': [ + 'name', 'enable', 'short_code', 'code', + ] + }] + ] + list_display = [ 'id', 'name', 'name_en', 'name_ru', 'short_code', 'code', @@ -13,6 +22,15 @@ class Admin_Country(Admin_Trans_BaseModel): admin.site.register(Country, Admin_Country) class Admin_City(Admin_Trans_BaseModel): + fieldsets = [ + [None, { + 'classes': ['wide'], + 'fields': [ + 'name', 'enable', 'country', + ] + }] + ] + list_display = [ 'id', 'name', 'name_en', 'name_ru', 'country', @@ -23,6 +41,18 @@ class Admin_City(Admin_Trans_BaseModel): admin.site.register(City, Admin_City) class Admin_Airport(Admin_Trans_BaseModel): + fieldsets = [ + [None, { + 'classes': ['wide'], + 'fields': [ + 'name', 'enable', + 'city', 'iata_code', 'icao_code', + 'international_name', + # 'area_id' + ] + }] + ] + list_display = [ 'id', 'name', 'name_en', 'name_ru', 'city', 'iata_code', 'icao_code', @@ -31,4 +61,8 @@ class Admin_Airport(Admin_Trans_BaseModel): 'order', 'modifiedDT', 'createDT'] search_fields = ['id', 'name_en', 'name_ru', 'city__name', 'city__country__name', 'iata_code', 'icao_code', 'international_name'] list_filter = ['city__country'] + raw_id_fields = [ + 'city' + ] + admin.site.register(Airport, Admin_Airport) \ No newline at end of file diff --git a/sets/admin.py b/sets/admin.py index c32a470..7300b8d 100644 --- a/sets/admin.py +++ b/sets/admin.py @@ -8,32 +8,58 @@ class AdminStacked_FAQitem(Admin_GenericBaseIconStackedInline): fields = ['order', 'question', 'answer'] class Admin_BaseModel(Admin_BaseIconModel): + pass # def get_fieldsets(self, request, obj=None): + # from BaseModels.inter import get_fieldsNames_of_model + # fields_names = get_fieldsNames_of_model(self.model) + # + # fields = [] + # if 'name' in fields_names: + # fields.append('name') + # if 'enable'in fields_names: + # fields.append('enable') + # # fieldsets = [ # [None, { # 'classes': ['wide'], - # 'fields': [ - # 'name', 'enable', - # ] + # 'fields': fields # }] # ] # # if request.user.is_superuser: - # add_block = [ - # 'Служебная инфа', { - # 'classes': ['wide'], - # 'fields': [ - # 'json_data' - # ] - # }] - # fieldsets.append(add_block) + # + # fields = [] + # if 'json_data' in fields: + # fields.append('json_data') + # + # if fields: + # add_block = [ + # 'Служебная инфа', { + # 'classes': ['wide'], + # 'fields': fields + # }] + # fieldsets.append(add_block) # return fieldsets - - save_on_top = True - list_display = ['id', 'name', 'enable', 'order', - 'modifiedDT', 'createDT'] - # list_editable = ['order'] - list_display_links = ('id', 'name') + # + # save_on_top = True + # + # def get_list_display(self, request, obj): + # list_display = ['id'] + # if getattr(obj, 'name', None): + # list_display.append('name') + # if getattr(obj, 'enable', None): + # list_display.append('enable') + # if getattr(obj, 'order', None): + # list_display.append('order') + # if getattr(obj, 'modifiedDT', None): + # list_display.append('modifiedDT') + # if getattr(obj, 'createDT', None): + # list_display.append('createDT') + # + # return list_display + # + # # list_editable = ['order'] + # list_display_links = ('id', 'name') class Admin_BaseBlock(Admin_BaseIconModel):