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){
var iframeDoc = document.getElementById('newCompilationIframe').contentWindow.document;
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('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 (json_query.rules.length > 1 ) {
string_query +=" ( ";
var 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){
string_query += " " + json_query.condition + " ";
}
}
string_query +=" ) ";
} 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 ){
if ('operator' in json_query && json_query.operator.startsWith("not_")){
@ -174,7 +174,9 @@
} else {
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;
}