mirror of https://github.com/logos-co/open-law.git
41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
from flask import redirect, url_for, Blueprint, render_template
|
|
|
|
from app import forms as f, models as m
|
|
|
|
|
|
main_blueprint = Blueprint("main", __name__)
|
|
|
|
|
|
@main_blueprint.route("/")
|
|
def index():
|
|
return redirect(url_for("home.get_all"))
|
|
|
|
|
|
@main_blueprint.route("/search", methods=["POST"])
|
|
def search():
|
|
form = f.SearchForm()
|
|
if form.validate_on_submit():
|
|
q = form.search_query.data
|
|
users = m.User.query.order_by(m.User.id)
|
|
if q:
|
|
users = users.filter(m.User.username.like(f"%{q}%"))
|
|
interpretations = m.Interpretation.query.order_by(m.Interpretation.id)
|
|
if q:
|
|
interpretations = interpretations.filter(
|
|
m.Interpretation.text.like(f"%{q}%")
|
|
)
|
|
tags = m.Tag.query.order_by(m.Tag.id)
|
|
if q:
|
|
tags = tags.filter(m.Tag.name.like(f"%{q}%"))
|
|
books = m.Book.query.order_by(m.Book.id)
|
|
if q:
|
|
books = books.filter(m.Book.label.like(f"%{q}%"))
|
|
return render_template(
|
|
"searchResult.html",
|
|
query=q,
|
|
users=users,
|
|
interpretations=interpretations,
|
|
tags=tags,
|
|
books=books,
|
|
)
|