29 lines
956 B
Python
29 lines
956 B
Python
from django.contrib import admin
|
|
from .models import SiteSettings
|
|
|
|
@admin.register(SiteSettings)
|
|
class SiteSettingsAdmin(admin.ModelAdmin):
|
|
# On empêche d'ajouter une nouvelle config s'il en existe déjà une
|
|
def has_add_permission(self, request):
|
|
return not SiteSettings.objects.exists()
|
|
|
|
# On empêche de supprimer la config (trop dangereux)
|
|
def has_delete_permission(self, request, obj=None):
|
|
return False
|
|
|
|
# Petite astuce visuelle pour l'admin
|
|
fieldsets = (
|
|
('Général', {
|
|
'fields': ('site_name', 'site_logo')
|
|
}),
|
|
('Réseaux Sociaux', {
|
|
'fields': ('facebook_url', 'twitter_url', 'youtube_url'),
|
|
'classes': ('collapse',) # Cache cette section par défaut pour alléger
|
|
}),
|
|
('Contact', {
|
|
'fields': ('contact_email',)
|
|
}),
|
|
('Blog', {
|
|
'fields': ('blog_title', 'blog_description')
|
|
}),
|
|
)
|