Add basic actions
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from django.contrib import admin
|
||||
from common.utils import django_queryset_generator as qs_gen
|
||||
from .models import (
|
||||
Source,
|
||||
Media,
|
||||
@@ -22,16 +23,33 @@ class SourceAdmin(admin.ModelAdmin):
|
||||
class MediaAdmin(admin.ModelAdmin):
|
||||
|
||||
# https://docs.djangoproject.com/en/5.2/ref/contrib/admin/actions/
|
||||
# - skip
|
||||
# - unskip
|
||||
# - clear metadata
|
||||
# - redownload
|
||||
# actions = []
|
||||
actions = ['clear_metadata', 'redownload', 'skip', 'unskip']
|
||||
ordering = ('-created',)
|
||||
list_display = ('uuid', 'key', 'source', 'can_download', 'skip', 'downloaded')
|
||||
readonly_fields = ('uuid', 'created')
|
||||
search_fields = ('uuid', 'source__key', 'key')
|
||||
|
||||
@admin.action(description='Clear metadata from selected Media instances')
|
||||
def clear_metadata(self, request, queryset):
|
||||
# clear the metadata
|
||||
for media in qs_gen(queryset):
|
||||
media.metadata_clear(save=True)
|
||||
|
||||
@admin.action(description='Redownload selected Media instances')
|
||||
def redownload(self, request, queryset):
|
||||
# unset skip, manual_skip and downloaded
|
||||
queryset.update(skip=False, manual_skip=False, downloaded=False)
|
||||
|
||||
@admin.action(description='Skip selected Media instances')
|
||||
def skip(self, request, queryset):
|
||||
# set skip and manual_skip
|
||||
queryset.update(skip=True, manual_skip=True)
|
||||
|
||||
@admin.action(description='Unskip selected Media instances')
|
||||
def unskip(self, request, queryset):
|
||||
# unset skip and manual_skip
|
||||
queryset.update(skip=False, manual_skip=False)
|
||||
|
||||
|
||||
@admin.register(Metadata)
|
||||
class MetadataAdmin(admin.ModelAdmin):
|
||||
|
||||
Reference in New Issue
Block a user