Skip to content
Snippets Groups Projects
Commit 43aea1be authored by Johannes Hörmann's avatar Johannes Hörmann
Browse files

fix support ticket behaviour if status whitelist is empty

parent d111e196
No related branches found
No related tags found
No related merge requests found
......@@ -3,18 +3,25 @@ import("system.db");
import("system.result");
import("Sql_lib");
var cond = SqlCondition.begin().andPrepareVars("AB_KEYWORD_ENTRY.CONTAINER", "$param.ContainerName_param");
var cond = newWhereIfSet("AB_KEYWORD_ENTRY.CONTAINER", "$param.ContainerName_param");
if (vars.get("$param.OnlyActives_param") == "true")
{
cond.andPrepare("AB_KEYWORD_ENTRY.ISACTIVE", "1");
cond.andIfSet("AB_KEYWORD_ENTRY.ISACTIVE", "1");
}
if (vars.exists("$param.ExcludedKeyIdsSubquery_param") && vars.get("$param.ExcludedKeyIdsSubquery_param"))
cond.and("AB_KEYWORD_ENTRY.KEYID not in (" + vars.get("$param.ExcludedKeyIdsSubquery_param") + ")");
cond.and("AB_KEYWORD_ENTRY.KEYID", "(" + vars.get("$param.ExcludedKeyIdsSubquery_param") + ")", "not in ?");
if (vars.exists("$param.WhitelistIds_param") && vars.getString("$param.WhitelistIds_param"))
cond.andIn("AB_KEYWORD_ENTRY.KEYID", JSON.parse(vars.getString("$param.WhitelistIds_param")));
if (vars.getString("$param.WhitelistIds_param"))
{
var whitelist = JSON.parse(vars.getString("$param.WhitelistIds_param"));
if (whitelist.length > 0)
cond.and("AB_KEYWORD_ENTRY.KEYID", JSON.parse(vars.getString("$param.WhitelistIds_param")), SqlBuilder.IN());
else
cond.and("1=2"); // force empty result if whitelist is empty
}
//TODO: use a preparedCondition (.build instead of .translate) when available #1030812 #1034026
result.string(cond.translate("1 = 1"));
\ No newline at end of file
......@@ -117,10 +117,10 @@ TicketUtils.prototype.getTypeAttributes = function()
*/
TicketUtils.prototype.getAvailableStatus = function()
{
var states = JSON.parse(KeywordUtils.getAttributeRelation(this.type, $KeywordRegistry.ticketType(), "availableStatus", ""))
var states = JSON.parse(KeywordUtils.getAttributeRelation(this.type, $KeywordRegistry.ticketType(), "availableStatus", "[]"))
if (states == null)
return "";
return [];
return states.map(StringUtils.pad36);
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment