portal/search: compare case-insensitively

This commit is contained in:
Iain Learmonth 2022-08-25 20:11:20 +01:00
parent a2ca710431
commit 2801eefd43

View file

@ -4,7 +4,7 @@ from typing import Optional
from flask import Blueprint, render_template, request
from flask.typing import ResponseReturnValue
from jinja2.utils import markupsafe
from sqlalchemy import desc, or_
from sqlalchemy import desc, or_, func
from app.alarms import alarms_for
from app.models.activity import Activity
@ -129,8 +129,11 @@ def portal_home() -> ResponseReturnValue:
@portal.route("/search")
def search() -> ResponseReturnValue:
query = request.args.get("query")
proxies = Proxy.query.filter(or_(Proxy.url.contains(query)), Proxy.destroyed.is_(None)).all()
origins = Origin.query.filter(or_(Origin.description.contains(query), Origin.domain_name.contains(query))).all()
proxies = Proxy.query.filter(
or_(func.lower(Proxy.url).contains(query.lower())), Proxy.destroyed.is_(None)).all()
origins = Origin.query.filter(
or_(func.lower(Origin.description).contains(query.lower()),
func.lower(Origin.domain_name).contains(query.lower()))).all()
return render_template("search.html.j2", section="home", proxies=proxies, origins=origins)