From ffe6caf11efdadb6fdaa6ec057c22202b558d7fb Mon Sep 17 00:00:00 2001 From: Ronni Skansing Date: Sat, 30 Aug 2025 08:18:08 +0200 Subject: [PATCH] fix: update campaign test/production Signed-off-by: Ronni Skansing --- backend/service/campaign.go | 3 +++ frontend/src/lib/api/api.js | 3 +++ frontend/src/routes/campaign/+page.svelte | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/backend/service/campaign.go b/backend/service/campaign.go index d5cf5d5..d787bab 100644 --- a/backend/service/campaign.go +++ b/backend/service/campaign.go @@ -1252,6 +1252,9 @@ func (c *Campaign) UpdateByID( if v, err := incoming.IsAnonymous.Get(); err == nil { current.IsAnonymous.Set(v) } + if v, err := incoming.IsTest.Get(); err == nil { + current.IsTest.Set(v) + } if v, err := incoming.SortField.Get(); err == nil { current.SortField.Set(v) } diff --git a/frontend/src/lib/api/api.js b/frontend/src/lib/api/api.js index fc61c38..e1cc6f5 100644 --- a/frontend/src/lib/api/api.js +++ b/frontend/src/lib/api/api.js @@ -701,6 +701,7 @@ export class API { * @param {string} [campaign.name] * @param {boolean} [campaign.saveSubmittedData] * @param {boolean} [campaign.isAnonymous] + * @param {boolean} [campaign.isTest] * @param {string} [campaign.sortField] * @param {string} [campaign.sortOrder] * @param {string} [campaign.sendStartAt] @@ -723,6 +724,7 @@ export class API { name, saveSubmittedData, isAnonymous, + isTest, sortField, sortOrder, sendStartAt, @@ -742,6 +744,7 @@ export class API { templateID, name, isAnonymous, + isTest, saveSubmittedData, sortField, sortOrder, diff --git a/frontend/src/routes/campaign/+page.svelte b/frontend/src/routes/campaign/+page.svelte index c6e9091..9e2466c 100644 --- a/frontend/src/routes/campaign/+page.svelte +++ b/frontend/src/routes/campaign/+page.svelte @@ -558,6 +558,7 @@ sendStartAt: sendStartAtUTC, saveSubmittedData: formValues.saveSubmittedData, isAnonymous: formValues.isAnonymous, + isTest: formValues.isTest, constraintWeekDays: weekDaysAvailableToBinary(formValues.constraintWeekDays), constraintStartTime: contraintStartTimeUTC, constraintEndTime: contraintEndTimeUTC, @@ -640,7 +641,10 @@ const res = await api.campaign.getByName(name, contextCompanyID); /** @type {HTMLInputElement} */ const ele = document.querySelector('#campaignName'); - if (res.data) { + if ( + res.data && + (modalMode === 'create' || modalMode === 'copy' || res.data.id !== formValues.id) + ) { ele.setCustomValidity('Name is used by another campaign'); ele.reportValidity(); } else { @@ -780,6 +784,7 @@ anonymizeAt: campaign.anonymizeAt, saveSubmittedData: campaign.saveSubmittedData, isAnonymous: campaign.isAnonymous, + isTest: campaign.isTest, template: templateMap.byKey(campaign.templateID), webhookValue: webhookMap.byKey(campaign.webhookID) };