25 lines
No EOL
1.2 KiB
Python
Executable file
25 lines
No EOL
1.2 KiB
Python
Executable file
from django.contrib import admin
|
|
from django.db.models import QuerySet
|
|
from .models import Post, Category
|
|
|
|
@admin.action(description="Activer les posts séléctionnés")
|
|
def activate_posts(modelAdmin, request, querySet: QuerySet):
|
|
updated = querySet.update(active=True)
|
|
modelAdmin.message_user(request, f"{updated} post(s) ont été activé(s).")
|
|
|
|
@admin.action(description="Désactiver les posts séléctionnés")
|
|
def deactivate_posts(modelAdmin, request, querySet: QuerySet):
|
|
updated = querySet.update(active=False)
|
|
modelAdmin.message_user(request, f"{updated} post(s) ont été désactivé(s).")
|
|
|
|
class PostAdmin(admin.ModelAdmin):
|
|
list_display = ('title', 'category', 'author', 'type', 'active', 'created', 'updated')
|
|
list_filter = ('category', 'type', 'active', 'created', 'updated')
|
|
search_fields = ('title', 'content', 'author__username')
|
|
ordering = ('-created',)
|
|
fields = ('parent', 'post_parent', 'title', 'slug', 'category', 'content', 'type', 'image', 'author', 'active')
|
|
prepopulated_fields = {'slug': ('title',)}
|
|
actions = [activate_posts, deactivate_posts]
|
|
|
|
admin.site.register(Post, PostAdmin)
|
|
admin.site.register(Category) |