lib.itmens/journal/views/search.py
2025-02-22 19:46:56 -05:00

27 lines
849 B
Python

from django.contrib.auth.decorators import login_required
from django.shortcuts import render
from common.models.misc import int_
from common.utils import PageLinksGenerator
from journal.models import JournalIndex, JournalQueryParser
@login_required
def search(request):
page = int_(request.GET.get("page"), 1)
q = JournalQueryParser(request.GET.get("q", default=""), page)
q.filter_by_owner(request.user.identity)
q.filter("item_id", ">0")
if q:
index = JournalIndex.instance()
r = index.search(q)
return render(
request,
"search_journal.html",
{
"items": r.items,
"pagination": PageLinksGenerator(r.page, r.pages, request.GET),
},
)
else:
return render(request, "search_journal.html", {"items": []})