"""Establishment admin conf.""" from django.contrib import admin from django.contrib.contenttypes.admin import GenericTabularInline from django.utils.translation import gettext_lazy as _ from comment.models import Comment from utils.admin import BaseModelAdminMixin from establishment import models from main.models import Award from product.models import Product from review import models as review_models @admin.register(models.EstablishmentType) class EstablishmentTypeAdmin(BaseModelAdminMixin, admin.ModelAdmin): """EstablishmentType admin.""" @admin.register(models.EstablishmentSubType) class EstablishmentSubTypeAdmin(BaseModelAdminMixin, admin.ModelAdmin): """EstablishmentSubType admin.""" class AwardInline(GenericTabularInline): model = Award extra = 0 class ContactPhoneInline(admin.TabularInline): """Contact phone inline admin.""" model = models.ContactPhone extra = 0 class ContactEmailInline(admin.TabularInline): """Contact email inline admin.""" model = models.ContactEmail extra = 0 class ReviewInline(BaseModelAdminMixin, GenericTabularInline): model = review_models.Review extra = 0 class CommentInline(GenericTabularInline): model = Comment extra = 0 class ProductInline(admin.TabularInline): model = Product extra = 0 @admin.register(models.Establishment) class EstablishmentAdmin(BaseModelAdminMixin, admin.ModelAdmin): """Establishment admin.""" list_display = ['id', '__str__', 'image_tag', ] # inlines = [ # AwardInline, ContactPhoneInline, ContactEmailInline, # ReviewInline, CommentInline, ProductInline] raw_id_fields = ('address',) @admin.register(models.Position) class PositionAdmin(BaseModelAdminMixin, admin.ModelAdmin): """Position admin.""" class PlateInline(admin.TabularInline): """Plate inline admin""" model = models.Plate extra = 0 @admin.register(models.Menu) class MenuAdmin(BaseModelAdminMixin, admin.ModelAdmin): """Menu admin.""" list_display = ['id', 'category_translated'] inlines = [ PlateInline, ] def category_translated(self, obj): """Get user's short name.""" return obj.category_translated category_translated.short_description = _('category') @admin.register(models.RatingStrategy) class RatingStrategyAdmin(BaseModelAdminMixin, admin.ModelAdmin): """Admin conf for Rating Strategy model."""