Hotfix[ZoneEventInclusion]: Fixed event inclusion duplicateKey #1710
|
@ -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'),
|
||||
|
|
Loading…
Reference in New Issue