Hard linking of texts to catalogue.
[redakcja.git] / src / wlxml / views.py
index 281ced5..8c03e05 100644 (file)
@@ -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),