diff --git a/arkindex/documents/api/elements.py b/arkindex/documents/api/elements.py index 68b1265b5ce0944506e2dca71ec4f83da2678822..b9e106300df51b6891ff05f72bdbda8ea8d6787a 100644 --- a/arkindex/documents/api/elements.py +++ b/arkindex/documents/api/elements.py @@ -115,11 +115,13 @@ class ElementsList(CorpusACLMixin, ListAPIView): } }, { - 'name': 'structure', + 'name': 'structural_metadata', 'in': 'query', 'description': 'Filter elements by a structural metadata.', 'required': False, - 'schema': {'type': 'string'}, + 'schema': { + 'type': 'string' + } } ] } @@ -143,11 +145,11 @@ class ElementsList(CorpusACLMixin, ListAPIView): if only_folder is not None: filters['type__folder'] = only_folder.lower() not in ('false', '0') - structure_param = self.request.query_params.get('structure') - if structure_param is not None: + structural_metadata = self.request.query_params.get('structural_metadata') + if structural_metadata is not None: filters['metadatas__in'] = MetaData.objects.filter( - type=MetaType.Structure, - value__icontains=structure_param + type=MetaType.Structural, + value__icontains=structural_metadata ) if 'corpus' in self.request.query_params: @@ -386,11 +388,13 @@ class ElementParents(ListAPIView): } }, { - 'name': 'structure', + 'name': 'structural_metadata', 'in': 'query', 'description': 'Filter elements by a structural metadata.', 'required': False, - 'schema': {'type': 'string'}, + 'schema': { + 'type': 'string' + } } ] } @@ -415,11 +419,11 @@ class ElementParents(ListAPIView): if only_folder is not None: filters['type__folder'] = only_folder.lower() not in ('false', '0') - structure_param = self.request.query_params.get('structure') - if structure_param is not None: + structural_metadata = self.request.query_params.get('structural_metadata') + if structural_metadata is not None: filters['metadatas__in'] = MetaData.objects.filter( - type=MetaType.Structure, - value__icontains=structure_param + type=MetaType.Structural, + value__icontains=structural_metadata ) recursive_param = self.request.query_params.get('recursive') @@ -536,11 +540,13 @@ class ElementChildren(ListAPIView): } }, { - 'name': 'structure', + 'name': 'structural_metadata', 'in': 'query', 'description': 'Filter elements by a structural metadata.', 'required': False, - 'schema': {'type': 'string'}, + 'schema': { + 'type': 'string' + } } ] } @@ -565,11 +571,11 @@ class ElementChildren(ListAPIView): if only_folder is not None: filters['type__folder'] = only_folder.lower() not in ('false', '0') - structure_param = self.request.query_params.get('structure') - if structure_param is not None: + structural_metadata = self.request.query_params.get('structural_metadata') + if structural_metadata is not None: filters['metadatas__in'] = MetaData.objects.filter( - type=MetaType.Structure, - value__icontains=structure_param + type=MetaType.Structural, + value__icontains=structural_metadata ) recursive_param = self.request.query_params.get('recursive') diff --git a/arkindex/documents/api/search.py b/arkindex/documents/api/search.py index 4860f73c673393057bae0a5125eb7c7655b9784f..fe72423bfe24b2e48734d622478fa534c457f4b4 100644 --- a/arkindex/documents/api/search.py +++ b/arkindex/documents/api/search.py @@ -56,7 +56,7 @@ class ElementSearch(SearchAPIView): if structural_metadata: search = search.filter( 'wildcard', - structure='*{}*'.format(structural_metadata) + structural_metadata='*{}*'.format(structural_metadata) ) if element_type: diff --git a/arkindex/documents/migrations/0028_structure_metadata.py b/arkindex/documents/migrations/0028_structural_metadata.py similarity index 76% rename from arkindex/documents/migrations/0028_structure_metadata.py rename to arkindex/documents/migrations/0028_structural_metadata.py index bca21aac819e552621b57c6978007d6752f2651a..4fe0ccb8ad5c16bc0eb9b794f1429f1eedd0432a 100644 --- a/arkindex/documents/migrations/0028_structure_metadata.py +++ b/arkindex/documents/migrations/0028_structural_metadata.py @@ -16,19 +16,19 @@ def update_balsac_pages(apps, schema_editor): print('Renamed {} metadata from BALSAC corpora'.format(renamed_count)) -def structure_metadata(apps, schema_editor): +def structural_metadata(apps, schema_editor): """ Update reference """ MetaData = apps.get_model('documents', 'MetaData') references = MetaData.objects.filter(Q(name='Reference') | Q(name='reference'), type=MetaType.Text) - moved_count = references.update(type=MetaType.Structure) - print('Moved {} reference metadata to Structure type'.format(moved_count)) + moved_count = references.update(type=MetaType.Structural) + print('Moved {} reference metadata to Structural type'.format(moved_count)) def reverse_migration(apps, schema_editor): MetaData = apps.get_model('documents', 'MetaData') - MetaData.objects.filter(type=MetaType.Structure).update(type=MetaType.Text) + MetaData.objects.filter(type=MetaType.Structural).update(type=MetaType.Text) class Migration(migrations.Migration): @@ -39,5 +39,5 @@ class Migration(migrations.Migration): operations = [ migrations.RunPython(update_balsac_pages, migrations.RunPython.noop), - migrations.RunPython(structure_metadata, reverse_migration) + migrations.RunPython(structural_metadata, reverse_migration) ] diff --git a/arkindex/project/elastic.py b/arkindex/project/elastic.py index 6c2779bab39c46c81776baf619c388b85af665fd..cd122035f5aed113dc9a2258c672a9a9240ef3e8 100644 --- a/arkindex/project/elastic.py +++ b/arkindex/project/elastic.py @@ -95,7 +95,7 @@ class ESElement(Document): corpus = Keyword() # Used exclusively for sorting parents = Keyword() - structure = Keyword() + structural_metadata = Keyword() transcriptions = Nested(ESTranscriptionInnerDoc) date_range = RawDateRange(format='yyyy||yyyy-MM||yyyy-MM-dd') @@ -138,9 +138,9 @@ class ESElement(Document): element.name for element in Element.objects.get_ascending(instance.id) ], - structure=[ + structural_metadata=[ md.value - for md in instance.metadatas.filter(type=MetaType.Structure) + for md in instance.metadatas.filter(type=MetaType.Structural) ], transcriptions=list(map( ESTranscriptionInnerDoc.from_model,