Skip to content
Snippets Groups Projects
Commit 1b677d14 authored by Valentin Rigal's avatar Valentin Rigal
Browse files

Switch to structural MetaType

parent 9b2c47af
No related branches found
No related tags found
No related merge requests found
......@@ -119,11 +119,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'
}
}
]
}
......@@ -147,11 +149,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:
......@@ -390,11 +392,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'
}
}
]
}
......@@ -419,11 +423,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')
......@@ -542,11 +546,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'
}
}
]
}
......@@ -571,11 +577,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')
......
......@@ -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:
......
......@@ -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)
]
......@@ -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,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment