diff --git a/entity/CampaignCost_entitiy/CampaignCost_entitiy.aod b/entity/CampaignCost_entitiy/CampaignCost_entitiy.aod new file mode 100644 index 0000000000000000000000000000000000000000..1ed10ca0a52fb74404db55cc26a2e8b01f357bf3 --- /dev/null +++ b/entity/CampaignCost_entitiy/CampaignCost_entitiy.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_entitiy</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <afterOperatingState>%aditoprj%/entity/CampaignCost_entitiy/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_entitiy/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_entitiy/entityfields/campaign_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/campaign_id/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <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> + <title>Category</title> + <consumer>KeywordCampaignManagementCostCategory</consumer> + <mandatory v="true" /> + <groupable v="true" /> + <displayValueProcess>%aditoprj%/entity/CampaignCost_entitiy/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_entitiy/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_NEW</name> + <mandatory v="true" /> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/CampaignCost_entitiy/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/CampaignCost_entitiy/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_entitiy/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_entitiy/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_entitiy/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_entitiy/entityfields/keywordcampaignmanagementcostcategory/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ExcludedKeyIdsSubquery_param</name> + <valueProcess>%aditoprj%/entity/CampaignCost_entitiy/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_entitiy/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_entitiy/entityfields/netperparticipant/titleProcess.js</titleProcess> + <valueProcess>%aditoprj%/entity/CampaignCost_entitiy/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_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> + <name>db</name> + <alias>Data_alias</alias> + <fromClauseProcess>%aditoprj%/entity/CampaignCost_entitiy/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> + <conditionProcess>%aditoprj%/entity/CampaignCost_entitiy/recordcontainers/db/conditionProcess.js</conditionProcess> + <orderClauseProcess>%aditoprj%/entity/CampaignCost_entitiy/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_entitiy/recordcontainers/db/recordfieldmappings/category.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/CampaignCost_entitiy/afterOperatingState.js b/entity/CampaignCost_entitiy/afterOperatingState.js new file mode 100644 index 0000000000000000000000000000000000000000..aadf712515f2c07c00aac89451d56b6cd77bdf39 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/alter/children/edit/onActionProcess.js b/entity/CampaignCost_entitiy/entityfields/alter/children/edit/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..5808a7a781c569c67472b7a91f7892363330b39a --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/campaign_id/displayValueProcess.js b/entity/CampaignCost_entitiy/entityfields/campaign_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2e2d6acf76ae6b1ea51cbcc77db98483695bcbf8 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/campaign_id/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/campaign_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4037fcb024927b70e5a6ca6f7753c70c0cea0728 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/campaigncostid/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/campaigncostid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..622e00f05f77bd63405f4487831518087cc38d27 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/campaigncosts/children/campaignsteps_param/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/campaigncosts/children/campaignsteps_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4f08839a6a4d79cdb90175f7b7f194a9902ec27f --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/campaignstep_id/displayValueProcess.js b/entity/CampaignCost_entitiy/entityfields/campaignstep_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f05a19497e25fe0dc5771521a787dbac10fb5489 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/campaignstep_id/mandatoryProcess.js b/entity/CampaignCost_entitiy/entityfields/campaignstep_id/mandatoryProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..32de11947a0d476bc467050c0a740461be22b2f7 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/campaignstep_id/onValueChange.js b/entity/CampaignCost_entitiy/entityfields/campaignstep_id/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..6483cdd91c7941e5997f3405fffbddcf3893f23a --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/campaignstep_id/stateProcess.js b/entity/CampaignCost_entitiy/entityfields/campaignstep_id/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a3d6f4f4d26c42171f5dfaf152074f7039f95afd --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/campaignstep_id/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/campaignstep_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..30896ea50e4ae6bbc69bb7baaca294418004cb84 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/campaignsteps/children/campaignid_param/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/campaignsteps/children/campaignid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..dc855dd051409b0f79372cc2e34d294a1a57c72d --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/campaignsteps_param/documentation.adoc b/entity/CampaignCost_entitiy/entityfields/campaignsteps_param/documentation.adoc new file mode 100644 index 0000000000000000000000000000000000000000..d74c862542faa32b0e558fa69c33edc0000980f6 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/category/displayValueProcess.js b/entity/CampaignCost_entitiy/entityfields/category/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c8d7303fadeec6339bcd9065205606caa49e415c --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/countparticipants/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/countparticipants/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c8cec9a46f4ad458f2dfb3f8525644fb1a1d5244 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/date_edit/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/date_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..96630036eca528560c85d9a237044931e7a9197b --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/date_new/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/date_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..1b1ea7c082a78ebd6e793a5dc644d8920f9522c2 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/keywordcampaignmanagementcostcategory/children/containername_param/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/keywordcampaignmanagementcostcategory/children/containername_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..621fdd82097282d2e949cb0402cf1edcbf5610ce --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/keywordcampaignmanagementcostcategory/children/excludedkeyidssubquery_param/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/keywordcampaignmanagementcostcategory/children/excludedkeyidssubquery_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7bf0f39ed06188503867bd1ecca206fece100bc0 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/netperparticipant/titleProcess.js b/entity/CampaignCost_entitiy/entityfields/netperparticipant/titleProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c5ea14f73ec9a5870c7c5e3a7a58e3358107e15d --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/netperparticipant/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/netperparticipant/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..eea808176cb74be09b41f29a60bb1105115c5af4 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/stepcosts/children/campaignsteps_param/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/stepcosts/children/campaignsteps_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4336563e79c0a64b263cca325ed6285fbbededa7 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/user_edit/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/user_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8a93ff7e16a82fb332cf1f6f30c95bec0c74d929 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/entityfields/user_new/valueProcess.js b/entity/CampaignCost_entitiy/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2615c2bbe71788eb05f1ff93ea8afaa05b40f6fb --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/recordcontainers/db/conditionProcess.js b/entity/CampaignCost_entitiy/recordcontainers/db/conditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f553af6bac573d4226067d0bf246eada7d0d1dc5 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/recordcontainers/db/fromClauseProcess.js b/entity/CampaignCost_entitiy/recordcontainers/db/fromClauseProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e075c4e894903b135e4bd4281da91bdb84c90538 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/recordcontainers/db/orderClauseProcess.js b/entity/CampaignCost_entitiy/recordcontainers/db/orderClauseProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e8abc388f8ef2e8b95dcb0d800030fcfc52701d0 --- /dev/null +++ b/entity/CampaignCost_entitiy/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_entitiy/recordcontainers/db/recordfieldmappings/category.displayvalue/expression.js b/entity/CampaignCost_entitiy/recordcontainers/db/recordfieldmappings/category.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..4f14958aedfdf8daa195607c5b86e2e66e097ce5 --- /dev/null +++ b/entity/CampaignCost_entitiy/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 10c9826fa0449b6097ff2c6d0c2a2a22a164f2d8..972daa93743021681d51bda90d8e79105842a2af 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_entity</entityName> + <entityName>CampaignCost_entitiy</entityName> <fieldName>CampaignSteps</fieldName> <isConsumer v="false" /> </entityDependency> @@ -229,7 +229,7 @@ <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>CampaignCost_entity</entityName> + <entityName>CampaignCost_entitiy</entityName> <fieldName>StepCosts</fieldName> </dependency> <children> diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod index 7865abaefab2997512fe33d64d2696e04ca8c0c3..87e2fba10cfa3747c01ef0b9f4ee091a59ebeeaa 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_entity</entityName> + <entityName>CampaignCost_entitiy</entityName> <fieldName>Campaigns</fieldName> <isConsumer v="false" /> </entityDependency> @@ -197,7 +197,7 @@ <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>CampaignCost_entity</entityName> + <entityName>CampaignCost_entitiy</entityName> <fieldName>CampaignCosts</fieldName> </dependency> <children> @@ -219,7 +219,7 @@ <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>CampaignCost_entity</entityName> + <entityName>CampaignCost_entitiy</entityName> <fieldName>StepCosts</fieldName> </dependency> <children> diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod index b4b9660d0b0eae968e4671097549231b0674ffe7..f7dacc688967a260bc2ffcec454dc412bfd62741 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_entity</entityName> + <entityName>CampaignCost_entitiy</entityName> <fieldName>KeywordCampaignManagementCostCategory</fieldName> <isConsumer v="false" /> </entityDependency> diff --git a/neonContext/CampaignCost/CampaignCost.aod b/neonContext/CampaignCost/CampaignCost.aod index 9c38b9368d9731c82c386ed4dd4d400104e3ae6b..0e1a0721491e11958bb84cfa99c0c1799c28ccca 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_entity</entity> + <entity>CampaignCost_entitiy</entity> <references> <neonViewReference> <name>fa4ac7f7-4f30-42ba-86b2-99e86597734f</name> diff --git a/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod b/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod index c8076b48e2fbb0d7d4be508fa67ce69ef04f3763..ecafe08950d854c4e0a5cc437e50ec52652186fd 100644 --- a/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod +++ b/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod @@ -2,12 +2,11 @@ <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>CampaignCostFilter_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> - <filterable v="false" /> + <filterable v="true" /> <layout> <drawerLayout> <name>layout</name> <layoutCaption>Fix costs</layoutCaption> - <fixedDrawer v="true" /> </drawerLayout> </layout> <children> diff --git a/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod b/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod index 5f8b4816b86bd345eca25bc7007beec732a99817..637e35e7165eab89651f57aab955987e54734fbf 100644 --- a/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod +++ b/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod @@ -3,12 +3,11 @@ <name>CampaignCostVariable_view</name> <title>Step costs</title> <majorModelMode>DISTRIBUTED</majorModelMode> - <filterable v="false" /> + <filterable v="true" /> <layout> <drawerLayout> <name>layout</name> <layoutCaption>Variable costs</layoutCaption> - <fixedDrawer v="true" /> </drawerLayout> </layout> <children>