38 lines
2.4 KiB
Python
38 lines
2.4 KiB
Python
from django.contrib import admin
|
|
|
|
from .models import PageTitle, SiteBranding
|
|
|
|
|
|
@admin.register(SiteBranding)
|
|
class SiteBrandingAdmin(admin.ModelAdmin):
|
|
fieldsets = (
|
|
("عمومی", {"fields": ("site_title", "header_title", "header_subtitle")}),
|
|
("لوگو و آیکونها", {"fields": ("company_logo", "favicon", "pwa_icon"), "description": "در صورت خالی بودن هر فیلد، فایل پیشفرض فعلی استفاده میشود."}),
|
|
("PWA", {"fields": ("pwa_name", "pwa_title", "pwa_description", "pwa_install_label", "pwa_install_help")}),
|
|
("پنل کارشناسان", {"fields": ("staff_brand_title", "staff_brand_subtitle", "staff_panel_label")}),
|
|
("صفحه ورود مشتری", {"fields": ("login_intro_enabled", "login_intro_icon", "login_intro_eyebrow", "login_intro_heading", "login_intro_body")}),
|
|
("صفحه ورود کارشناسان", {"fields": ("staff_login_intro_enabled", "staff_login_intro_icon", "staff_login_intro_eyebrow", "staff_login_intro_heading", "staff_login_intro_body")}),
|
|
("صفحه تیکتهای مشتری", {"fields": ("customer_tickets_hero_enabled", "customer_tickets_hero_eyebrow", "customer_tickets_hero_heading", "customer_tickets_hero_body")}),
|
|
("امضای توسعهدهنده", {"fields": ("developer_credit_text", "developer_credit_html", "use_developer_credit_html"), "description": "HTML خام تنها برای محتوای کاملاً مورد اعتماد فعال شود."}),
|
|
("امضای مستقل sidebar کارکنان", {"fields": ("staff_sidebar_credit_text", "staff_sidebar_credit_html", "use_staff_sidebar_credit_html"), "description": "این مقدار فقط در پایین sidebar پنل staff نمایش داده میشود."}),
|
|
)
|
|
|
|
def get_readonly_fields(self, request, obj=None):
|
|
if request.user.is_superuser:
|
|
return ()
|
|
return ("developer_credit_html", "use_developer_credit_html", "staff_sidebar_credit_html", "use_staff_sidebar_credit_html")
|
|
|
|
def has_add_permission(self, request):
|
|
return not SiteBranding.objects.exists()
|
|
|
|
def has_delete_permission(self, request, obj=None):
|
|
return False
|
|
|
|
|
|
@admin.register(PageTitle)
|
|
class PageTitleAdmin(admin.ModelAdmin):
|
|
list_display = ("route_name", "title", "is_active", "updated_at")
|
|
list_editable = ("title", "is_active")
|
|
search_fields = ("route_name", "title")
|
|
list_filter = ("is_active",)
|