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 @@
</entityActionGroup>
<entityField>
<name>targetContext</name>
<valueProcess>%aditoprj%/entity/CampaignPlanning_entity/entityfields/targetcontext/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>UID</name>
......
import("system.vars");
import("system.logging");
import("Campaign_lib");
logging.log(" in onDelete -> ");
var selectedRows = vars.get("$sys.selectionRows");
var selectedElement = vars.get("$sys.selectionRows");
if(selectedElement.length > 0)
{
......
......@@ -11,7 +11,7 @@
</layout>
<children>
<ganttViewTemplate>
<name>CampaignPlanningGantt</name>
<name>AllCampaignsOverviewGantt</name>
<beginDateField>DATE_START</beginDateField>
<endDateField>DATE_END</endDateField>
<titleField>NAME</titleField>
......@@ -19,12 +19,14 @@
<uidField>UID</uidField>
<stepPredecessorIdField>PREDECESSOR_STEP_ID</stepPredecessorIdField>
<displayRootElementsAsGroupHeaders v="true" />
<columns>
<element>NAME</element>
<element>DATE_END</element>
</columns>
<favoriteActionGroup2>NewGanttEntries</favoriteActionGroup2>
<entityField>#ENTITY</entityField>
<isCreatable v="true" />
<isEditable v="false" />
<isEditable v="true" />
<isDeletable v="true" />
<title></title>
</ganttViewTemplate>
</children>
</neonView>
......@@ -18,9 +18,13 @@
<uidField>CAMPAIGNSTEPID</uidField>
<stepPredecessorIdField>PREDECESSORSTEP_ID</stepPredecessorIdField>
<displayRootElementsAsGroupHeaders v="false" />
<columns>
<element>NAME</element>
<element>DATE_END</element>
</columns>
<entityField>#ENTITY</entityField>
<isCreatable v="true" />
<isEditable v="true" />
<isCreatable v="false" />
<isEditable v="false" />
<isDeletable v="true" />
<title></title>
</ganttViewTemplate>
......
import("system.logging");
import("system.translate");
import("system.vars");
import("system.db");
......@@ -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)
{
//todo
/*
* delete:
* step
* reference to step in other steps
* all log entries regarding this step
* all participants in this step
* all costs in this step
*/
if(pCampaignStepId == null || pCampaignStepId == "")
return;
let queries = [];
db.updateData("CAMPAIGNSTEP", ["PREDECESSORSTEP_ID"], null, [""], "PREDECESSORSTEP_ID = '" + pCampaignStepId + "'")
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)
{
//todo
/*
* delete:
* steps with function deleteCampaignStepData
* all members
* campaign itself
*/
if(pCampaignId == null || pCampaignId == "")
return;
let allStepIdsOfCampaignQuery = "select CAMPAIGNSTEPID from CAMPAIGNSTEP where CAMPAIGN_ID = '" + pCampaignId + "'";
let campaignStepIds = db.array(db.COLUMN, allStepIdsOfCampaignQuery);
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