From 7547f45a864c8f35f807a7901e57c77fe7626c64 Mon Sep 17 00:00:00 2001 From: "J.-S. Caux" <J.S.Caux@uva.nl> Date: Thu, 25 Apr 2019 12:04:29 +0200 Subject: [PATCH] Add PublicationProxyMetadata model, to ease Publication admin This was motivated by having to solve the screwup with BiBTeX entries between commits c1be30395e1b4d127cefd6e5e9790166198883c0 (2018-03-05) up to 2ad415ce10e914fd4e10fe0bfdb2edf02c331483 (2018-09-26) which caused all BiBTeX entries to miss a closing bracket in the title. --- journals/admin.py | 20 +++++++++++++- .../0062_publicationproxymetadata.py | 27 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 journals/migrations/0062_publicationproxymetadata.py diff --git a/journals/admin.py b/journals/admin.py index 707605c5b..0c640c05c 100644 --- a/journals/admin.py +++ b/journals/admin.py @@ -66,7 +66,7 @@ class OrgPubFractionInline(admin.TabularInline): class PublicationAdmin(admin.ModelAdmin): - search_fields = ['title', 'author_list'] + search_fields = ['title', 'author_list', 'doi_label'] list_display = ['title', 'author_list', 'in_issue', 'doi_string', 'publication_date', 'status'] date_hierarchy = 'publication_date' list_filter = ['in_issue'] @@ -77,6 +77,24 @@ class PublicationAdmin(admin.ModelAdmin): admin.site.register(Publication, PublicationAdmin) +class PublicationProxyMetadata(Publication): + search_fields = ['title', 'author_list', 'doi_label'] + list_display = ['title', 'author_list', 'in_issue', 'doi_string', 'publication_date', 'status'] + + class Meta: + proxy = True + verbose_name = 'Publication metadata' + verbose_name_plural = 'Publication metadata' + +class PublicationProxyMetadataAdmin(admin.ModelAdmin): + fields = ['metadata', 'metadata_xml', 'metadata_DOAJ', 'BiBTeX_entry'] + search_fields = ['title', 'author_list', 'doi_label'] + list_display = ['title', 'author_list', 'in_issue', 'doi_string', 'publication_date', 'status'] + + +admin.site.register(PublicationProxyMetadata, PublicationProxyMetadataAdmin) + + class DepositAdmin(admin.ModelAdmin): list_display = ('publication', 'timestamp', 'doi_batch_id', 'deposition_date',) readonly_fields = ('publication', 'doi_batch_id', 'metadata_xml', 'deposition_date',) diff --git a/journals/migrations/0062_publicationproxymetadata.py b/journals/migrations/0062_publicationproxymetadata.py new file mode 100644 index 000000000..256dbb1ba --- /dev/null +++ b/journals/migrations/0062_publicationproxymetadata.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.4 on 2019-04-25 10:03 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('journals', '0061_remove_publicationauthorstable_contributor'), + ] + + operations = [ + migrations.CreateModel( + name='PublicationProxyMetadata', + fields=[ + ], + options={ + 'indexes': [], + 'proxy': True, + 'verbose_name_plural': 'Publication metadata', + 'verbose_name': 'Publication metadata', + }, + bases=('journals.publication',), + ), + ] -- GitLab