diff --git a/files.py b/files.py index b1e4931..10f0fff 100644 --- a/files.py +++ b/files.py @@ -238,8 +238,8 @@ def GetEntriesInFolderView( OPT, prefix ): ################################################################################ def GetEntries( OPT ): entries=[] - if 'search_term' in request.form: - search_term=request.form['search_term'] + if OPT.path_type == 'Search': + search_term=OPT.search_term if 'AI:' in search_term: search_term = search_term.replace('AI:','') all_entries = Entry.query.join(File).join(FaceFileLink).join(Face).join(FaceRefimgLink).join(Refimg).join(PersonRefimgLink).join(Person).filter(Person.tag.ilike(f"%{search_term}%")).order_by(File.year.desc(),File.month.desc(),File.day.desc(),Entry.name).offset(OPT.offset).limit(OPT.how_many).all() @@ -336,20 +336,30 @@ def files_rbp(): move_paths = MovePathDetails() return render_template("files.html", page_title=f"View Files ({OPT.path_type} Path)", entry_data=entries, OPT=OPT, move_paths=move_paths ) - ################################################################################ -# /search -> show thumbnail view of files from import_path(s) +# search -> GET version -> has search_term in the URL and is therefore able to +# be used even if the user hits the front/back buttons in the browser. +# func shows thumbnails of matching files. ################################################################################ -@app.route("/search", methods=["GET","POST"]) +@app.route("/search/", methods=["GET"]) @login_required -def search(): +def search(search_term): OPT=Options( request ) + OPT.search_term = search_term # always show flat results for search to start with OPT.folders=False - OPT.paths=None entries=GetEntries( OPT ) move_paths = MovePathDetails() - return render_template("files.html", page_title='View Files', search_term=request.form['search_term'], entry_data=entries, OPT=OPT, move_paths=move_paths ) + return render_template("files.html", page_title='View Files', search_term=search_term, entry_data=entries, OPT=OPT, move_paths=move_paths ) + +################################################################################ +# /search -> POST version -> only used on form submit when you hit return. This +# form just redirects to a GET of /search/ to trip route above +################################################################################ +@app.route("/search", methods=["POST"]) +@login_required +def search_post(): + return redirect( "/search/"+request.form['search_term'] ) ################################################################################ # /files/scannow -> allows us to force a check for new files diff --git a/templates/aistats.html b/templates/aistats.html index 97b0926..9a3d511 100644 --- a/templates/aistats.html +++ b/templates/aistats.html @@ -41,9 +41,7 @@
{% for s in stats %}
-
- - {{s[0]}}
+ {{s[0]}}
{{s[1]}}
diff --git a/templates/base.html b/templates/base.html index 4b2b05e..3c481ce 100644 --- a/templates/base.html +++ b/templates/base.html @@ -111,8 +111,8 @@ - - + +