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 django.utils.html import strip_tags
from adminsortable2.admin import SortableAdminBase, SortableInlineAdminMixin from adminsortable2.admin import SortableAdminBase, SortableInlineAdminMixin
from ram.admin import publish, unpublish
from ram.utils import generate_csv from ram.utils import generate_csv
from portal.utils import get_site_conf from portal.utils import get_site_conf
from bookshelf.models import ( from bookshelf.models import (
@@ -170,7 +171,7 @@ class BookAdmin(SortableAdminBase, admin.ModelAdmin):
return generate_csv(header, data, "bookshelf_books.csv") return generate_csv(header, data, "bookshelf_books.csv")
download_csv.short_description = "Download selected items as CSV" download_csv.short_description = "Download selected items as CSV"
actions = [download_csv] actions = [publish, unpublish, download_csv]
@admin.register(Author) @admin.register(Author)
@@ -312,4 +313,4 @@ class CatalogAdmin(SortableAdminBase, admin.ModelAdmin):
return generate_csv(header, data, "bookshelf_catalogs.csv") return generate_csv(header, data, "bookshelf_catalogs.csv")
download_csv.short_description = "Download selected items as 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 django.contrib import admin
from adminsortable2.admin import SortableAdminBase, SortableInlineAdminMixin from adminsortable2.admin import SortableAdminBase, SortableInlineAdminMixin
from ram.admin import publish, unpublish
from consist.models import Consist, ConsistItem 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 django.contrib import admin
from solo.admin import SingletonModelAdmin from solo.admin import SingletonModelAdmin
from ram.admin import publish, unpublish
from portal.models import SiteConfiguration, Flatpage 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 from ram.utils import git_suffix
__version__ = "0.15.4" __version__ = "0.15.5"
__version__ += git_suffix(__file__) __version__ += git_suffix(__file__)

View File

@@ -2,3 +2,21 @@ from django.contrib import admin
from django.conf import settings from django.conf import settings
admin.site.site_header = settings.SITE_NAME 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 adminsortable2.admin import SortableAdminBase, SortableInlineAdminMixin
from ram.admin import publish, unpublish
from ram.utils import generate_csv from ram.utils import generate_csv
from portal.utils import get_site_conf from portal.utils import get_site_conf
from roster.models import ( from roster.models import (
@@ -263,4 +264,4 @@ class RollingStockAdmin(SortableAdminBase, admin.ModelAdmin):
return generate_csv(header, data, "rolling_stock.csv") return generate_csv(header, data, "rolling_stock.csv")
download_csv.short_description = "Download selected items as CSV" download_csv.short_description = "Download selected items as CSV"
actions = [download_csv] actions = [publish, unpublish, download_csv]