gault-millau/apps/establishment/admin.py
2019-10-29 18:12:52 +03:00

85 lines
2.1 KiB
Python

"""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 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
@admin.register(models.Establishment)
class EstablishmentAdmin(BaseModelAdminMixin, admin.ModelAdmin):
"""Establishment admin."""
list_display = ['id', '__str__', 'image_tag', ]
inlines = [
AwardInline, ContactPhoneInline, ContactEmailInline,
ReviewInline, CommentInline]
raw_id_fields = ('address',)
fields = ['old_id', 'name']
@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')