Some checks failed
Build and Push to Docker Hub / build-test-push (push) Failing after 1m55s
67 lines
1.7 KiB
Python
67 lines
1.7 KiB
Python
from django.contrib import admin
|
|
from django.db import models as db_model
|
|
from django_select2 import forms as django_select2
|
|
from import_export import admin as import_export
|
|
from modeltranslation import admin as modeltranslation
|
|
|
|
from core.http import forms, models
|
|
|
|
|
|
class PostInline(admin.TabularInline):
|
|
model = models.Post.comments.through
|
|
fields = ["comment"]
|
|
extra = 1
|
|
|
|
|
|
class TagsInline(admin.TabularInline):
|
|
model = models.Post.tags.through
|
|
extra = 1
|
|
|
|
|
|
class PostAdmin(
|
|
modeltranslation.TabbedTranslationAdmin,
|
|
import_export.ImportExportModelAdmin,
|
|
): # noqa
|
|
fields: tuple = ("title", "desc", "image", "tags")
|
|
search_fields: list = ["title", "desc"]
|
|
list_filter = ["title"]
|
|
required_languages: tuple = ("uz",)
|
|
form = forms.PostAdminForm
|
|
inlines = [PostInline]
|
|
formfield_overrides = {
|
|
db_model.ManyToManyField: {
|
|
"widget": django_select2.Select2MultipleWidget
|
|
}
|
|
}
|
|
|
|
|
|
class TagsAdmin(import_export.ImportExportModelAdmin):
|
|
fields: tuple = ("name",)
|
|
search_fields: list = ["name"]
|
|
|
|
|
|
class FrontendInline(admin.TabularInline):
|
|
model = models.FrontendTranslation.comments.through
|
|
fields = ["comment"]
|
|
extra = 1
|
|
|
|
|
|
class FrontendTranslationAdmin(
|
|
modeltranslation.TabbedTranslationAdmin,
|
|
import_export.ImportExportModelAdmin,
|
|
): # noqa
|
|
fields: tuple = ("key", "value")
|
|
required_languages: tuple = ("uz",)
|
|
list_display = ["key", "value"]
|
|
inlines = [FrontendInline]
|
|
|
|
|
|
class SmsConfirmAdmin(admin.ModelAdmin):
|
|
list_display = ["phone", "code", "resend_count", "try_count"]
|
|
search_fields = ["phone", "code"]
|
|
|
|
|
|
class CommentAdmin(import_export.ImportExportModelAdmin):
|
|
list_display = ["text"]
|
|
search_fields = ["text"]
|