Skip to content
Snippets Groups Projects
Commit 94d7f396 authored by a.schindlbeck's avatar a.schindlbeck Committed by Andreas Schindlbeck
Browse files

#1067084 Favorites: organisation and person adapted, general fix applied

parent d7c9479c
No related branches found
No related tags found
No related merge requests found
Showing
with 51 additions and 26 deletions
......@@ -9,4 +9,4 @@ var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.CAMPAIGN_OBJECTTYPE");
var idcolumn = "CAMPAIGN.CAMPAIGNID";
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
\ No newline at end of file
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn));
\ No newline at end of file
......@@ -9,4 +9,4 @@ var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.CONTRACT_OBJECTTYPE");
var idcolumn = "CONTRACT.CONTRACTID";
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
\ No newline at end of file
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn));
\ No newline at end of file
......@@ -9,4 +9,4 @@ var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.DOCUMENTTEMPLATE_OBJECTTYPE");
var idcolumn = "DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID";
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn));
......@@ -9,4 +9,4 @@ var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.EXPORTTEMPLATE_OBJECTTYPE");
var idcolumn = "EXPORTTEMPLATE.EXPORTTEMPLATEID";
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
\ No newline at end of file
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn));
\ No newline at end of file
......@@ -9,4 +9,4 @@ var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.OFFER_OBJECTTYPE");
var idcolumn = "OFFER.OFFERID";
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn));
......@@ -9,4 +9,4 @@ var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.ORDER_OBJECTTYPE");
var idcolumn = "SALESORDER.SALESORDERID";
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn));
import("system.vars");
import("Favorites_lib");
import("system.result");
import("Sql_lib");
var favoFilterCond = newWhere();
var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
var operator = vars.get("$local.operator");
var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.ORGANISATION_OBJECTTYPE");
var idcolumn = "ORGANISATION.ORGANISATIONID";
var rowIds = FavoritesUtil.getRowIdsOfFavorites(objecttype, operator, rawvalue);
var preparedIds = [];
for(i = 0; i < rowIds.length; i++)
{
var orga_id = new SqlBuilder().select("CONTACT.ORGANISATION_ID")
var person_id = new SqlBuilder().select("CONTACT.ORGANISATION_ID")
.from("CONTACT")
.where(newWhere("CONTACT.CONTACTID", rowIds[i]))
.arrayColumn();
if(orga_id.length > 0)
favoFilterCond.or("ORGANISATION.ORGANISATIONID", orga_id[0], SqlBuilder.EQUAL());
if(person_id.length > 0)
preparedIds.push(person_id[0]);
}
result.string(favoFilterCond.toString());
\ No newline at end of file
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn, preparedIds));
\ No newline at end of file
import("system.vars");
import("Favorites_lib");
import("system.result");
import("Sql_lib");
var favoFilterCond = newWhere();
var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
var operator = vars.get("$local.operator");
var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.PERSON_OBJECTTYPE");
var idcolumn = "PERSON.PERSONID";
var rowIds = FavoritesUtil.getRowIdsOfFavorites(objecttype, operator, rawvalue);
var preparedIds = [];
for(i = 0; i < rowIds.length; i++)
{
......@@ -13,7 +21,7 @@ for(i = 0; i < rowIds.length; i++)
.arrayColumn();
if(person_id.length > 0)
favoFilterCond.or("PERSON.PERSONID", person_id[0], SqlBuilder.EQUAL());
preparedIds.push(person_id[0]);
}
result.string(favoFilterCond.toString());
\ No newline at end of file
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn, preparedIds));
......@@ -9,4 +9,4 @@ var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.PRODUCT_OBJECTTYPE");
var idcolumn = "PRODUCT.PRODUCTID";
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn));
......@@ -9,4 +9,4 @@ var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.PRODUCTPRICE_OBJECTTYPE");
var idcolumn = "PRODUCTPRICE.PRODUCTPRICEID";
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn));
......@@ -9,4 +9,4 @@ var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.SALESPROJECT_OBJECTTYPE");
var idcolumn = "SALESPROJECT.SALESPROJECTID";
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn));
......@@ -9,4 +9,4 @@ var rawvalue = vars.get("$local.rawvalue");
var objecttype = vars.get("$field.SUPPORTTICKET_OBJECTTYPE");
var idcolumn = "TICKET.TICKETID";
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn));
......@@ -30,22 +30,31 @@ FavoritesUtil.getUserFavoriteGroups = function()
return Array.from(allTypes);
}
FavoritesUtil.getFilterDisplayCondition = function(pObjecttype, pOperator, pRawvalue)
/**
* Here we prepare the filtercondition for favorites of a certain pObjecttype, pOperator and pRowvalue.
* In certain circumstances, the rowids need to be prepared earlier (Person / Organisation). If so, they can be inserted by pPreparedRowIds.
* Then they won't be loaded again inside this method.
*/
FavoritesUtil.getFilterDisplayCondition = function(pObjecttype, pOperator, pRawvalue, pIdColumn, pPreparedRowIds)
{
var favoFilterCond = newWhere();
var rowIds = FavoritesUtil.getRowIdsOfFavorites(pObjecttype, pOperator, pRawvalue);
if(pPreparedRowIds == null || pPreparedRowIds.length == 0)
pPreparedRowIds = FavoritesUtil.getRowIdsOfFavorites(pObjecttype, pOperator, pRawvalue);
if(pOperator == "1" || pOperator == "2" || pOperator == "11") // equal / not equal / not empty -> compare on result values
{
for(i = 0; i < rowIds.length; i++)
favoFilterCond.or(idcolumn, rowIds[i], SqlBuilder.EQUAL());
for(i = 0; i < pPreparedRowIds.length; i++)
favoFilterCond.or(pIdColumn, pPreparedRowIds[i], SqlBuilder.EQUAL());
}
else if(pOperator == "12") // empty
favoFilterCond.and(idcolumn, rowIds, SqlBuilder.NOT_IN());
favoFilterCond.and(pIdColumn, pPreparedRowIds, SqlBuilder.NOT_IN());
return favoFilterCond.toString();
}
/**
* Gets all favorized datasetids by a given pObjecttype, pOperator and the Favoritegroup-Title it is stored with
*/
FavoritesUtil.getRowIdsOfFavorites = function(pObjecttype, pOperator, pRawvalue)
{
var sysAlias = favorite.getFavoritesAlias();
......
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