Fix search setup
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
@@ -10,12 +10,14 @@ from mayan.apps.common.menus import (
|
|||||||
menu_facet, menu_list_facet, menu_main, menu_multi_item, menu_object,
|
menu_facet, menu_list_facet, menu_main, menu_multi_item, menu_object,
|
||||||
menu_secondary
|
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.classes import ModelEventType
|
||||||
from mayan.apps.events.links import (
|
from mayan.apps.events.links import (
|
||||||
link_events_for_object, link_object_event_types_user_subcriptions_list,
|
link_events_for_object, link_object_event_types_user_subcriptions_list,
|
||||||
)
|
)
|
||||||
from mayan.apps.events.permissions import permission_events_view
|
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 mayan.apps.navigation.classes import SourceColumn
|
||||||
|
|
||||||
from .dependencies import * # NOQA
|
from .dependencies import * # NOQA
|
||||||
@@ -115,12 +117,16 @@ class CabinetsApp(MayanAppConfig):
|
|||||||
)
|
)
|
||||||
|
|
||||||
document_page_search.add_model_field(
|
document_page_search.add_model_field(
|
||||||
field='document_version__document__cabinets__label',
|
field='document__cabinets__label',
|
||||||
label=_('Cabinets')
|
label=_('Cabinets')
|
||||||
)
|
)
|
||||||
document_search.add_model_field(
|
document_search.add_model_field(
|
||||||
field='cabinets__label', label=_('Cabinets')
|
field='cabinets__label', label=_('Cabinets')
|
||||||
)
|
)
|
||||||
|
document_version_page_search.add_model_field(
|
||||||
|
field='document_version__document__cabinets__label',
|
||||||
|
label=_('Cabinets')
|
||||||
|
)
|
||||||
|
|
||||||
menu_facet.bind_links(
|
menu_facet.bind_links(
|
||||||
links=(link_document_cabinet_list,), sources=(Document,)
|
links=(link_document_cabinet_list,), sources=(Document,)
|
||||||
|
|||||||
@@ -8,7 +8,9 @@ from mayan.apps.common.apps import MayanAppConfig
|
|||||||
from mayan.apps.common.menus import (
|
from mayan.apps.common.menus import (
|
||||||
menu_facet, menu_list_facet, menu_object, menu_secondary
|
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.classes import ModelEventType
|
||||||
from mayan.apps.events.links import (
|
from mayan.apps.events.links import (
|
||||||
link_events_for_object, link_object_event_types_user_subcriptions_list
|
link_events_for_object, link_object_event_types_user_subcriptions_list
|
||||||
@@ -80,13 +82,17 @@ class DocumentCommentsApp(MayanAppConfig):
|
|||||||
SourceColumn(attribute='comment', source=Comment)
|
SourceColumn(attribute='comment', source=Comment)
|
||||||
|
|
||||||
document_page_search.add_model_field(
|
document_page_search.add_model_field(
|
||||||
field='document_version__document__comments__comment',
|
field='document__comments__comment',
|
||||||
label=_('Comments')
|
label=_('Comments')
|
||||||
)
|
)
|
||||||
document_search.add_model_field(
|
document_search.add_model_field(
|
||||||
field='comments__comment',
|
field='comments__comment',
|
||||||
label=_('Comments')
|
label=_('Comments')
|
||||||
)
|
)
|
||||||
|
document_version_page_search.add_model_field(
|
||||||
|
field='document_version__document__comments__comment',
|
||||||
|
label=_('Comments')
|
||||||
|
)
|
||||||
|
|
||||||
menu_facet.bind_links(
|
menu_facet.bind_links(
|
||||||
links=(link_comments_for_document,), sources=(Document,)
|
links=(link_comments_for_document,), sources=(Document,)
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ from mayan.apps.common.classes import ModelField
|
|||||||
from mayan.apps.common.menus import (
|
from mayan.apps.common.menus import (
|
||||||
menu_facet, menu_list_facet, menu_multi_item, menu_secondary, menu_tools
|
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.documents.signals import post_version_upload
|
||||||
from mayan.apps.events.classes import ModelEventType
|
from mayan.apps.events.classes import ModelEventType
|
||||||
from mayan.apps.navigation.classes import SourceColumn
|
from mayan.apps.navigation.classes import SourceColumn
|
||||||
@@ -133,10 +135,10 @@ class DocumentParsingApp(MayanAppConfig):
|
|||||||
)
|
)
|
||||||
|
|
||||||
document_search.add_model_field(
|
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')
|
field='content__content', label=_('Content')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ document_search = SearchModel(
|
|||||||
model_name='Document', permission=permission_document_view,
|
model_name='Document', permission=permission_document_view,
|
||||||
serializer_path='mayan.apps.documents.serializers.DocumentSerializer'
|
serializer_path='mayan.apps.documents.serializers.DocumentSerializer'
|
||||||
)
|
)
|
||||||
|
'''
|
||||||
document_search.add_model_field(
|
document_search.add_model_field(
|
||||||
field='document_type__label', label=_('Document type')
|
field='document_type__label', label=_('Document type')
|
||||||
)
|
)
|
||||||
@@ -51,10 +51,10 @@ document_search.add_model_field(
|
|||||||
field='uuid', label=_('UUID'),
|
field='uuid', label=_('UUID'),
|
||||||
transformation_function=transformation_format_uuid
|
transformation_function=transformation_format_uuid
|
||||||
)
|
)
|
||||||
document_search.add_model_field(
|
#document_search.add_model_field(
|
||||||
field='versions__checksum', label=_('Checksum')
|
# field='versions__checksum', label=_('Checksum')
|
||||||
)
|
#)
|
||||||
|
'''
|
||||||
document_page_search = SearchModel(
|
document_page_search = SearchModel(
|
||||||
app_label='documents', list_mode=LIST_MODE_CHOICE_ITEM,
|
app_label='documents', list_mode=LIST_MODE_CHOICE_ITEM,
|
||||||
model_name='DocumentPage', permission=permission_document_view,
|
model_name='DocumentPage', permission=permission_document_view,
|
||||||
@@ -65,10 +65,10 @@ document_page_search = SearchModel(
|
|||||||
document_version_page_search = SearchModel(
|
document_version_page_search = SearchModel(
|
||||||
app_label='documents', list_mode=LIST_MODE_CHOICE_ITEM,
|
app_label='documents', list_mode=LIST_MODE_CHOICE_ITEM,
|
||||||
model_name='DocumentVersionPage', permission=permission_document_view,
|
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'
|
serializer_path='mayan.apps.documents.serializers.DocumentPageVersionSerializer'
|
||||||
)
|
)
|
||||||
|
'''
|
||||||
document_page_search.add_model_field(
|
document_page_search.add_model_field(
|
||||||
field='document__document_type__label',
|
field='document__document_type__label',
|
||||||
label=_('Document type')
|
label=_('Document type')
|
||||||
@@ -83,10 +83,12 @@ document_page_search.add_model_field(
|
|||||||
document_page_search.add_model_field(
|
document_page_search.add_model_field(
|
||||||
field='document__description', label=_('Description')
|
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(
|
document_version_page_search.add_model_field(
|
||||||
field='document_version__document__document_type__label',
|
field='document_version__document__document_type__label',
|
||||||
label=_('Document type')
|
label=_('Document type')
|
||||||
@@ -104,3 +106,4 @@ document_version_page_search.add_model_field(
|
|||||||
document_version_page_search.add_model_field(
|
document_version_page_search.add_model_field(
|
||||||
field='document_version__checksum', label=_('Checksum')
|
field='document_version__checksum', label=_('Checksum')
|
||||||
)
|
)
|
||||||
|
'''
|
||||||
|
|||||||
@@ -601,12 +601,10 @@ class TrashedDocumentAPIViewTestMixin(object):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def _request_test_trashed_document_api_image_view(self):
|
def _request_test_trashed_document_api_image_view(self):
|
||||||
latest_version = self.test_document.latest_version
|
|
||||||
|
|
||||||
return self.get(
|
return self.get(
|
||||||
viewname='rest_api:documentpage-image', kwargs={
|
viewname='rest_api:documentpage-image', kwargs={
|
||||||
'pk': latest_version.document.pk,
|
'pk': self.test_document.pk,
|
||||||
'page_pk': latest_version.pages.first().pk
|
'page_pk': self.test_document.pages.first().pk
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -184,7 +184,14 @@ class SearchModel(object):
|
|||||||
query_string=query_string, global_and_search=global_and_search
|
query_string=query_string, global_and_search=global_and_search
|
||||||
)
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
queryset = self.get_queryset().filter(search_query.query).distinct()
|
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:
|
if self.permission:
|
||||||
queryset = AccessControlList.objects.restrict_queryset(
|
queryset = AccessControlList.objects.restrict_queryset(
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ from mayan.apps.common.menus import (
|
|||||||
menu_tools
|
menu_tools
|
||||||
)
|
)
|
||||||
from mayan.apps.document_indexing.handlers import handler_index_document
|
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.documents.signals import post_version_upload
|
||||||
from mayan.apps.events.classes import ModelEventType
|
from mayan.apps.events.classes import ModelEventType
|
||||||
from mayan.apps.navigation.classes import SourceColumn
|
from mayan.apps.navigation.classes import SourceColumn
|
||||||
@@ -156,11 +158,19 @@ class FileMetadataApp(MayanAppConfig):
|
|||||||
label=_('File metadata value')
|
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',
|
field='document_version__file_metadata_drivers__entries__key',
|
||||||
label=_('File metadata 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',
|
field='document_version__file_metadata_drivers__entries__value',
|
||||||
label=_('File metadata value')
|
label=_('File metadata value')
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -16,7 +16,9 @@ from mayan.apps.common.menus import (
|
|||||||
menu_facet, menu_list_facet, menu_multi_item, menu_object, menu_secondary,
|
menu_facet, menu_list_facet, menu_multi_item, menu_object, menu_secondary,
|
||||||
menu_setup
|
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.documents.signals import post_document_type_change
|
||||||
from mayan.apps.events.classes import ModelEventType
|
from mayan.apps.events.classes import ModelEventType
|
||||||
from mayan.apps.events.links import (
|
from mayan.apps.events.links import (
|
||||||
@@ -188,10 +190,18 @@ class MetadataApp(MayanAppConfig):
|
|||||||
)
|
)
|
||||||
|
|
||||||
document_page_search.add_model_field(
|
document_page_search.add_model_field(
|
||||||
field='document_version__document__metadata__metadata_type__name',
|
field='document__metadata__metadata_type__name',
|
||||||
label=_('Metadata type')
|
label=_('Metadata type')
|
||||||
)
|
)
|
||||||
document_page_search.add_model_field(
|
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',
|
field='document_version__document__metadata__value',
|
||||||
label=_('Metadata value')
|
label=_('Metadata value')
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ from mayan.apps.common.classes import ModelField
|
|||||||
from mayan.apps.common.menus import (
|
from mayan.apps.common.menus import (
|
||||||
menu_facet, menu_list_facet, menu_multi_item, menu_secondary, menu_tools
|
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.documents.signals import post_version_upload
|
||||||
from mayan.apps.events.classes import ModelEventType
|
from mayan.apps.events.classes import ModelEventType
|
||||||
from mayan.apps.navigation.classes import SourceColumn
|
from mayan.apps.navigation.classes import SourceColumn
|
||||||
@@ -128,12 +130,14 @@ class OCRApp(MayanAppConfig):
|
|||||||
)
|
)
|
||||||
|
|
||||||
document_search.add_model_field(
|
document_search.add_model_field(
|
||||||
field='pages__ocr_content__content', label=_('OCR')
|
field='versions__pages__ocr_content__content', label=_('OCR')
|
||||||
)
|
)
|
||||||
|
document_version_page_search.add_model_field(
|
||||||
document_page_search.add_model_field(
|
|
||||||
field='ocr_content__content', label=_('OCR')
|
field='ocr_content__content', label=_('OCR')
|
||||||
)
|
)
|
||||||
|
#document_page_search.add_model_field(
|
||||||
|
# field='ocr_content__content', label=_('OCR')
|
||||||
|
#)
|
||||||
|
|
||||||
menu_facet.bind_links(
|
menu_facet.bind_links(
|
||||||
links=(link_document_ocr_content,), sources=(Document,)
|
links=(link_document_ocr_content,), sources=(Document,)
|
||||||
|
|||||||
@@ -13,7 +13,9 @@ from mayan.apps.common.menus import (
|
|||||||
menu_facet, menu_list_facet, menu_main, menu_multi_item, menu_object,
|
menu_facet, menu_list_facet, menu_main, menu_multi_item, menu_object,
|
||||||
menu_secondary
|
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.classes import ModelEventType
|
||||||
from mayan.apps.events.links import (
|
from mayan.apps.events.links import (
|
||||||
link_events_for_object, link_object_event_types_user_subcriptions_list,
|
link_events_for_object, link_object_event_types_user_subcriptions_list,
|
||||||
@@ -133,9 +135,12 @@ class TagsApp(MayanAppConfig):
|
|||||||
)
|
)
|
||||||
|
|
||||||
document_page_search.add_model_field(
|
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_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(
|
menu_facet.bind_links(
|
||||||
links=(link_document_tag_list,), sources=(Document,)
|
links=(link_document_tag_list,), sources=(Document,)
|
||||||
|
|||||||
Reference in New Issue
Block a user