Skip to content
Snippets Groups Projects
Commit be6ac473 authored by Andreas Schindlbeck's avatar Andreas Schindlbeck
Browse files

#1067084 Favorites: filter bug fixed; offer, campaign, contract adapted

parent 9b980813
No related branches found
No related tags found
No related merge requests found
Showing with 76 additions and 31 deletions
......@@ -498,8 +498,8 @@
</children>
</entityConsumer>
<entityField>
<name>CAMPAIGN_OBEJCTTYPE</name>
<valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/campaign_obejcttype/valueProcess.js</valueProcess>
<name>CAMPAIGN_OBJECTTYPE</name>
<valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/campaign_objecttype/valueProcess.js</valueProcess>
</entityField>
<entityConsumer>
<name>PersonConsumer</name>
......@@ -687,6 +687,14 @@
<filterConditionProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
<filtertype>BASIC</filtertype>
</filterExtensionSet>
<filterExtension>
<name>Favorite_Filter</name>
<title>Favoritegroup</title>
<contentType>TEXT</contentType>
<filterValuesProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
<filterConditionProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
<filtertype>BASIC</filtertype>
</filterExtension>
</filterExtensions>
</dbRecordContainer>
</recordContainers>
......
import("system.vars");
import("Favorites_lib");
import("system.result");
import("Sql_lib");
var operator = vars.get("$local.operator");
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
import("Context_lib");
import("system.result");
import("Favorites_lib");
result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
......@@ -596,6 +596,7 @@
<contentType>TEXT</contentType>
<filterValuesProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
<filterConditionProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
<groupedRecordField></groupedRecordField>
<filtertype>BASIC</filtertype>
</filterExtension>
</filterExtensions>
......
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");
for(i = 0; i < rowIds.length; i++)
favoFilterCond.or("CONTRACT.CONTRACTID", rowIds[i], SqlBuilder.EQUAL());
var objecttype = vars.get("$field.CONTRACT_OBJECTTYPE");
var idcolumn = "CONTRACT.CONTRACTID";
result.string(favoFilterCond.toString());
\ No newline at end of file
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
\ 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");
for(i = 0; i < rowIds.length; i++)
favoFilterCond.or("OFFER.OFFERID", rowIds[i], SqlBuilder.EQUAL());
var objecttype = vars.get("$field.OFFER_OBJECTTYPE");
var idcolumn = "OFFER.OFFERID";
result.string(favoFilterCond.toString());
\ No newline at end of file
result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue));
......@@ -24,7 +24,7 @@
</cardViewTemplate>
<favoriteViewTemplate>
<name>Favorites</name>
<objectType>CAMPAIGN_OBEJCTTYPE</objectType>
<objectType>CAMPAIGN_OBJECTTYPE</objectType>
<rowId>#UID</rowId>
<entityField>#ENTITY</entityField>
<title>favorites</title>
......
......@@ -30,30 +30,47 @@ FavoritesUtil.getUserFavoriteGroups = function()
return Array.from(allTypes);
}
FavoritesUtil.getFilterDisplayCondition = function(pObjecttype, pOperator, pRawvalue)
{
var favoFilterCond = newWhere();
var rowIds = 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());
}
else if(pOperator == "12") // empty
favoFilterCond.and(idcolumn, rowIds, SqlBuilder.NOT_IN());
FavoritesUtil.getRowIdsOfFavoriteGroup = function()
return favoFilterCond.toString();
}
FavoritesUtil.getRowIdsOfFavorites = function(pObjecttype, pOperator, pRawvalue)
{
var sysAlias = favorite.getFavoritesAlias();
var op = "";
var value = vars.get("$local.rawvalue");
var operator = vars.get("$local.operator") //noch zu implementieren
if(pOperator == "1")
op = SqlBuilder.EQUAL();
else if(pOperator == "2")
op = SqlBuilder.NOT_EQUAL();
else if(pOperator == "11")
op = SqlBuilder.IN();
else if(pOperator == "12")
op = SqlBuilder.NOT_IN();
if(value && operator)
{
var filterCond = newWhere("ASYS_RECORDGROUP.TITLE", value, null, null, sysAlias); //Operators fehlen noch
filterCond.and(newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, sysAlias));
var rowIds = new SqlBuilder(sysAlias).selectDistinct("ASYS_RECORD.ROW_ID")
.from("ASYS_RECORD")
.join("ASYS_RECORDGROUP", "ASYS_RECORD.RECORDGROUP_ID = ASYS_RECORDGROUP.ID")
.where(filterCond)
.arrayColumn();
return rowIds;
}
return null;
var filterCond = newWhereIfSet("ASYS_RECORDGROUP.TITLE", pRawvalue, op, null, sysAlias); //Operators fehlen noch
filterCond.and(newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()["name"], null, null, sysAlias));
filterCond.and(newWhere("ASYS_RECORD.OBJECT_TYPE", pObjecttype, null, null, sysAlias));
var rowIds = new SqlBuilder(sysAlias).selectDistinct("ASYS_RECORD.ROW_ID")
.from("ASYS_RECORD")
.join("ASYS_RECORDGROUP", "ASYS_RECORD.RECORDGROUP_ID = ASYS_RECORDGROUP.ID")
.where(filterCond)
.arrayColumn();
return rowIds;
}
FavoritesUtil.getUserFavoriteGroupsByContext = function(pContext)
......
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