X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/360d9d37f72b1c6e2edb83c3a0218e55578134f3..1c013c31745b335962a07057f962e47212faf80f:/src/wlxml/views.py diff --git a/src/wlxml/views.py b/src/wlxml/views.py index 281ced5d..8c03e058 100644 --- a/src/wlxml/views.py +++ b/src/wlxml/views.py @@ -7,8 +7,8 @@ from librarian.dcparser import BookInfo from librarian.document import WLDocument from librarian.builders import StandaloneHtmlBuilder from librarian.meta.types.wluri import WLURI -from librarian.meta.types.text import LegimiCategory, Epoch, Kind, Genre, Audience -from depot.legimi import legimi +from librarian.meta.types.text import LegimiCategory, Epoch, Kind, Genre, Audience, ThemaCategory, MainThemaCategory +from depot.publishers.legimi import Legimi class XslView(TemplateView): @@ -48,7 +48,28 @@ class TagView(DetailView): VALUE_TYPES = { LegimiCategory: { 'widget': 'select', - 'options': list(legimi.CATEGORIES.keys()), + 'options': [''] + list(Legimi.CATEGORIES.keys()), + }, + Audience: { + 'autocomplete': { + 'source': '/catalogue/terms/audience/', + } + }, + ThemaCategory: { + 'autocomplete': { + 'source': '/catalogue/terms/thema/', + }, + 'chooser': { + 'source': '/catalogue/chooser/thema/', + }, + }, + MainThemaCategory: { + 'autocomplete': { + 'source': '/catalogue/terms/thema-main/', + }, + 'chooser': { + 'source': '/catalogue/chooser/thema-main/', + }, }, Epoch: { 'autocomplete': { @@ -104,6 +125,7 @@ VALUE_TYPES = { "language": { 'widget': 'select', 'options': [ + '', 'pol', 'eng', 'fre', @@ -113,7 +135,7 @@ VALUE_TYPES = { }, "publisher": { "autocomplete": { - "source": ["Fundacja Nowoczesna Polska"] + "source": ["Fundacja Wolne Lektury"] } }, @@ -144,7 +166,17 @@ class MetaTagsView(View): ) ) ) - fields.append(d) + if d['name'] == 'thema': + d_loc = d.copy() + d_time = d.copy() + d['filter'] = {'not': {'startswith': ['1', '3']}} + d_loc['filter'] = {'startswith': ['1']} + d_loc['name'] += ' (miejsca)' + d_time['filter'] = {'startswith': ['3']} + d_time['name'] += ' (czas)' + fields.extend([d, d_loc, d_time]) + else: + fields.append(d) return HttpResponse( 'let META_FIELDS = ' + json.dumps(fields),