mirror of
https://gitlab.crans.org/mediatek/med.git
synced 2025-07-06 03:23:55 +02:00
Add ISBN data downloader
This commit is contained in:
@ -8,6 +8,7 @@ from django.utils.translation import ugettext_lazy as _
|
||||
from reversion.admin import VersionAdmin
|
||||
|
||||
from med.admin import admin_site
|
||||
from .forms import MediaAdminForm
|
||||
from .models import Auteur, Emprunt, Jeu, Media
|
||||
|
||||
|
||||
@ -17,16 +18,43 @@ class AuteurAdmin(VersionAdmin):
|
||||
|
||||
|
||||
class MediaAdmin(VersionAdmin):
|
||||
list_display = ('title', 'authors_list', 'side_title', 'isbn')
|
||||
list_display = ('title', 'authors_list', 'side_title', 'isbn',
|
||||
'external_link')
|
||||
search_fields = ('title', 'authors__nom', 'side_title', 'subtitle', 'isbn')
|
||||
autocomplete_fields = ('authors',)
|
||||
date_hierarchy = 'publish_date'
|
||||
form = MediaAdminForm
|
||||
|
||||
def authors_list(self, obj):
|
||||
return ", ".join([a.nom for a in obj.authors.all()])
|
||||
|
||||
authors_list.short_description = _('authors')
|
||||
|
||||
def external_link(self, obj):
|
||||
return format_html('<a href="{}" target="about:blank">{}</a>',
|
||||
obj.external_url, obj.external_url)
|
||||
|
||||
external_link.allow_tags = True
|
||||
external_link.short_description = _('external url')
|
||||
|
||||
def get_form(self, request, obj=None, **kwargs):
|
||||
"""
|
||||
Pass request to form (for ISBN magic)
|
||||
"""
|
||||
form = super().get_form(request, obj=obj, **kwargs)
|
||||
form.request = request
|
||||
return form
|
||||
|
||||
def changeform_view(self, request, object_id=None, form_url='',
|
||||
extra_context=None):
|
||||
"""
|
||||
We use _continue for ISBN fetching, so remove continue button
|
||||
"""
|
||||
extra_context = extra_context or {}
|
||||
extra_context['show_save_and_continue'] = False
|
||||
return super().changeform_view(request, object_id, form_url,
|
||||
extra_context=extra_context)
|
||||
|
||||
|
||||
class EmpruntAdmin(VersionAdmin):
|
||||
list_display = ('media', 'user', 'date_emprunt', 'date_rendu',
|
||||
|
Reference in New Issue
Block a user