add: add common models, translations and register on admin panel

This commit is contained in:
behruz-dev
2025-08-26 12:38:25 +05:00
parent b46b9975ba
commit e279c141b3
7 changed files with 399 additions and 4 deletions

View File

@@ -1,3 +1,70 @@
from django.contrib import admin
from django.contrib import admin
# Register your models here.
from django.http import HttpResponseRedirect
from django.urls import reverse
from modeltranslation.admin import TranslationAdmin, TranslationTabularInline
from core.apps.common import models
@admin.register(models.Banner)
class BannerAdmin(admin.ModelAdmin):
list_display = ['banner']
@admin.register(models.SiteConfig)
class SiteConfigAdmin(admin.ModelAdmin):
def has_delete_permission(self, request, obj=...):
return False
def changelist_view(self, request, extra_context=None):
config, create = models.SiteConfig.objects.get_or_create(
defaults=dict(
telegram='https://t.me/telegram',
facebook='https://facebook.com',
instagram='https://instagram.com',
youtube='https://youtube.com',
)
)
url = reverse('admin:common_siteconfig_change', args=[config.id])
return HttpResponseRedirect(url)
class AboutUsImageInline(admin.TabularInline):
model = models.AboutUsImage
extra = 0
verbose_name = 'rasm'
verbose_name_plural = 'rasmlar'
class AboutUsFeatureInline(TranslationTabularInline):
model = models.AboutUsFeature
extra = 0
verbose_name = 'xususiyat'
verbose_name_plural = 'xususiyatlar'
@admin.register(models.AboutUs)
class AboutUsAdmin(TranslationAdmin):
list_display = ['title', 'description']
inlines = [AboutUsImageInline, AboutUsFeatureInline]
@admin.register(models.Service)
class ServiceAdmin(TranslationAdmin):
list_display = ['title', 'text', 'icon', 'image']
@admin.register(models.ContactUs)
class ContactUsAdmin(admin.ModelAdmin):
list_display = [
'email', 'phone', 'is_contacted'
]
def has_add_permission(self, request):
return False
@admin.register(models.News)
class NewsAdmin(TranslationAdmin):
list_display = ['title', 'text', 'image']