Make tags, metadata types and cabinets searchable via the dynamic search API.

GitLab issue #344.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2017-06-17 03:20:16 -04:00
parent 40ab6b6f9f
commit 0deff19202
7 changed files with 75 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ XX (2017-XX-XX)
- Added PDF orientation detection. GitLab issue #387.
- Fix repeated permission list API URL. GitLab issue #389.
- Fix role creation API endpoint not returning id. GitLab issue #390.
- Make tags, metadata types and cabinets searchable via the dynamic search API. GitLab issue #344.
2.3 (2017-06-08)
================

View File

@@ -13,6 +13,8 @@ from acls.models import AccessControlList
from documents.models import Document
from documents.permissions import permission_document_view
from .search import cabinet_search # NOQA
@python_2_unicode_compatible
class Cabinet(MPTTModel):

View File

@@ -0,0 +1,17 @@
from __future__ import absolute_import, unicode_literals
from django.utils.translation import ugettext_lazy as _
from dynamic_search.classes import SearchModel
from .permissions import permission_cabinet_view
cabinet_search = SearchModel(
app_label='cabinets', model_name='Cabinet',
permission=permission_cabinet_view,
serializer_string='cabinets.serializers.CabinetSerializer'
)
cabinet_search.add_model_field(
field='label', label=_('Label')
)

View File

@@ -41,6 +41,7 @@ from .permissions import (
permission_metadata_document_add, permission_metadata_document_edit,
permission_metadata_document_remove, permission_metadata_document_view
)
from .search import metadata_type_search # NOQA
from .widgets import get_metadata_string
logger = logging.getLogger(__name__)

View File

@@ -0,0 +1,32 @@
from __future__ import absolute_import, unicode_literals
from django.utils.translation import ugettext_lazy as _
from dynamic_search.classes import SearchModel
from .permissions import permission_metadata_type_view
metadata_type_search = SearchModel(
app_label='metadata', model_name='MetadataType',
permission=permission_metadata_type_view,
serializer_string='metadata.serializers.MetadataTypeSerializer'
)
metadata_type_search.add_model_field(
field='name', label=_('Name')
)
metadata_type_search.add_model_field(
field='label', label=_('Label')
)
metadata_type_search.add_model_field(
field='default', label=_('Default')
)
metadata_type_search.add_model_field(
field='lookup', label=_('Lookup')
)
metadata_type_search.add_model_field(
field='validation', label=_('Validator')
)
metadata_type_search.add_model_field(
field='parser', label=_('Parser')
)

View File

@@ -25,6 +25,7 @@ from .permissions import (
permission_tag_attach, permission_tag_delete, permission_tag_edit,
permission_tag_remove, permission_tag_view
)
from .search import tag_search # NOQA
from .widgets import widget_document_tags, widget_single_tag

21
mayan/apps/tags/search.py Normal file
View File

@@ -0,0 +1,21 @@
from __future__ import absolute_import, unicode_literals
from django.utils.translation import ugettext_lazy as _
from dynamic_search.classes import SearchModel
from .permissions import permission_tag_view
tag_search = SearchModel(
app_label='tags', model_name='Tag',
permission=permission_tag_view,
serializer_string='tags.serializers.TagSerializer'
)
tag_search.add_model_field(
field='label', label=_('Label')
)
tag_search.add_model_field(
field='color', label=_('Color')
)