2024-12-30 01:51:19 -05:00
|
|
|
from django.contrib.auth.decorators import login_required
|
|
|
|
from django.shortcuts import render
|
|
|
|
|
|
|
|
from common.models.misc import int_
|
|
|
|
from common.utils import PageLinksGenerator
|
2025-01-01 09:32:24 -05:00
|
|
|
from journal.models import JournalIndex, JournalQueryParser
|
2024-12-30 01:51:19 -05:00
|
|
|
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
def search(request):
|
2025-01-01 09:32:24 -05:00
|
|
|
page = int_(request.GET.get("page"), 1)
|
|
|
|
q = JournalQueryParser(request.GET.get("q", default=""), page)
|
2025-02-22 15:35:31 -05:00
|
|
|
q.filter_by_owner(request.user.identity)
|
2025-01-01 09:32:24 -05:00
|
|
|
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": []})
|