diff --git a/entity/CampaignCost_entity/CampaignCost_entity.aod b/entity/CampaignCost_entity/CampaignCost_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..e6b0411599911ac26450b5a922d9773c0c5f9bdb --- /dev/null +++ b/entity/CampaignCost_entity/CampaignCost_entity.aod @@ -0,0 +1,310 @@ +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5"> + <name>CampaignCost_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <afterOperatingState>%aditoprj%/entity/CampaignCost_entity/afterOperatingState.js</afterOperatingState> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityField> + <name>CAMPAIGNCOSTID</name> + <mandatory v="true" /> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/campaigncostid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>CAMPAIGN_ID</name> + <title>Campaign</title> + <consumer>Campaigns</consumer> + <mandatory v="true" /> + <groupable v="true" /> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/campaign_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/campaign_id/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>CAMPAIGNSTEP_ID</name> + <title>Campaign Step</title> + <consumer>CampaignSteps</consumer> + <mandatoryProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/campaignstep_id/mandatoryProcess.js</mandatoryProcess> + <groupable v="true" /> + <stateProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/campaignstep_id/stateProcess.js</stateProcess> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/campaignstep_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/campaignstep_id/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/CampaignCost_entity/entityfields/campaignstep_id/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + </onValueChangeTypes> + </entityField> + <entityField> + <name>CATEGORY</name> + <title>Category</title> + <consumer>KeywordCampaignManagementCostCategory</consumer> + <mandatory v="true" /> + <groupable v="true" /> + <displayValueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/category/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>NET</name> + <title>Cost</title> + <contentType>NUMBER</contentType> + <outputFormat>#,##0.00</outputFormat> + <inputFormat>#,##0.00</inputFormat> + <mandatory v="true" /> + </entityField> + <entityField> + <name>USER_NEW</name> + <mandatory v="true" /> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_NEW</name> + <mandatory v="true" /> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/date_edit/valueProcess.js</valueProcess> + </entityField> + <entityProvider> + <name>CampaignCosts</name> + <fieldType>DEPENDENCY_IN</fieldType> + <dependencies> + <entityDependency> + <name>7131288b-af5c-4914-96f5-c5d70217fc23</name> + <entityName>Campaign_entity</entityName> + <fieldName>CampaignCosts</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>CampaignStepId_param</name> + <expose v="false" /> + </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_entity/entityfields/campaigncosts/children/campaignsteps_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityProvider> + <entityProvider> + <name>StepCosts</name> + <fieldType>DEPENDENCY_IN</fieldType> + <dependencies> + <entityDependency> + <name>af147f3e-a1bd-4eb0-9ac8-325dbdaba17d</name> + <entityName>CampaignStep_entity</entityName> + <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" /> + </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_entity/entityfields/stepcosts/children/campaignsteps_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityProvider> + <entityConsumer> + <name>Campaigns</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Campaign_entity</entityName> + <fieldName>Campaigns</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>CampaignSteps</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>CampaignStep_entity</entityName> + <fieldName>CampaignSteps</fieldName> + </dependency> + <children> + <entityParameter> + <name>campaignId_param</name> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/campaignsteps/children/campaignid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>KeywordCampaignManagementCostCategory</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/keywordcampaignmanagementcostcategory/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ExcludedKeyIdsSubquery_param</name> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/keywordcampaignmanagementcostcategory/children/excludedkeyidssubquery_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityActionGroup> + <name>alter</name> + <children> + <entityActionField> + <name>edit</name> + <fieldType>ACTION</fieldType> + <onActionProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/alter/children/edit/onActionProcess.js</onActionProcess> + <isSelectionAction v="true" /> + <iconId>NEON:PENCIL</iconId> + </entityActionField> + </children> + </entityActionGroup> + <entityParameter> + <name>CampaignId_param</name> + <expose v="true" /> + <mandatory v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>CampaignStepId_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>Uid_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>netPerParticipant</name> + <contentType>NUMBER</contentType> + <outputFormat>#,##0.00</outputFormat> + <inputFormat>#,##0.00</inputFormat> + <state>READONLY</state> + <titleProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/netperparticipant/titleProcess.js</titleProcess> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/netperparticipant/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>countParticipants</name> + <title>Participants</title> + <contentType>NUMBER</contentType> + <outputFormat>#0</outputFormat> + <inputFormat>#0</inputFormat> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/countparticipants/valueProcess.js</valueProcess> + </entityField> + <entityParameter> + <name>CampaignSteps_param</name> + <title></title> + <expose v="true" /> + <documentation>%aditoprj%/entity/CampaignCost_entity/entityfields/campaignsteps_param/documentation.adoc</documentation> + <description>PARAMETER</description> + </entityParameter> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <fromClauseProcess>%aditoprj%/entity/CampaignCost_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> + <conditionProcess>%aditoprj%/entity/CampaignCost_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <orderClauseProcess>%aditoprj%/entity/CampaignCost_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> + <linkInformation> + <linkInformation> + <name>70c2db20-0695-4189-92cb-7da585bff401</name> + <tableName>CAMPAIGNCOST</tableName> + <primaryKey>CAMPAIGNCOSTID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + <linkInformation> + <name>b97b7f67-86ea-4d0a-8303-abc05863ed66</name> + <tableName>CAMPAIGNSTEP</tableName> + <primaryKey>CAMPAIGNSTEPID</primaryKey> + <isUIDTable v="false" /> + <readonly v="true" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>CAMPAIGN_ID.value</name> + <recordfield>CAMPAIGNCOST.CAMPAIGN_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CAMPAIGNCOSTID.value</name> + <recordfield>CAMPAIGNCOST.CAMPAIGNCOSTID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CAMPAIGNSTEP_ID.value</name> + <recordfield>CAMPAIGNCOST.CAMPAIGNSTEP_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CATEGORY.value</name> + <recordfield>CAMPAIGNCOST.CATEGORY</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>CAMPAIGNCOST.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>CAMPAIGNCOST.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>NET.value</name> + <recordfield>CAMPAIGNCOST.NET</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>CAMPAIGNCOST.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>CAMPAIGNCOST.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CATEGORY.displayValue</name> + <expression>%aditoprj%/entity/CampaignCost_entity/recordcontainers/db/recordfieldmappings/category.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/CampaignCost_entity/afterOperatingState.js b/entity/CampaignCost_entity/afterOperatingState.js new file mode 100644 index 0000000000000000000000000000000000000000..d39336402371a7d3f5db536a2e8ca261fa4e7fe3 --- /dev/null +++ b/entity/CampaignCost_entity/afterOperatingState.js @@ -0,0 +1,7 @@ +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_VIEW) +{ + neon.refreshAll(); +} \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/alter/children/edit/onActionProcess.js b/entity/CampaignCost_entity/entityfields/alter/children/edit/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2f19601f3e8f533982bac2823f085588c6f8dd7e --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/alter/children/edit/onActionProcess.js @@ -0,0 +1,7 @@ +import("system.neon"); +import("system.vars"); + +var params = { + "Uid_param" : vars.get("$sys.uid") +} +neon.openContext("CampaignCost", "CampaignCostEdit_view", null, neon.OPERATINGSTATE_EDIT, params); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/campaign_id/displayValueProcess.js b/entity/CampaignCost_entity/entityfields/campaign_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..12ea2ba316a5f6370d042673bc2c79c8019841f4 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/campaign_id/displayValueProcess.js @@ -0,0 +1,9 @@ +import("system.result"); +import("system.db"); +import("system.vars"); +import("Campaign_lib"); + +var campaignId = vars.get("$field.CAMPAIGN_ID"); +var campaignName = CampaignUtils.getCampaignNameById(campaignId); + +result.string(campaignName); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/campaign_id/valueProcess.js b/entity/CampaignCost_entity/entityfields/campaign_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..aae29913f6603e7e01072a210fe275d8112fabe2 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/campaign_id/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.CampaignId_param") && vars.get("$param.CampaignId_param")) +{ + result.string(vars.get("$param.CampaignId_param")); +} \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/campaigncostid/valueProcess.js b/entity/CampaignCost_entity/entityfields/campaigncostid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f6b9da922bcaccb0006690f599c1d3cee4d00c55 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/campaigncostid/valueProcess.js @@ -0,0 +1,7 @@ +import("system.neon"); +import("system.util"); +import("system.vars"); +import("system.result"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(util.getNewUUID()); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/campaigncosts/children/campaignsteps_param/valueProcess.js b/entity/CampaignCost_entity/entityfields/campaigncosts/children/campaignsteps_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..742074b164130b0dced0dc645104ededc1501e96 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/campaigncosts/children/campaignsteps_param/valueProcess.js @@ -0,0 +1,2 @@ +import("system.result"); +result.string(0) \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/campaignstep_id/displayValueProcess.js b/entity/CampaignCost_entity/entityfields/campaignstep_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ee615b672f09af762e082d55eb0dfae53be9a87d --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/campaignstep_id/displayValueProcess.js @@ -0,0 +1,20 @@ +import("system.neon"); +import("system.translate"); +import("system.result"); +import("system.db"); +import("system.vars"); +import("Campaign_lib"); + +if (vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW) +{ + 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 diff --git a/entity/CampaignCost_entity/entityfields/campaignstep_id/mandatoryProcess.js b/entity/CampaignCost_entity/entityfields/campaignstep_id/mandatoryProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..39c2cd139e0d469ba5a2445c0bb53004299c8632 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/campaignstep_id/mandatoryProcess.js @@ -0,0 +1,7 @@ +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"))); diff --git a/entity/CampaignCost_entity/entityfields/campaignstep_id/onValueChange.js b/entity/CampaignCost_entity/entityfields/campaignstep_id/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..a7827c48e458d541031e9d65941ade4fc7e0ff16 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/campaignstep_id/onValueChange.js @@ -0,0 +1,3 @@ +import("system.neon"); + +neon.setFieldValue("$field.CATEGORY", ""); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/campaignstep_id/stateProcess.js b/entity/CampaignCost_entity/entityfields/campaignstep_id/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..93d98b6e6e5e4d2e03ce31e3971571940efccc64 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/campaignstep_id/stateProcess.js @@ -0,0 +1,13 @@ +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 diff --git a/entity/CampaignCost_entity/entityfields/campaignstep_id/valueProcess.js b/entity/CampaignCost_entity/entityfields/campaignstep_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f4a91495ca4454e2b82cb84d6a7b46761f19c88e --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/campaignstep_id/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.CampaignStepId_param") && vars.get("$param.CampaignStepId_param")) +{ + result.string(vars.get("$param.CampaignStepId_param")); +} \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/campaignsteps/children/campaignid_param/valueProcess.js b/entity/CampaignCost_entity/entityfields/campaignsteps/children/campaignid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..dc855dd051409b0f79372cc2e34d294a1a57c72d --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/campaignsteps/children/campaignid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$param.CampaignId_param")) \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/campaignsteps_param/documentation.adoc b/entity/CampaignCost_entity/entityfields/campaignsteps_param/documentation.adoc new file mode 100644 index 0000000000000000000000000000000000000000..e7434a04e7650f378d9e46cc04b5b0d7518234d3 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/campaignsteps_param/documentation.adoc @@ -0,0 +1,2 @@ +if 0: show only fix costs +if 1: show only campaign steps \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/category/displayValueProcess.js b/entity/CampaignCost_entity/entityfields/category/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..96536279ef0b858b99687c397622da45f831fa14 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/category/displayValueProcess.js @@ -0,0 +1,6 @@ +import("system.result"); +import("system.vars"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +result.string(KeywordUtils.getViewValue($KeywordRegistry.campaignStepCostCategory(), vars.get("$this.value"))); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/countparticipants/valueProcess.js b/entity/CampaignCost_entity/entityfields/countparticipants/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..6952bc19fb1c4532ee3588b899bb4be228e0dc60 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/countparticipants/valueProcess.js @@ -0,0 +1,12 @@ +import("system.result"); +import("system.vars"); +import("Campaign_lib"); + +if (vars.get("$field.CAMPAIGNSTEP_ID")) +{ + result.string(CampaignUtils.getParticipantCountForStep(vars.get("$field.CAMPAIGNSTEP_ID"))); +} +else +{ + result.string(CampaignUtils.getParticipantCount(vars.get("$field.CAMPAIGN_ID"))); +} \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/date_edit/valueProcess.js b/entity/CampaignCost_entity/entityfields/date_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..5e6ef059738e0c724a468685333a5e257ac228ce --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/date_edit/valueProcess.js @@ -0,0 +1,7 @@ +import("system.util"); +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) + result.string(vars.get("$sys.date")); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/date_new/valueProcess.js b/entity/CampaignCost_entity/entityfields/date_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a72892783bf2bd04fe353c47f1be0cb570bbb323 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/date_new/valueProcess.js @@ -0,0 +1,7 @@ +import("system.util"); +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(vars.get("$sys.date")); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/keywordcampaignmanagementcostcategory/children/containername_param/valueProcess.js b/entity/CampaignCost_entity/entityfields/keywordcampaignmanagementcostcategory/children/containername_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7a66c852983ef1afe350b0b1637c9859a85e2421 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/keywordcampaignmanagementcostcategory/children/containername_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.result"); +import("KeywordRegistry_basic"); + +result.string($KeywordRegistry.campaignStepCostCategory()); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/keywordcampaignmanagementcostcategory/children/excludedkeyidssubquery_param/valueProcess.js b/entity/CampaignCost_entity/entityfields/keywordcampaignmanagementcostcategory/children/excludedkeyidssubquery_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f9fdcc7295ca3443a1ba782155d529cc5f8103a6 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/keywordcampaignmanagementcostcategory/children/excludedkeyidssubquery_param/valueProcess.js @@ -0,0 +1,18 @@ +import("system.neon"); +import("system.vars"); +import("system.db"); +import("Sql_lib"); +import("system.result"); + +var cond = SqlCondition.begin() + .andPrepareVars("CAMPAIGNCOST.CAMPAIGN_ID", "$field.CAMPAIGN_ID"); + +if (vars.get("$field.CAMPAIGNSTEP_ID")) + cond.andPrepareVars("CAMPAIGNCOST.CAMPAIGNSTEP_ID", "$field.CAMPAIGNSTEP_ID"); +else + cond.and("CAMPAIGNCOST.CAMPAIGNSTEP_ID is null") + +if (vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW) + cond.andPrepareVars("CAMPAIGNCOST.CAMPAIGNCOSTID", "$field.CAMPAIGNCOSTID", "# <> ?"); + +result.string(db.translateStatement(cond.buildSql("select CATEGORY from CAMPAIGNCOST", "1=2", "group by CATEGORY"))); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/netperparticipant/titleProcess.js b/entity/CampaignCost_entity/entityfields/netperparticipant/titleProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..fc36199cca341dd1e3923ebb223ab28f3efa5ccf --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/netperparticipant/titleProcess.js @@ -0,0 +1,4 @@ +import("system.translate"); +import("system.result"); + +result.string(translate.text("Cost") + " " + translate.text("per") + " " + translate.text("Participant")); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/netperparticipant/valueProcess.js b/entity/CampaignCost_entity/entityfields/netperparticipant/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f3dedbcae4b8b310a011af1104b8706b3421998b --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/netperparticipant/valueProcess.js @@ -0,0 +1,11 @@ +import("system.vars"); +import("system.result"); +import("system.eMath"); + +var netto = parseFloat(vars.get("$field.NET")); +var countParticipants = parseFloat(vars.get("$field.countParticipants")); + +if (netto && countParticipants &&countParticipants > 0) + result.string(eMath.roundDec(netto / countParticipants, 2, eMath.ROUND_HALF_UP)); +else + result.string(0); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/stepcosts/children/campaignsteps_param/valueProcess.js b/entity/CampaignCost_entity/entityfields/stepcosts/children/campaignsteps_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..0488a23572b30f97174720a23726a09b8b266381 --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/stepcosts/children/campaignsteps_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string(1); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/user_edit/valueProcess.js b/entity/CampaignCost_entity/entityfields/user_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..6af880ae3e0e2b89b4eee8327ed49f1eefe458af --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/user_edit/valueProcess.js @@ -0,0 +1,7 @@ +import("system.util"); +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) + result.string(vars.get("$sys.user")); \ No newline at end of file diff --git a/entity/CampaignCost_entity/entityfields/user_new/valueProcess.js b/entity/CampaignCost_entity/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e518bc75a9494e53a83613dedd943106e74fc00a --- /dev/null +++ b/entity/CampaignCost_entity/entityfields/user_new/valueProcess.js @@ -0,0 +1,7 @@ +import("system.util"); +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(vars.get("$sys.user")); \ No newline at end of file diff --git a/entity/CampaignCost_entity/recordcontainers/db/conditionProcess.js b/entity/CampaignCost_entity/recordcontainers/db/conditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ff7f94167b0fbafce7189b2facf299ae60849832 --- /dev/null +++ b/entity/CampaignCost_entity/recordcontainers/db/conditionProcess.js @@ -0,0 +1,22 @@ +import("system.vars"); +import("system.db"); +import("system.result"); +import("Sql_lib"); + +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 diff --git a/entity/CampaignCost_entity/recordcontainers/db/fromClauseProcess.js b/entity/CampaignCost_entity/recordcontainers/db/fromClauseProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4d95079d7cb044ddab9f1e475e6921ec8dcfb2f9 --- /dev/null +++ b/entity/CampaignCost_entity/recordcontainers/db/fromClauseProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("CAMPAIGNCOST left join CAMPAIGNSTEP on CAMPAIGNCOST.CAMPAIGNSTEP_ID = CAMPAIGNSTEP.CAMPAIGNSTEPID") \ No newline at end of file diff --git a/entity/CampaignCost_entity/recordcontainers/db/orderClauseProcess.js b/entity/CampaignCost_entity/recordcontainers/db/orderClauseProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8538a702d13027d9d9739d9b6652105b87725638 --- /dev/null +++ b/entity/CampaignCost_entity/recordcontainers/db/orderClauseProcess.js @@ -0,0 +1,4 @@ +import("system.result"); +import("system.db"); + +result.object({"CAMPAIGNSTEP.SORTING": db.ASCENDING}); \ No newline at end of file diff --git a/entity/CampaignCost_entity/recordcontainers/db/recordfieldmappings/category.displayvalue/expression.js b/entity/CampaignCost_entity/recordcontainers/db/recordfieldmappings/category.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..3aa7368fd41339c1bd48a4951acb4ff54b12ef58 --- /dev/null +++ b/entity/CampaignCost_entity/recordcontainers/db/recordfieldmappings/category.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.campaignStepCostCategory(), "CAMPAIGNCOST.CATEGORY"); +result.string(sql); \ No newline at end of file diff --git a/entity/CampaignStep_entity/CampaignStep_entity.aod b/entity/CampaignStep_entity/CampaignStep_entity.aod index 972daa93743021681d51bda90d8e79105842a2af..10c9826fa0449b6097ff2c6d0c2a2a22a164f2d8 100644 --- a/entity/CampaignStep_entity/CampaignStep_entity.aod +++ b/entity/CampaignStep_entity/CampaignStep_entity.aod @@ -124,7 +124,7 @@ </entityDependency> <entityDependency> <name>ad4ee503-95b9-4add-a0ef-e833db008349</name> - <entityName>CampaignCost_entitiy</entityName> + <entityName>CampaignCost_entity</entityName> <fieldName>CampaignSteps</fieldName> <isConsumer v="false" /> </entityDependency> @@ -229,7 +229,7 @@ <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>CampaignCost_entitiy</entityName> + <entityName>CampaignCost_entity</entityName> <fieldName>StepCosts</fieldName> </dependency> <children> diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod index 87e2fba10cfa3747c01ef0b9f4ee091a59ebeeaa..7865abaefab2997512fe33d64d2696e04ca8c0c3 100644 --- a/entity/Campaign_entity/Campaign_entity.aod +++ b/entity/Campaign_entity/Campaign_entity.aod @@ -146,7 +146,7 @@ </entityDependency> <entityDependency> <name>d238b02c-75e7-4cf4-b90c-bb36d41ae90f</name> - <entityName>CampaignCost_entitiy</entityName> + <entityName>CampaignCost_entity</entityName> <fieldName>Campaigns</fieldName> <isConsumer v="false" /> </entityDependency> @@ -197,7 +197,7 @@ <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>CampaignCost_entitiy</entityName> + <entityName>CampaignCost_entity</entityName> <fieldName>CampaignCosts</fieldName> </dependency> <children> @@ -219,7 +219,7 @@ <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>CampaignCost_entitiy</entityName> + <entityName>CampaignCost_entity</entityName> <fieldName>StepCosts</fieldName> </dependency> <children> diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod index f7dacc688967a260bc2ffcec454dc412bfd62741..b4b9660d0b0eae968e4671097549231b0674ffe7 100644 --- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod +++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod @@ -382,7 +382,7 @@ </entityDependency> <entityDependency> <name>13d739cb-2b97-44a0-bed0-b6868b0e579e</name> - <entityName>CampaignCost_entitiy</entityName> + <entityName>CampaignCost_entity</entityName> <fieldName>KeywordCampaignManagementCostCategory</fieldName> <isConsumer v="false" /> </entityDependency> diff --git a/neonContext/CampaignCost/CampaignCost.aod b/neonContext/CampaignCost/CampaignCost.aod index 0e1a0721491e11958bb84cfa99c0c1799c28ccca..9c38b9368d9731c82c386ed4dd4d400104e3ae6b 100644 --- a/neonContext/CampaignCost/CampaignCost.aod +++ b/neonContext/CampaignCost/CampaignCost.aod @@ -4,7 +4,7 @@ <majorModelMode>DISTRIBUTED</majorModelMode> <filterview>CampaignCostFilter_view</filterview> <editview>CampaignCostEdit_view</editview> - <entity>CampaignCost_entitiy</entity> + <entity>CampaignCost_entity</entity> <references> <neonViewReference> <name>fa4ac7f7-4f30-42ba-86b2-99e86597734f</name>