comparison libervia/server/pages.py @ 1376:1b94a5ab155f

pages (blog/view): Full-Text Search is used when `search` query argument is present the new `LiberviaPage.handleSearch` method implements FTS in PubSub based features.
author Goffi <goffi@goffi.org>
date Fri, 11 Dec 2020 17:35:06 +0100
parents e943b0c8eec5
children e3e303a30a74
comparison
equal deleted inserted replaced
1375:e943b0c8eec5 1376:1b94a5ab155f
1594 return request.data 1594 return request.data
1595 except AttributeError: 1595 except AttributeError:
1596 request.data = {} 1596 request.data = {}
1597 return request.data 1597 return request.data
1598 1598
1599 def handleSearch(self, request, extra):
1600 """Manage Full-Text Search
1601
1602 Check if "search" query argument is present, and add MAM filter for it if
1603 necessary.
1604 If used, the "search" variable will also be available in template data, thus
1605 frontend can display some information about it.
1606 """
1607 search = self.getPostedData(request, 'search', raise_on_missing=False)
1608 if search is not None:
1609 search = search.strip()
1610 if search:
1611 try:
1612 extra[f'mam_filter_{self.host.ns_map["fulltextmam"]}'] = search
1613 except KeyError:
1614 log.warning(_("Full-text search is not available"))
1615 else:
1616 request.template_data['search'] = search
1617
1599 def _checkAccess(self, request): 1618 def _checkAccess(self, request):
1600 """Check access according to self.access 1619 """Check access according to self.access
1601 1620
1602 if access is not granted, show a HTTP_FORBIDDEN pageError and stop request, 1621 if access is not granted, show a HTTP_FORBIDDEN pageError and stop request,
1603 else return data (so it can be inserted in deferred chain 1622 else return data (so it can be inserted in deferred chain