Esempio n. 1
0
    )
    autocomplete_result_fields = ("username", "full_name", "profile_picture")

    autocomplete_fields = ("first_name", "last_name", "username")
    fallback_to_autocomplete = True

    def get_autocomplete(self, instance):
        return [
            instance.username,
            instance.full_name,
            instance.last_name,
            instance.first_name,
        ]


register(UserIndex)


class GroupIndex(SearchIndex):

    queryset = AbakusGroup.objects.all()
    serializer_class = SearchGroupSerializer
    result_fields = ("name", "type", "logo")
    autocomplete_result_fields = ("name", "type", "logo")

    autocomplete_fields = ("name",)
    fallback_to_autocomplete = True

    def get_autocomplete(self, instance):
        return [instance.name] + instance.name.split(" ")
Esempio n. 2
0
class EventModelIndex(SearchIndex):

    queryset = Event.objects.all()
    serializer_class = EventSearchSerializer
    result_fields = (
        "title",
        "description",
        "text",
        "cover",
        "location",
        "start_time",
        "end_time",
    )
    autocomplete_result_fields = ("title", "start_time")

    autocomplete_fields = ("title",)
    search_fields = ("title", "description", "text")

    def get_autocomplete(self, instance):
        return instance.title

    def search(self, query):
        return super().search(query).order_by("-start_time")

    def autocomplete(self, query):
        return super().autocomplete(query).order_by("-start_time")


register(EventModelIndex)
Esempio n. 3
0
from lego.apps.search import register
from lego.apps.search.index import SearchIndex

from .models import Page
from .serializers import PageDetailSerializer


class PageModelIndex(SearchIndex):

    queryset = Page.objects.all()
    serializer_class = PageDetailSerializer
    result_fields = ('title', 'content', 'slug', 'picture')
    autocomplete_result_fields = ('title', 'slug', 'picture')

    def get_autocomplete(self, instance):
        return [instance.title, instance.slug_field]


register(PageModelIndex)
Esempio n. 4
0
from lego.apps.search import register
from lego.apps.search.index import SearchIndex

from .models import Company
from .serializers import CompanySearchSerializer


class CompanyModelIndex(SearchIndex):

    queryset = Company.objects.all()
    serializer_class = CompanySearchSerializer
    result_fields = ("name", "description")
    autocomplete_result_fields = ("name", )

    def get_autocomplete(self, instance):
        return instance.name

    def autocomplete(self, query):
        return self.queryset.filter(name__istartswith=query)


register(CompanyModelIndex)
Esempio n. 5
0
from lego.apps.search import register
from lego.apps.search.index import SearchIndex

from .models import Article
from .serializers import SearchArticleSerializer


class ArticleModelIndex(SearchIndex):

    queryset = Article.objects.all()
    serializer_class = SearchArticleSerializer
    result_fields = ("title", "description", "cover")
    autocomplete_result_fields = ("title", )

    def get_autocomplete(self, instance):
        return instance.title

    def autocomplete(self, query):
        return self.queryset.filter(title__istartswith=query)


register(ArticleModelIndex)
Esempio n. 6
0
from lego.apps.search import register
from lego.apps.search.index import SearchIndex

from .models import Tag
from .serializers import TagSearchSerializer


class TagIndex(SearchIndex):

    queryset = Tag.objects.all()
    serializer_class = TagSearchSerializer
    result_fields = ("tag",)
    autocomplete_result_fields = ("tag",)

    autocomplete_fields = ("tag",)
    fallback_to_autocomplete = True

    def get_autocomplete(self, instance):
        return [instance.tag]


register(TagIndex)
Esempio n. 7
0
from lego.apps.search import register
from lego.apps.search.index import SearchIndex

from .models import Gallery
from .serializers import GallerySearchSerializer


class GalleryIndex(SearchIndex):

    queryset = Gallery.objects.all()
    serializer_class = GallerySearchSerializer
    result_fields = ('title', 'location', 'description')
    autocomplete_result_fields = ('title', )

    def get_autocomplete(self, instance):
        return [instance.title]


register(GalleryIndex)