fix: do not encode uri # in queiries for POST

This commit is contained in:
Georgy Litvinov 2021-10-01 12:06:59 +02:00
parent 7edbe86c6c
commit 67bbdfde84
2 changed files with 7 additions and 5 deletions

View file

@ -165,7 +165,7 @@
function fillOutForm(compilationName){ function fillOutForm(compilationName){
var iframeDoc = document.getElementById('newCompilationIframe').contentWindow.document; var iframeDoc = document.getElementById('newCompilationIframe').contentWindow.document;
var rules = $('#builder').queryBuilder('getRules', { get_flags: true }); var rules = $('#builder').queryBuilder('getRules', { get_flags: true });
var query = format_query_string(rules,""); var query = format_query_string(rules, "", false);
iframeDoc.getElementById('queryBuilderRules').value = JSON.stringify(rules); iframeDoc.getElementById('queryBuilderRules').value = JSON.stringify(rules);
iframeDoc.getElementById('rawQueryString').value = query; iframeDoc.getElementById('rawQueryString').value = query;

View file

@ -150,20 +150,20 @@
//} //}
}); });
function format_query_string(json_query, string_query){ function format_query_string(json_query, string_query, htmlEncode = true){
if ('condition' in json_query && 'rules' in json_query ){ if ('condition' in json_query && 'rules' in json_query ){
if (json_query.rules.length > 1 ) { if (json_query.rules.length > 1 ) {
string_query +=" ( "; string_query +=" ( ";
var i; var i;
for (i = 0; i < json_query.rules.length; i++) { for (i = 0; i < json_query.rules.length; i++) {
string_query = format_query_string(json_query.rules[i], string_query); string_query = format_query_string(json_query.rules[i], string_query, htmlEncode);
if (i + 1 < json_query.rules.length){ if (i + 1 < json_query.rules.length){
string_query += " " + json_query.condition + " "; string_query += " " + json_query.condition + " ";
} }
} }
string_query +=" ) "; string_query +=" ) ";
} else { } else {
string_query = format_query_string(json_query.rules[0], string_query); string_query = format_query_string(json_query.rules[0], string_query, htmlEncode);
} }
} else if ( 'field' in json_query && 'value' in json_query ){ } else if ( 'field' in json_query && 'value' in json_query ){
if ('operator' in json_query && json_query.operator.startsWith("not_")){ if ('operator' in json_query && json_query.operator.startsWith("not_")){
@ -174,7 +174,9 @@
} else { } else {
var value = json_query.value.toString(); var value = json_query.value.toString();
} }
string_query += json_query.field + ":" + value.replace(/[']+/g,'').replace(/#/g,'%23') ; if (htmlEncode){
string_query += json_query.field + ":" + value.replace(/[']+/g,'').replace(/#/g,'%23') ;
}
} }
return string_query; return string_query;
} }