|
|
|
@ -370,14 +370,13 @@ def query_results(
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if not settings.DELAY_RESULTS:
|
|
|
|
|
add_top.append(range_query)
|
|
|
|
|
else:
|
|
|
|
|
date_query = True
|
|
|
|
|
date_query = True
|
|
|
|
|
|
|
|
|
|
if settings.DELAY_RESULTS:
|
|
|
|
|
if date_query:
|
|
|
|
|
if not request.user.has_perm("bypass_delay"):
|
|
|
|
|
if date_query:
|
|
|
|
|
if settings.DELAY_RESULTS:
|
|
|
|
|
if request.user.has_perm("core.bypass_delay"):
|
|
|
|
|
add_top.append(range_query)
|
|
|
|
|
else:
|
|
|
|
|
delay_as_ts = datetime.now() - timedelta(days=settings.DELAY_DURATION)
|
|
|
|
|
lt_as_ts = datetime.strptime(
|
|
|
|
|
range_query["range"]["ts"]["lt"], "%Y-%m-%dT%H:%MZ"
|
|
|
|
@ -386,15 +385,20 @@ def query_results(
|
|
|
|
|
range_query["range"]["ts"]["lt"] = f"now-{settings.DELAY_DURATION}d"
|
|
|
|
|
add_top.append(range_query)
|
|
|
|
|
else:
|
|
|
|
|
range_query = {
|
|
|
|
|
"range": {
|
|
|
|
|
"ts": {
|
|
|
|
|
# "gt": ,
|
|
|
|
|
"lt": f"now-{settings.DELAY_DURATION}d",
|
|
|
|
|
add_top.append(range_query)
|
|
|
|
|
else:
|
|
|
|
|
if settings.DELAY_RESULTS:
|
|
|
|
|
if not request.user.has_perm("core.bypass_delay"):
|
|
|
|
|
range_query = {
|
|
|
|
|
"range": {
|
|
|
|
|
"ts": {
|
|
|
|
|
# "gt": ,
|
|
|
|
|
"lt": f"now-{settings.DELAY_DURATION}d",
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
add_top.append(range_query)
|
|
|
|
|
add_top.append(range_query)
|
|
|
|
|
|
|
|
|
|
if "sorting" in query_params:
|
|
|
|
|
sorting = query_params["sorting"]
|
|
|
|
|
if sorting not in ("asc", "desc", "none"):
|
|
|
|
@ -451,7 +455,7 @@ def query_results(
|
|
|
|
|
query_created = True
|
|
|
|
|
elif "query_full" in query_params:
|
|
|
|
|
query_full = query_params["query_full"]
|
|
|
|
|
if request.user.has_perm("query_search"):
|
|
|
|
|
if request.user.has_perm("core.query_search"):
|
|
|
|
|
search_query = construct_query(query_full, size)
|
|
|
|
|
query_created = True
|
|
|
|
|
else:
|
|
|
|
@ -502,7 +506,7 @@ def query_results(
|
|
|
|
|
if index == "main":
|
|
|
|
|
index = settings.OPENSEARCH_INDEX_MAIN
|
|
|
|
|
else:
|
|
|
|
|
if not request.user.has_perm(f"index_{index}"):
|
|
|
|
|
if not request.user.has_perm(f"core.index_{index}"):
|
|
|
|
|
message = "Not permitted to search by this index"
|
|
|
|
|
message_class = "danger"
|
|
|
|
|
return {
|
|
|
|
@ -588,10 +592,10 @@ def query_results(
|
|
|
|
|
if query:
|
|
|
|
|
context["query"] = query
|
|
|
|
|
if settings.DELAY_RESULTS:
|
|
|
|
|
if not request.user.has_perm("bypass_delay"):
|
|
|
|
|
if not request.user.has_perm("core.bypass_delay"):
|
|
|
|
|
context["delay"] = settings.DELAY_DURATION
|
|
|
|
|
if settings.RANDOMISATION:
|
|
|
|
|
if not request.user.has_perm("bypass_randomisation"):
|
|
|
|
|
if not request.user.has_perm("core.bypass_randomisation"):
|
|
|
|
|
context["randomised"] = True
|
|
|
|
|
return context
|
|
|
|
|
|
|
|
|
|