Implement publish, unpublish actions

This commit is contained in:
2025-01-08 23:47:58 +01:00
parent 26be22c0bd
commit 1e7f72e9ec
6 changed files with 28 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ from django.contrib import admin
from django.utils.html import strip_tags
from adminsortable2.admin import SortableAdminBase, SortableInlineAdminMixin
from ram.admin import publish, unpublish
from ram.utils import generate_csv
from portal.utils import get_site_conf
from bookshelf.models import (
@@ -170,7 +171,7 @@ class BookAdmin(SortableAdminBase, admin.ModelAdmin):
return generate_csv(header, data, "bookshelf_books.csv")
download_csv.short_description = "Download selected items as CSV"
actions = [download_csv]
actions = [publish, unpublish, download_csv]
@admin.register(Author)
@@ -312,4 +313,4 @@ class CatalogAdmin(SortableAdminBase, admin.ModelAdmin):
return generate_csv(header, data, "bookshelf_catalogs.csv")
download_csv.short_description = "Download selected items as CSV"
actions = [download_csv]
actions = [publish, unpublish, download_csv]

View File

@@ -1,6 +1,7 @@
from django.contrib import admin
from adminsortable2.admin import SortableAdminBase, SortableInlineAdminMixin
from ram.admin import publish, unpublish
from consist.models import Consist, ConsistItem
@@ -58,3 +59,4 @@ class ConsistAdmin(SortableAdminBase, admin.ModelAdmin):
},
),
)
actions = [publish, unpublish]

View File

@@ -1,6 +1,7 @@
from django.contrib import admin
from solo.admin import SingletonModelAdmin
from ram.admin import publish, unpublish
from portal.models import SiteConfiguration, Flatpage
@@ -67,3 +68,4 @@ class FlatpageAdmin(admin.ModelAdmin):
},
),
)
actions = [publish, unpublish]

View File

@@ -1,4 +1,4 @@
from ram.utils import git_suffix
__version__ = "0.15.4"
__version__ = "0.15.5"
__version__ += git_suffix(__file__)

View File

@@ -2,3 +2,21 @@ from django.contrib import admin
from django.conf import settings
admin.site.site_header = settings.SITE_NAME
def publish(modeladmin, request, queryset):
for obj in queryset:
obj.published = True
obj.save()
publish.short_description = "Publish selected items"
def unpublish(modeladmin, request, queryset):
for obj in queryset:
obj.published = False
obj.save()
unpublish.short_description = "Unpublish selected items"

View File

@@ -6,6 +6,7 @@ from django.utils.html import strip_tags
from adminsortable2.admin import SortableAdminBase, SortableInlineAdminMixin
from ram.admin import publish, unpublish
from ram.utils import generate_csv
from portal.utils import get_site_conf
from roster.models import (
@@ -263,4 +264,4 @@ class RollingStockAdmin(SortableAdminBase, admin.ModelAdmin):
return generate_csv(header, data, "rolling_stock.csv")
download_csv.short_description = "Download selected items as CSV"
actions = [download_csv]
actions = [publish, unpublish, download_csv]