Fix search setup

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-10-09 17:15:59 -04:00
parent 64abf66f22
commit f163dc78d4
10 changed files with 84 additions and 33 deletions

View File

@@ -10,12 +10,14 @@ from mayan.apps.common.menus import (
menu_facet, menu_list_facet, menu_main, menu_multi_item, menu_object,
menu_secondary
)
from mayan.apps.documents.search import (
document_page_search, document_search, document_version_page_search
)
from mayan.apps.events.classes import ModelEventType
from mayan.apps.events.links import (
link_events_for_object, link_object_event_types_user_subcriptions_list,
)
from mayan.apps.events.permissions import permission_events_view
from mayan.apps.documents.search import document_page_search, document_search
from mayan.apps.navigation.classes import SourceColumn
from .dependencies import * # NOQA
@@ -115,12 +117,16 @@ class CabinetsApp(MayanAppConfig):
)
document_page_search.add_model_field(
field='document_version__document__cabinets__label',
field='document__cabinets__label',
label=_('Cabinets')
)
document_search.add_model_field(
field='cabinets__label', label=_('Cabinets')
)
document_version_page_search.add_model_field(
field='document_version__document__cabinets__label',
label=_('Cabinets')
)
menu_facet.bind_links(
links=(link_document_cabinet_list,), sources=(Document,)

View File

@@ -8,7 +8,9 @@ from mayan.apps.common.apps import MayanAppConfig
from mayan.apps.common.menus import (
menu_facet, menu_list_facet, menu_object, menu_secondary
)
from mayan.apps.documents.search import document_page_search, document_search
from mayan.apps.documents.search import (
document_page_search, document_search, document_version_page_search
)
from mayan.apps.events.classes import ModelEventType
from mayan.apps.events.links import (
link_events_for_object, link_object_event_types_user_subcriptions_list
@@ -80,13 +82,17 @@ class DocumentCommentsApp(MayanAppConfig):
SourceColumn(attribute='comment', source=Comment)
document_page_search.add_model_field(
field='document_version__document__comments__comment',
field='document__comments__comment',
label=_('Comments')
)
document_search.add_model_field(
field='comments__comment',
label=_('Comments')
)
document_version_page_search.add_model_field(
field='document_version__document__comments__comment',
label=_('Comments')
)
menu_facet.bind_links(
links=(link_comments_for_document,), sources=(Document,)

View File

@@ -12,7 +12,9 @@ from mayan.apps.common.classes import ModelField
from mayan.apps.common.menus import (
menu_facet, menu_list_facet, menu_multi_item, menu_secondary, menu_tools
)
from mayan.apps.documents.search import document_search, document_page_search
from mayan.apps.documents.search import (
document_search, document_page_search, document_version_page_search
)
from mayan.apps.documents.signals import post_version_upload
from mayan.apps.events.classes import ModelEventType
from mayan.apps.navigation.classes import SourceColumn
@@ -133,10 +135,10 @@ class DocumentParsingApp(MayanAppConfig):
)
document_search.add_model_field(
field='pages__content__content', label=_('Content')
field='versions__pages__content__content', label=_('Content')
)
document_page_search.add_model_field(
document_version_page_search.add_model_field(
field='content__content', label=_('Content')
)

View File

@@ -38,7 +38,7 @@ document_search = SearchModel(
model_name='Document', permission=permission_document_view,
serializer_path='mayan.apps.documents.serializers.DocumentSerializer'
)
'''
document_search.add_model_field(
field='document_type__label', label=_('Document type')
)
@@ -51,10 +51,10 @@ document_search.add_model_field(
field='uuid', label=_('UUID'),
transformation_function=transformation_format_uuid
)
document_search.add_model_field(
field='versions__checksum', label=_('Checksum')
)
#document_search.add_model_field(
# field='versions__checksum', label=_('Checksum')
#)
'''
document_page_search = SearchModel(
app_label='documents', list_mode=LIST_MODE_CHOICE_ITEM,
model_name='DocumentPage', permission=permission_document_view,
@@ -65,10 +65,10 @@ document_page_search = SearchModel(
document_version_page_search = SearchModel(
app_label='documents', list_mode=LIST_MODE_CHOICE_ITEM,
model_name='DocumentVersionPage', permission=permission_document_view,
queryset=get_queryset_document_version_page_search_queryset,
#queryset=get_queryset_document_version_page_search_queryset,
serializer_path='mayan.apps.documents.serializers.DocumentPageVersionSerializer'
)
'''
document_page_search.add_model_field(
field='document__document_type__label',
label=_('Document type')
@@ -83,10 +83,12 @@ document_page_search.add_model_field(
document_page_search.add_model_field(
field='document__description', label=_('Description')
)
document_page_search.add_model_field(
field='document__document_version__checksum', label=_('Checksum')
)
'''
#document_page_search.add_model_field(
# field='document__document_version__checksum', label=_('Checksum')
#)
'''
document_version_page_search.add_model_field(
field='document_version__document__document_type__label',
label=_('Document type')
@@ -104,3 +106,4 @@ document_version_page_search.add_model_field(
document_version_page_search.add_model_field(
field='document_version__checksum', label=_('Checksum')
)
'''

View File

@@ -601,12 +601,10 @@ class TrashedDocumentAPIViewTestMixin(object):
)
def _request_test_trashed_document_api_image_view(self):
latest_version = self.test_document.latest_version
return self.get(
viewname='rest_api:documentpage-image', kwargs={
'pk': latest_version.document.pk,
'page_pk': latest_version.pages.first().pk
'pk': self.test_document.pk,
'page_pk': self.test_document.pages.first().pk
}
)

View File

@@ -184,7 +184,14 @@ class SearchModel(object):
query_string=query_string, global_and_search=global_and_search
)
try:
queryset = self.get_queryset().filter(search_query.query).distinct()
except Exception:
logger.error(
'Error filtering model %s with queryset: %s', self.model,
search_query.query
)
raise
if self.permission:
queryset = AccessControlList.objects.restrict_queryset(

View File

@@ -12,7 +12,9 @@ from mayan.apps.common.menus import (
menu_tools
)
from mayan.apps.document_indexing.handlers import handler_index_document
from mayan.apps.documents.search import document_page_search, document_search
from mayan.apps.documents.search import (
document_page_search, document_search, document_version_page_search
)
from mayan.apps.documents.signals import post_version_upload
from mayan.apps.events.classes import ModelEventType
from mayan.apps.navigation.classes import SourceColumn
@@ -156,11 +158,19 @@ class FileMetadataApp(MayanAppConfig):
label=_('File metadata value')
)
document_page_search.add_model_field(
#document_page_search.add_model_field(
# field='document__document_version__file_metadata_drivers__entries__key',
# label=_('File metadata key')
#)
#document_page_search.add_model_field(
# field='document__document_version__file_metadata_drivers__entries__value',
# label=_('File metadata value')
#)
document_version_page_search.add_model_field(
field='document_version__file_metadata_drivers__entries__key',
label=_('File metadata key')
)
document_page_search.add_model_field(
document_version_page_search.add_model_field(
field='document_version__file_metadata_drivers__entries__value',
label=_('File metadata value')
)

View File

@@ -16,7 +16,9 @@ from mayan.apps.common.menus import (
menu_facet, menu_list_facet, menu_multi_item, menu_object, menu_secondary,
menu_setup
)
from mayan.apps.documents.search import document_page_search, document_search
from mayan.apps.documents.search import (
document_page_search, document_search, document_version_page_search
)
from mayan.apps.documents.signals import post_document_type_change
from mayan.apps.events.classes import ModelEventType
from mayan.apps.events.links import (
@@ -188,10 +190,18 @@ class MetadataApp(MayanAppConfig):
)
document_page_search.add_model_field(
field='document_version__document__metadata__metadata_type__name',
field='document__metadata__metadata_type__name',
label=_('Metadata type')
)
document_page_search.add_model_field(
field='document__metadata__value',
label=_('Metadata value')
)
document_version_page_search.add_model_field(
field='document_version__document__metadata__metadata_type__name',
label=_('Metadata type')
)
document_version_page_search.add_model_field(
field='document_version__document__metadata__value',
label=_('Metadata value')
)

View File

@@ -12,7 +12,9 @@ from mayan.apps.common.classes import ModelField
from mayan.apps.common.menus import (
menu_facet, menu_list_facet, menu_multi_item, menu_secondary, menu_tools
)
from mayan.apps.documents.search import document_search, document_page_search
from mayan.apps.documents.search import (
document_search, document_page_search, document_version_page_search
)
from mayan.apps.documents.signals import post_version_upload
from mayan.apps.events.classes import ModelEventType
from mayan.apps.navigation.classes import SourceColumn
@@ -128,12 +130,14 @@ class OCRApp(MayanAppConfig):
)
document_search.add_model_field(
field='pages__ocr_content__content', label=_('OCR')
field='versions__pages__ocr_content__content', label=_('OCR')
)
document_page_search.add_model_field(
document_version_page_search.add_model_field(
field='ocr_content__content', label=_('OCR')
)
#document_page_search.add_model_field(
# field='ocr_content__content', label=_('OCR')
#)
menu_facet.bind_links(
links=(link_document_ocr_content,), sources=(Document,)

View File

@@ -13,7 +13,9 @@ from mayan.apps.common.menus import (
menu_facet, menu_list_facet, menu_main, menu_multi_item, menu_object,
menu_secondary
)
from mayan.apps.documents.search import document_page_search, document_search
from mayan.apps.documents.search import (
document_page_search, document_search, document_version_page_search
)
from mayan.apps.events.classes import ModelEventType
from mayan.apps.events.links import (
link_events_for_object, link_object_event_types_user_subcriptions_list,
@@ -133,9 +135,12 @@ class TagsApp(MayanAppConfig):
)
document_page_search.add_model_field(
field='document_version__document__tags__label', label=_('Tags')
field='document__tags__label', label=_('Tags')
)
document_search.add_model_field(field='tags__label', label=_('Tags'))
document_version_page_search.add_model_field(
field='document_version__document__tags__label', label=_('Tags')
)
menu_facet.bind_links(
links=(link_document_tag_list,), sources=(Document,)