From c9902c943e77fe77a30d817f875448e132ec47a9 Mon Sep 17 00:00:00 2001 From: erjemin Date: Sun, 30 Oct 2022 00:39:42 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=BA=D0=B0=20fi?= =?UTF-8?q?n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oknardia/oknardia/admin.py | 141 +++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 oknardia/oknardia/admin.py diff --git a/oknardia/oknardia/admin.py b/oknardia/oknardia/admin.py new file mode 100644 index 0000000..4205c1b --- /dev/null +++ b/oknardia/oknardia/admin.py @@ -0,0 +1,141 @@ +# -*- coding: utf-8 -*- +__author__ = 'Sergei Erjemin' +__email__ = 'erjemin@gmail.com' +__version__ = '0.2.0' + +from django.contrib import admin +from django.contrib.admin import ModelAdmin, TabularInline +from oknardia.models import * + + +class BuildingAdmin(ModelAdmin): + search_fields = ['sAddress', 'sSerias_Project'] + list_display = ('id', 'sAddress', 'iStoreys', 'sSerias_Project', 'kSeria_Link') + list_display_links = ('id', 'sAddress',) + list_filter = ('sSerias_Project', 'iStoreys') + empty_value_display = '—//—' + + +class SeriaAdmin(ModelAdmin): + search_fields = ['sName'] + list_display = ('id', 'sName', 'kParent', 'kRoot') + list_display_links = ('id', 'sName',) + empty_value_display = '——' + + +class ApartmentAdmin(ModelAdmin): + search_fields = ['sNameApartment'] + list_display = ('id', 'sNameApartment', 'kSeria', 'iSort') + list_display_links = ('id', 'sNameApartment') + # list_filter = ('sNameApartment', 'kSeria', ) + # list_filter = ('kSeria', ) + + +class MountDimAdmin(ModelAdmin): + search_fields = ['sDescripion'] + list_display = ('id', 'iWinWidth', 'iWinHight', 'iWinDepth', 'sFlapConfig', 'sDescripion', 'bIsDoor', 'bIsNearDoor') + list_display_links = ('id', 'iWinWidth', 'iWinHight', 'iWinDepth', 'sDescripion') + list_filter = ('bIsDoor', 'bIsNearDoor', 'sFlapConfig', 'iWinWidth', 'iWinHight',) + + +class MountDim2ApartmentAdmin(ModelAdmin): + list_display = ('id', 'iQuantity', 'kApartment', 'kMountDim',) + list_display_links = ('id', 'kApartment') + + +class BlogPostAdmin(ModelAdmin): + search_fields = ['sPostHeader', 'sPostContent', 'sImgForBlogSocial'] + list_display = ('id', 'sPostHeader', 'kBlogAuthorUser', 'dPostDataBegin', 'bPublished', 'bArchive', 'bCatalog', + 'iCatalogSort', 'dPostDataModify') + list_display_links = ('id', 'sPostHeader') + list_filter = ('bPublished', 'bArchive', 'bCatalog',) + + +class OurUserAdmin(ModelAdmin): + search_fields = ['kDjangoUser', 'kMerchantOffice', 'sUserJobTitle'] + list_display = ('id', 'kDjangoUser', 'sUserStatus', 'kMerchantOffice', 'sUserJobTitle', 'bUserSubscribe', + 'bUserWaitOffers') + list_display_links = ('id', 'kDjangoUser') + list_filter = ('kMerchantOffice', 'sUserJobTitle') + + +class PVCprofilesAdmin(ModelAdmin): + search_fields = ['sProfileName', 'sProfileBriefDescription', 'sProfileDescription'] + list_display = ('id', 'sProfileName', 'sProfileManufacturer', 'sProfileBriefDescription', 'iProfileThickness', + 'iProfileGlazingThickness', 'fProfileHeatTransf', 'fProfileSoundproofing', 'iProfileCameras', + 'rating', 'dProfileModify', 'kProfile2User') + list_display_links = ('id', 'sProfileName', 'sProfileManufacturer', 'sProfileBriefDescription') + list_filter = ('sProfileName', 'dProfileCreate', 'dProfileModify', 'kProfile2User') + + def rating(self, obj: {PVCprofiles.fProfileRating}) -> str: + return f"{obj.fProfileRating:.4f}★★" + + +class GlazingAdmin(ModelAdmin): + search_fields = ['sGlazingName', 'sGlazingBriefDescription', 'sGlazingDescription', 'sGlazingMark'] + list_display = ('id', 'sGlazingName', 'iGlazingThickness', 'sGlazingBriefDescription', 'sGlazingMark', + 'rating', 'fGlazingHeatTransfer', 'fGlazingSoundproofing', 'fGlazingLightTransmission', + 'sGlazingLightReflectance', 'fGlazingPassingSun', 'sGlazingReflectionAndAbsorptionOfHeat', + 'dGlazingModify', 'kGlazing2User') + list_display_links = ('id', 'sGlazingName', 'sGlazingBriefDescription', 'sGlazingMark') + list_filter = ('kGlazing2User', 'iGlazingThickness', 'iGlazingCamerasN', 'sGlazingManufacturer',) + + def rating(self, obj: {Glazing.fGlazingRating}) -> str: + return f"{obj.fGlazingRating:.4f}★★" + + +class SetKitAdmin(ModelAdmin): + search_fields = ['sSetName', 'sSetDescription', 'kSet2User', 'kSet2PVCprofiles', 'kSet2Glazing'] + list_display = ('id', 'sSetName', 'kSet2PVCprofiles', 'kSet2Glazing', 'dSetModify', + 'rating', 'iSetImpressions', 'iSetViews', 'sSetActive') + list_display_links = ('id', 'sSetName', 'kSet2PVCprofiles', 'kSet2Glazing') + list_filter = ('kSet2User',) + + def rating(self, obj: {SetKit.fSetRating}) -> str: + return f"{obj.fSetRating:.4f}★★" + + +class PriceOfferAdmin(ModelAdmin): + search_fields = ['kOfferFromUser', 'sOfferFlapConfig', 'kOffer2SetKit'] + list_display = ('id', 'sOfferActive', 'kOffer2MountDim', 'sOfferFlapConfig', 'fOfferPrice', 'rating', + 'kOffer2SetKit', 'dOfferCreate', 'dOfferModify') + list_display_links = ('id', 'kOffer2MountDim', 'sOfferFlapConfig') + list_filter = ('kOffer2SetKit', 'sOfferActive',) + + def rating(self, obj: {PriceOffer.fOfferRating}) -> str: + return f"{obj.fOfferRating:.4f}★★" + + +class MerchantBrandAdmin(ModelAdmin): + search_fields = ['sMerchantName', 'sMerchantDescription'] + list_display = ('id', 'sMerchantName', 'sMerchantMainURL', 'pMerchantLogo') + list_display_links = ('id', 'sMerchantName') + + +class MerchantOfficeAdmin(ModelAdmin): + search_fields = ['kMerchantName', 'sOfficeName', 'sOfficeDescription', 'sOfficeEmails', 'sOfficePhones', + 'sOfficeAddress'] + list_display = ('id', 'kMerchantName', 'sOfficeName', 'sOfficeStatus', 'kMerchantOfficeParent') + list_display_links = ('id', 'kMerchantName', 'sOfficeName') + + +class Catalog2ProfileAdmin(ModelAdmin): + list_display = ('id', 'kBlogCatalog', 'sCatalogCardType') + list_display_links = ('id', 'kBlogCatalog') + list_filter = ('sCatalogCardType',) + + +admin.site.register(Building_Info, BuildingAdmin) +admin.site.register(Seria_Info, SeriaAdmin) +admin.site.register(Apartment_Type, ApartmentAdmin) +admin.site.register(Win_MountDim, MountDimAdmin) +admin.site.register(MountDim2Apartment, MountDim2ApartmentAdmin) +admin.site.register(BlogPosts, BlogPostAdmin) +admin.site.register(OurUser, OurUserAdmin) +admin.site.register(PVCprofiles, PVCprofilesAdmin) +admin.site.register(Glazing, GlazingAdmin) +admin.site.register(SetKit, SetKitAdmin) +admin.site.register(PriceOffer, PriceOfferAdmin) +admin.site.register(MerchantBrand, MerchantBrandAdmin) +admin.site.register(MerchantOffice, MerchantOfficeAdmin) +admin.site.register(Catalog2Profile, Catalog2ProfileAdmin)