Hotfix[ZoneEventInclusion]: Fixed event inclusion duplicateKey #1710

Merged
jon merged 2 commits from Hotfix-ZoneInclusionDeleteEvent into master 2025-04-15 07:12:54 +00:00
1 changed files with 14 additions and 22 deletions

View File

@ -56,6 +56,7 @@ const isNew = computed(() => props.isNewMode);
const eventInclusionFormData = ref({ wdays: [] });
const dated = ref(props.date || Date.vnNew());
const _inclusionType = ref('indefinitely');
const hasDeletedEvent = ref(false);
const inclusionType = computed({
get: () => _inclusionType.value,
set: (val) => {
@ -84,7 +85,7 @@ const createEvent = async () => {
}
const zoneIds = props.zoneIds?.length ? props.zoneIds : [route.params.id];
for (const id of zoneIds) {
for (const zoneId of zoneIds) {
let today = eventInclusionFormData.value.dated
? moment(eventInclusionFormData.value.dated)
: moment(dated.value);
@ -92,7 +93,7 @@ const createEvent = async () => {
const { data } = await axios.get(`Zones/getEventsFiltered`, {
params: {
zoneFk: id,
zoneFk: zoneId,
started: today,
ended: lastDay,
},
@ -106,28 +107,19 @@ const createEvent = async () => {
await axios.delete(
`Zones/${existsExclusion?.zoneFk}/exclusions/${existsExclusion?.id}`,
);
await refetchEvents();
hasDeletedEvent.value = true;
}
const {
dated: formDated,
started,
ended,
type,
weekDays,
wdays,
} = eventInclusionFormData.value;
const payload = {
dated: formDated,
started,
ended,
type,
weekDays,
wdays,
};
if (isNew.value || props.eventType === 'exclusion')
await axios.post(`Zones/${id}/events`, payload);
else await axios.put(`Zones/${id}/events/${props.event?.id}`, payload);
delete eventInclusionFormData.value.id;
if (isNew.value || hasDeletedEvent.value)
await axios.post(`Zones/${zoneId}/events`, eventInclusionFormData.value);
else
await axios.put(
`Zones/${zoneId}/events/${props.event?.id}`,
eventInclusionFormData.value,
);
hasDeletedEvent.value = false;
}
quasar.notify({
message: t('globals.dataSaved'),