select folder during search
This commit is contained in:
parent
eccfce1a0c
commit
88c4eecb3b
12
search.py
12
search.py
@ -16,12 +16,18 @@ with open("app_config.json", 'r') as file:
|
|||||||
def searchcommand():
|
def searchcommand():
|
||||||
query = request.form.get("query", "").strip()
|
query = request.form.get("query", "").strip()
|
||||||
category = request.form.get("category", "").strip()
|
category = request.form.get("category", "").strip()
|
||||||
|
searchfolder = request.form.get("folder", "").strip()
|
||||||
|
|
||||||
include_transcript = request.form.get("includeTranscript") in ["true", "on"]
|
include_transcript = request.form.get("includeTranscript") in ["true", "on"]
|
||||||
words = [w for w in query.split() if w]
|
words = [w for w in query.split() if w]
|
||||||
cursor = search_db.cursor()
|
cursor = search_db.cursor()
|
||||||
|
|
||||||
allowed_basefolders = list(session['folders'].keys())
|
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:
|
if not include_transcript:
|
||||||
conditions = []
|
conditions = []
|
||||||
@ -93,10 +99,12 @@ def searchcommand():
|
|||||||
return jsonify(results=results)
|
return jsonify(results=results)
|
||||||
|
|
||||||
def search():
|
def search():
|
||||||
|
allowed_basefolders = list(session['folders'].keys())
|
||||||
title_short = app_config.get('TITLE_SHORT', 'Default Title')
|
title_short = app_config.get('TITLE_SHORT', 'Default Title')
|
||||||
title_long = app_config.get('TITLE_LONG' , 'Default Title')
|
title_long = app_config.get('TITLE_LONG' , 'Default Title')
|
||||||
return render_template("search.html",
|
return render_template("search.html",
|
||||||
title_short=title_short,
|
title_short=title_short,
|
||||||
title_long=title_long
|
title_long=title_long,
|
||||||
|
search_folders=allowed_basefolders
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -88,6 +88,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</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 -->
|
<!-- Checkbox for transcript search -->
|
||||||
<div class="form-check mb-3">
|
<div class="form-check mb-3">
|
||||||
<input type="checkbox" class="form-check-input" id="includeTranscript" name="includeTranscript">
|
<input type="checkbox" class="form-check-input" id="includeTranscript" name="includeTranscript">
|
||||||
@ -198,6 +208,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append('query', query);
|
formData.append('query', query);
|
||||||
formData.append('category', category);
|
formData.append('category', category);
|
||||||
|
formData.append('folder', document.getElementById('folder').value);
|
||||||
formData.append('includeTranscript', includeTranscript);
|
formData.append('includeTranscript', includeTranscript);
|
||||||
|
|
||||||
fetch('/searchcommand', {
|
fetch('/searchcommand', {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user