select folder during search

This commit is contained in:
lelo 2025-05-06 20:24:23 +02:00
parent eccfce1a0c
commit 88c4eecb3b
2 changed files with 21 additions and 2 deletions

View File

@ -16,12 +16,18 @@ with open("app_config.json", 'r') as file:
def searchcommand():
query = request.form.get("query", "").strip()
category = request.form.get("category", "").strip()
searchfolder = request.form.get("folder", "").strip()
include_transcript = request.form.get("includeTranscript") in ["true", "on"]
words = [w for w in query.split() if w]
cursor = search_db.cursor()
allowed_basefolders = list(session['folders'].keys())
print("Allowed base folders:", allowed_basefolders)
# if the search folder is allowed to be searched, select it
# if not just allowed_basefolders rules apply
if searchfolder != "" and searchfolder in allowed_basefolders:
allowed_basefolders = [searchfolder]
if not include_transcript:
conditions = []
@ -93,10 +99,12 @@ def searchcommand():
return jsonify(results=results)
def search():
allowed_basefolders = list(session['folders'].keys())
title_short = app_config.get('TITLE_SHORT', 'Default Title')
title_long = app_config.get('TITLE_LONG' , 'Default Title')
return render_template("search.html",
title_short=title_short,
title_long=title_long
title_long=title_long,
search_folders=allowed_basefolders
)

View File

@ -88,6 +88,16 @@
</div>
</div>
</div>
<!-- dropdown search folder-->
<div class="mb-3">
<label for="folder" class="form-label">In Ordner suchen:</label>
<select id="folder" name="folder" class="form-select">
<option value="">Alle</option>
{% for folder in search_folders %}
<option value="{{ folder }}">{{ folder }}</option>
{% endfor %}
</select>
</div>
<!-- Checkbox for transcript search -->
<div class="form-check mb-3">
<input type="checkbox" class="form-check-input" id="includeTranscript" name="includeTranscript">
@ -198,6 +208,7 @@ document.addEventListener('DOMContentLoaded', function() {
const formData = new FormData();
formData.append('query', query);
formData.append('category', category);
formData.append('folder', document.getElementById('folder').value);
formData.append('includeTranscript', includeTranscript);
fetch('/searchcommand', {