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

refactor campaign cost

parent de9952ab
No related branches found
No related tags found
No related merge requests found
Showing
with 175 additions and 59 deletions
......@@ -27,9 +27,15 @@
<name>CAMPAIGNSTEP_ID</name>
<title>Campaign Step</title>
<consumer>CampaignSteps</consumer>
<mandatoryProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/campaignstep_id/mandatoryProcess.js</mandatoryProcess>
<groupable v="true" />
<stateProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/campaignstep_id/stateProcess.js</stateProcess>
<valueProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/campaignstep_id/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/campaignstep_id/displayValueProcess.js</displayValueProcess>
<onValueChange>%aditoprj%/entity/CampaignCost_entitiy/entityfields/campaignstep_id/onValueChange.js</onValueChange>
<onValueChangeTypes>
<element>MASK</element>
</onValueChangeTypes>
</entityField>
<entityField>
<name>CATEGORY</name>
......@@ -71,8 +77,6 @@
<entityProvider>
<name>CampaignCosts</name>
<fieldType>DEPENDENCY_IN</fieldType>
<targetContextField>TARGET_CONTEXT</targetContextField>
<targetIdField>TARGET_ROWID</targetIdField>
<dependencies>
<entityDependency>
<name>7131288b-af5c-4914-96f5-c5d70217fc23</name>
......@@ -90,13 +94,20 @@
<name>Uid_param</name>
<expose v="false" />
</entityParameter>
<entityParameter>
<name>CampaignId_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>CampaignSteps_param</name>
<valueProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/campaigncosts/children/campaignsteps_param/valueProcess.js</valueProcess>
<expose v="false" />
</entityParameter>
</children>
</entityProvider>
<entityProvider>
<name>StepCosts</name>
<fieldType>DEPENDENCY_IN</fieldType>
<targetContextField>TARGET_CONTEXT</targetContextField>
<targetIdField>TARGET_ROWID</targetIdField>
<dependencies>
<entityDependency>
<name>af147f3e-a1bd-4eb0-9ac8-325dbdaba17d</name>
......@@ -104,17 +115,31 @@
<fieldName>CampaignStepCosts</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>2a92b738-c0bb-4c14-9915-aff9e18effaf</name>
<entityName>Campaign_entity</entityName>
<fieldName>CampaignStepCosts</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
<children>
<entityParameter>
<name>CampaignStepId_param</name>
<expose v="true" />
<mandatory v="true" />
</entityParameter>
<entityParameter>
<name>Uid_param</name>
<expose v="false" />
</entityParameter>
<entityParameter>
<name>CampaignId_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>CampaignSteps_param</name>
<valueProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/stepcosts/children/campaignsteps_param/valueProcess.js</valueProcess>
<expose v="false" />
</entityParameter>
</children>
</entityProvider>
<entityConsumer>
......@@ -177,14 +202,6 @@
<expose v="true" />
<description>PARAMETER</description>
</entityParameter>
<entityField>
<name>TARGET_CONTEXT</name>
<valueProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/target_context/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>TARGET_ROWID</name>
<valueProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/target_rowid/valueProcess.js</valueProcess>
</entityField>
<entityParameter>
<name>Uid_param</name>
<expose v="true" />
......@@ -194,6 +211,7 @@
<name>netPerParticipant</name>
<contentType>NUMBER</contentType>
<outputFormat>#,##0.00</outputFormat>
<state>READONLY</state>
<titleProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/netperparticipant/titleProcess.js</titleProcess>
<valueProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/netperparticipant/valueProcess.js</valueProcess>
</entityField>
......@@ -202,8 +220,16 @@
<title>Participants</title>
<contentType>NUMBER</contentType>
<outputFormat>#0</outputFormat>
<state>READONLY</state>
<valueProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/countparticipants/valueProcess.js</valueProcess>
</entityField>
<entityParameter>
<name>CampaignSteps_param</name>
<title></title>
<expose v="true" />
<documentation>%aditoprj%/entity/CampaignCost_entitiy/entityfields/campaignsteps_param/documentation.adoc</documentation>
<description>PARAMETER</description>
</entityParameter>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
import("system.result");
result.string(0)
\ No newline at end of file
import("system.neon");
import("system.translate");
import("system.result");
import("system.db");
import("system.vars");
import("Campaign_lib");
var campaignStepId = vars.get("$field.CAMPAIGNSTEP_ID");
if (campaignStepId)
if (vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW)
{
var campaignStepName = CampaignUtils.getCampaignStepNameById(campaignStepId);
result.string(translate.text("Step") + ": " + campaignStepName);
}
else
{
result.string(translate.text("Fix cost"));
}
var campaignStepId = vars.get("$field.CAMPAIGNSTEP_ID");
if (campaignStepId)
{
var campaignStepName = CampaignUtils.getCampaignStepNameById(campaignStepId);
result.string(translate.text("Step") + ": " + campaignStepName);
}
else
{
result.string(translate.text("Fix cost"));
}
}
\ No newline at end of file
import("system.result");
import("system.neon");
import("system.vars");
result.object((vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW &&
vars.exists("$param.CampaignSteps_param") && vars.get("$param.CampaignSteps_param") == "1" &&
vars.exists("$param.CampaignStepId_param") && !vars.get("$param.CampaignStepId_param")));
import("system.neon");
neon.setFieldValue("$field.CATEGORY", "");
\ No newline at end of file
import("system.result");
import("system.neon");
import("system.vars");
if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW &&
vars.exists("$param.CampaignSteps_param") && vars.get("$param.CampaignSteps_param") == "1" &&
vars.exists("$param.CampaignStepId_param") && !vars.get("$param.CampaignStepId_param"))
{
result.string(neon.COMPONENTSTATE_AUTO);
}
else
{
result.string(neon.COMPONENTSTATE_INVISIBLE);
}
\ No newline at end of file
if 0: show only fix costs
if 1: show only campaign steps
\ No newline at end of file
import("system.result");
result.string(1);
\ No newline at end of file
import("system.result");
import("system.vars");
if (vars.exists("$field.CAMPAIGNSTEP_ID") && vars.get("$field.CAMPAIGNSTEP_ID"))
{
result.string("CampaignStep");
}
else
{
result.string("");
}
\ No newline at end of file
import("system.result");
import("system.vars");
if (vars.exists("$field.CAMPAIGNSTEP_ID") && vars.get("$field.CAMPAIGNSTEP_ID"))
{
result.string(vars.get("$field.CAMPAIGNSTEP_ID"));
}
\ No newline at end of file
import("system.logging");
import("system.vars");
import("system.db");
import("system.result");
import("Sql_lib");
......@@ -7,5 +7,16 @@ var cond = SqlCondition.begin()
.andPrepareVars("CAMPAIGNCOST.CAMPAIGNCOSTID", "$param.Uid_param")
.andPrepareVars("CAMPAIGNCOST.CAMPAIGN_ID", "$param.CampaignId_param")
.andPrepareVars("CAMPAIGNCOST.CAMPAIGNSTEP_ID", "$param.CampaignStepId_param");
if (vars.exists("$param.CampaignSteps_param") && vars.get("$param.CampaignSteps_param") == "1")
{
// only step costs
cond.and("CAMPAIGNCOST.CAMPAIGNSTEP_ID is not null");
}
else
{
// only fix costs
cond.and("CAMPAIGNCOST.CAMPAIGNSTEP_ID is null");
}
result.string(db.translateCondition(cond.build("1=2")));
\ No newline at end of file
......@@ -2,6 +2,7 @@
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.2">
<name>CampaignParticipant_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<afterOperatingState>%aditoprj%/entity/CampaignParticipant_entity/afterOperatingState.js</afterOperatingState>
<recordContainer>ParticipantsDbRecordContainer</recordContainer>
<entityFields>
<entityProvider>
......
import("system.neon");
import("system.vars");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_VIEW)
{
neon.refreshAll();
}
\ No newline at end of file
......@@ -197,6 +197,21 @@
<contentType>NUMBER</contentType>
<outputFormat>#,##0.00</outputFormat>
</entityField>
<entityConsumer>
<name>CampaignStepCosts</name>
<fieldType>DEPENDENCY_OUT</fieldType>
<dependency>
<name>dependency</name>
<entityName>CampaignCost_entitiy</entityName>
<fieldName>StepCosts</fieldName>
</dependency>
<children>
<entityParameter>
<name>CampaignId_param</name>
<valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/campaignstepcosts/children/campaignid_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
import("system.result");
import("system.vars");
result.string(vars.get("$sys.uid"));
\ No newline at end of file
......@@ -27,5 +27,9 @@
<name>2fffb548-0b4f-4986-9b50-aefa2e00bade</name>
<view>CampaignPreview_view</view>
</neonViewReference>
<neonViewReference>
<name>4a5377cc-af00-49c7-aad2-ac93e2752b3f</name>
<view>CampaignCost_view</view>
</neonViewReference>
</references>
</neonContext>
......@@ -16,7 +16,11 @@
</neonViewReference>
<neonViewReference>
<name>01137074-b129-42bc-86b7-82afc356923b</name>
<view>CampaignStepCostFilter_view</view>
<view>CampaignGroupedCostFilter_view</view>
</neonViewReference>
<neonViewReference>
<name>a4f131e8-2371-4070-83f7-fd69dfd6a7df</name>
<view>CampaignCostExtendedFilter_view</view>
</neonViewReference>
</references>
</neonContext>
......@@ -14,6 +14,10 @@
<editMode v="true" />
<entityField>#ENTITY</entityField>
<fields>
<entityFieldLink>
<name>2937d501-ee30-4535-870b-1d5d4ccc21ba</name>
<entityField>CAMPAIGNSTEP_ID</entityField>
</entityFieldLink>
<entityFieldLink>
<name>bb0e5fb9-e82c-47f7-b6fa-f3e5d4c36649</name>
<entityField>CATEGORY</entityField>
......
<?xml version="1.0" encoding="UTF-8"?>
<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
<name>CampaignCostExtendedFilter_view</name>
<title>Stop costs</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<filterable v="true" />
<layout>
<boxLayout>
<name>layout</name>
</boxLayout>
</layout>
<children>
<tableViewTemplate>
<name>CampaignCost</name>
<entityField>#ENTITY</entityField>
<columns>
<neonTableColumn>
<name>5202d410-fc4d-4109-93b1-8743954a25e2</name>
<entityField>CATEGORY</entityField>
</neonTableColumn>
<neonTableColumn>
<name>0f42e172-f2d0-45de-8a39-d0e4609b3393</name>
<entityField>countParticipants</entityField>
</neonTableColumn>
<neonTableColumn>
<name>3dc61836-42a2-4cd9-b87f-14381d72d01a</name>
<entityField>netPerParticipant</entityField>
</neonTableColumn>
<neonTableColumn>
<name>b3c90c61-9f12-4b1c-9e27-b88abe77fd4e</name>
<entityField>NET</entityField>
</neonTableColumn>
</columns>
</tableViewTemplate>
</children>
</neonView>
......@@ -9,31 +9,19 @@
</boxLayout>
</layout>
<children>
<treeTableViewTemplate>
<name>CostTreeTable</name>
<favoriteActionGroup1>alter</favoriteActionGroup1>
<defaultGroupFields>
<element>CAMPAIGNSTEP_ID</element>
</defaultGroupFields>
<tableViewTemplate>
<name>CampaignCost</name>
<entityField>#ENTITY</entityField>
<columns>
<neonTableColumn>
<name>457caff8-0403-425f-839c-62e5d05fe3a1</name>
<name>651c5bd4-8f87-40d4-9d1f-38549b1e5fdf</name>
<entityField>CATEGORY</entityField>
</neonTableColumn>
<neonTableColumn>
<name>f8c6439c-9536-477b-af19-26719902e12e</name>
<entityField>netPerParticipant</entityField>
</neonTableColumn>
<neonTableColumn>
<name>8239e81b-d69c-4ea9-b55d-83e79d1693cf</name>
<entityField>countParticipants</entityField>
</neonTableColumn>
<neonTableColumn>
<name>2adbd887-f1df-43ff-bde9-12c8273af7a9</name>
<name>ee4676af-5bb6-4805-99cb-954ef3b178f0</name>
<entityField>NET</entityField>
</neonTableColumn>
</columns>
</treeTableViewTemplate>
</tableViewTemplate>
</children>
</neonView>
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