Skip to content
Snippets Groups Projects
Commit 674d6284 authored by David Büchler's avatar David Büchler
Browse files

Es gibt nun Funktionen in der CampaignLib zum löschen eine Kampagne / einer...

Es gibt nun Funktionen in der CampaignLib zum löschen eine Kampagne / einer Stufe und allen dazugehörigen Daten.
Dies wurde in der Planungsansicht integriert
Es wurden zwei Spalten für das Gantt konfiguriert
parent 0f4117ba
No related branches found
No related tags found
No related merge requests found
...@@ -60,7 +60,6 @@ ...@@ -60,7 +60,6 @@
</entityActionGroup> </entityActionGroup>
<entityField> <entityField>
<name>targetContext</name> <name>targetContext</name>
<valueProcess>%aditoprj%/entity/CampaignPlanning_entity/entityfields/targetcontext/valueProcess.js</valueProcess>
</entityField> </entityField>
<entityField> <entityField>
<name>UID</name> <name>UID</name>
......
import("system.vars"); import("system.vars");
import("system.logging");
import("Campaign_lib"); import("Campaign_lib");
logging.log(" in onDelete -> "); var selectedElement = vars.get("$sys.selectionRows");
var selectedRows = vars.get("$sys.selectionRows");
if(selectedElement.length > 0) if(selectedElement.length > 0)
{ {
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</layout> </layout>
<children> <children>
<ganttViewTemplate> <ganttViewTemplate>
<name>CampaignPlanningGantt</name> <name>AllCampaignsOverviewGantt</name>
<beginDateField>DATE_START</beginDateField> <beginDateField>DATE_START</beginDateField>
<endDateField>DATE_END</endDateField> <endDateField>DATE_END</endDateField>
<titleField>NAME</titleField> <titleField>NAME</titleField>
...@@ -19,12 +19,14 @@ ...@@ -19,12 +19,14 @@
<uidField>UID</uidField> <uidField>UID</uidField>
<stepPredecessorIdField>PREDECESSOR_STEP_ID</stepPredecessorIdField> <stepPredecessorIdField>PREDECESSOR_STEP_ID</stepPredecessorIdField>
<displayRootElementsAsGroupHeaders v="true" /> <displayRootElementsAsGroupHeaders v="true" />
<columns>
<element>NAME</element>
<element>DATE_END</element>
</columns>
<favoriteActionGroup2>NewGanttEntries</favoriteActionGroup2> <favoriteActionGroup2>NewGanttEntries</favoriteActionGroup2>
<entityField>#ENTITY</entityField> <entityField>#ENTITY</entityField>
<isCreatable v="true" /> <isEditable v="true" />
<isEditable v="false" />
<isDeletable v="true" /> <isDeletable v="true" />
<title></title>
</ganttViewTemplate> </ganttViewTemplate>
</children> </children>
</neonView> </neonView>
...@@ -18,9 +18,13 @@ ...@@ -18,9 +18,13 @@
<uidField>CAMPAIGNSTEPID</uidField> <uidField>CAMPAIGNSTEPID</uidField>
<stepPredecessorIdField>PREDECESSORSTEP_ID</stepPredecessorIdField> <stepPredecessorIdField>PREDECESSORSTEP_ID</stepPredecessorIdField>
<displayRootElementsAsGroupHeaders v="false" /> <displayRootElementsAsGroupHeaders v="false" />
<columns>
<element>NAME</element>
<element>DATE_END</element>
</columns>
<entityField>#ENTITY</entityField> <entityField>#ENTITY</entityField>
<isCreatable v="true" /> <isCreatable v="false" />
<isEditable v="true" /> <isEditable v="false" />
<isDeletable v="true" /> <isDeletable v="true" />
<title></title> <title></title>
</ganttViewTemplate> </ganttViewTemplate>
......
import("system.logging");
import("system.translate"); import("system.translate");
import("system.vars"); import("system.vars");
import("system.db"); import("system.db");
...@@ -227,33 +228,55 @@ CampaignUtils.getMaxParticipantsValidationMessage = function() ...@@ -227,33 +228,55 @@ CampaignUtils.getMaxParticipantsValidationMessage = function()
} }
/** /**
* todo * Deletes a single campaign step and all related data including:
* Participant logs
* Participants
* Costs
* The step
* @param {String} pCampaignStepId ID of the campaign step to delete
*/ */
CampaignUtils.deleteCampaignStepData = function(pCampaignStepId) CampaignUtils.deleteCampaignStepData = function(pCampaignStepId)
{ {
//todo if(pCampaignStepId == null || pCampaignStepId == "")
/* return;
* delete:
* step let queries = [];
* reference to step in other steps
* all log entries regarding this step db.updateData("CAMPAIGNSTEP", ["PREDECESSORSTEP_ID"], null, [""], "PREDECESSORSTEP_ID = '" + pCampaignStepId + "'")
* all participants in this step
* all costs in this step queries.push(new Array("CAMPAIGNPARTICIPANTLOG", "CAMPAIGNSTEP_ID = '" + pCampaignStepId + "'"));
*/ queries.push(new Array("CAMPAIGNPARTICIPANT", "CAMPAIGNSTEP_ID = '" + pCampaignStepId + "'"));
queries.push(new Array("CAMPAIGNCOST", "CAMPAIGNSTEP_ID = '" + pCampaignStepId + "'"));
queries.push(new Array("CAMPAIGNSTEP", "CAMPAIGNSTEPID = '" + pCampaignStepId + "'"));
db.deletes(queries)
} }
/** /**
* todo * Deletes a campaign and all related data including:
* All campaign steps including all step related data
* All members
* All costs
* And the campaign itself
* @param {String} pCampaignId ID of the Campaign to delete
*/ */
CampaignUtils.deleteCampaignData = function(pCampaignId) CampaignUtils.deleteCampaignData = function(pCampaignId)
{ {
//todo if(pCampaignId == null || pCampaignId == "")
/* return;
* delete:
* steps with function deleteCampaignStepData let allStepIdsOfCampaignQuery = "select CAMPAIGNSTEPID from CAMPAIGNSTEP where CAMPAIGN_ID = '" + pCampaignId + "'";
* all members let campaignStepIds = db.array(db.COLUMN, allStepIdsOfCampaignQuery);
* campaign itself
*/ campaignStepIds.forEach(function (campaignStepId)
{
CampaignUtils.deleteCampaignStepData(campaignStepId)
});
let campaignRelated = [];
campaignRelated.push(new Array("CAMPAIGNCOST", "CAMPAIGN_ID = '" + pCampaignId + "'"));
campaignRelated.push(new Array("CAMPAIGN", "CAMPAIGNID = '" + pCampaignId + "'"));
db.deletes(campaignRelated)
} }
/** /**
......
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