fix
[redakcja.git] / src / catalogue / admin.py
index 43ae866..7eafe7b 100644 (file)
@@ -15,6 +15,7 @@ from fnpdjango.actions import export_as_csv_action
 from modeltranslation.admin import TabbedTranslationAdmin
 from . import models
 import documents.models
 from modeltranslation.admin import TabbedTranslationAdmin
 from . import models
 import documents.models
+import sources.models
 from .wikidata import WikidataAdminMixin
 
 
 from .wikidata import WikidataAdminMixin
 
 
@@ -73,6 +74,20 @@ class WoblinkCatalogueWidget(forms.Select):
         )
         return attrs
 
         )
         return attrs
 
+    def optgroups(self, name, value, attrs=None):
+        """ Add synthetic option for keeping the current value. """
+        return [(None, [
+            self.create_option(
+                name,
+                v,
+                '(bez zmian)',
+                selected=True,
+                index=index,
+                attrs=attrs,
+            )
+            for index, v in enumerate(value)
+        ], 0)]
+
 class WoblinkAuthorWidget(WoblinkCatalogueWidget):
     category = 'author'
 
 class WoblinkAuthorWidget(WoblinkCatalogueWidget):
     category = 'author'
 
@@ -287,7 +302,13 @@ class FirstPublicationYearFilter(admin.ListFilter):
         ]
 
 
         ]
 
 
+class SourcesInline(admin.TabularInline):
+    model = sources.models.BookSource
+    extra = 1
+
+
 class BookAdmin(WikidataAdminMixin, NumericFilterModelAdmin):
 class BookAdmin(WikidataAdminMixin, NumericFilterModelAdmin):
+    inlines = [SourcesInline]
     list_display = [
         "smart_title",
         "authors_str",
     list_display = [
         "smart_title",
         "authors_str",
@@ -399,6 +420,7 @@ class BookAdmin(WikidataAdminMixin, NumericFilterModelAdmin):
                     "based_on",
                     "original_year",
                     "pd_year",
                     "based_on",
                     "original_year",
                     "pd_year",
+                    "plwiki",
                 ]
             },
         ),
                 ]
             },
         ),