diff --git a/website/app/home.py b/website/app/home.py
index e71b3b5..6c4e669 100644
--- a/website/app/home.py
+++ b/website/app/home.py
@@ -104,6 +104,8 @@ def run_modules():
if "modules" in request.json:
if "query_as_same" in request.json:
session = SessionModel.Session_class(request.json, query_as_same=True, parent_id=request.json["parent_id"])
+ elif "query_as_params" in request.json:
+ session = SessionModel.Session_class(request.json, query_as_same=True, parent_id=request.json["same_query_id"])
else:
session = SessionModel.Session_class(request.json)
HomeModel.set_flask_session(session, request.json["parent_id"])
diff --git a/website/app/templates/query.html b/website/app/templates/query.html
index 2957a64..2a6aad9 100644
--- a/website/app/templates/query.html
+++ b/website/app/templates/query.html
@@ -14,7 +14,21 @@
+
+
+
+
+
+
@@ -341,6 +355,7 @@ Value: [[misp_attr]]
history.value = loc
}
+ // query 'value' with same parameters with a parent
async function query_as_same(value){
let result_dict = {"modules": query_info.value["modules"],
"input": query_info.value["input_query"],
@@ -361,6 +376,33 @@ Value: [[misp_attr]]
}
}
+ // query 'value' with same parameters without a parent
+ async function query_as_params(){
+ let loc = $("#query_as_params").val()
+ $("#query_as_params_error").text("")
+ if(loc){
+ let result_dict = {"modules": query_info.value["modules"],
+ "input": query_info.value["input_query"],
+ "query": loc,
+ "config": {},
+ "same_query_id": sid.value,
+ "parent_id": ""
+ }
+ const res = await fetch('/run_modules',{
+ headers: { "X-CSRFToken": $("#csrf_token").val(), "Content-Type": "application/json" },
+ method: "POST",
+ body: JSON.stringify(result_dict)
+ })
+ if(await res.status == 201){
+ let loc = await res.json()
+ await nextTick()
+ window.location.href="/query/" + loc['id']
+ }
+ }else{
+ $("#query_as_params_error").text("Please give value")
+ }
+ }
+
onMounted(() => {
queryInfo()
actionQuery()
@@ -382,7 +424,8 @@ Value: [[misp_attr]]
parseMispObject,
parseMispAttr,
active_tab,
- query_as_same
+ query_as_same,
+ query_as_params
}
}
}).mount('.container-fluid')