n8n int cleaning
This commit is contained in:
parent
3d0ad07582
commit
12f673678d
@ -190,6 +190,7 @@ export async function POST(request: Request) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (existingMission) {
|
if (existingMission) {
|
||||||
|
console.error('Mission with same name already exists:', name);
|
||||||
return NextResponse.json({ error: 'A mission with this name already exists' }, { status: 400 });
|
return NextResponse.json({ error: 'A mission with this name already exists' }, { status: 400 });
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,6 +206,7 @@ export async function POST(request: Request) {
|
|||||||
projection,
|
projection,
|
||||||
services,
|
services,
|
||||||
profils,
|
profils,
|
||||||
|
participation,
|
||||||
creatorId: session.user.id
|
creatorId: session.user.id
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -360,70 +360,64 @@ export function MissionsAdminPanel() {
|
|||||||
gardiens: gardienDuTemps !== null && gardienDeLaParole !== null && gardienDeLaMemoire !== null
|
gardiens: gardienDuTemps !== null && gardienDeLaParole !== null && gardienDeLaMemoire !== null
|
||||||
};
|
};
|
||||||
|
|
||||||
const isValid = Object.values(requiredFields).every(field => field === true);
|
const missingFields = Object.entries(requiredFields)
|
||||||
|
.filter(([_, value]) => value === false)
|
||||||
|
.map(([key]) => key);
|
||||||
|
|
||||||
if (!isValid) {
|
if (missingFields.length > 0) {
|
||||||
const missingFields = Object.entries(requiredFields)
|
|
||||||
.filter(([_, value]) => value === false)
|
|
||||||
.map(([key, _]) => key);
|
|
||||||
|
|
||||||
toast({
|
toast({
|
||||||
title: "Champs obligatoires manquants",
|
title: "Champs obligatoires manquants",
|
||||||
description: `Veuillez remplir tous les champs obligatoires: ${missingFields.join(", ")}`,
|
description: `Veuillez remplir tous les champs obligatoires: ${missingFields.join(", ")}`,
|
||||||
variant: "destructive",
|
variant: "destructive",
|
||||||
});
|
});
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return isValid;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Handle mission submission
|
// Handle mission submission
|
||||||
const handleSubmitMission = async () => {
|
const handleSubmitMission = async () => {
|
||||||
if (!validateMission()) {
|
if (!validateMission()) return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
setIsSubmitting(true);
|
setIsSubmitting(true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Prepare the mission data
|
// Format the data before sending
|
||||||
const guardians = {
|
const formattedData = {
|
||||||
"gardien-temps": gardienDuTemps,
|
|
||||||
"gardien-parole": gardienDeLaParole,
|
|
||||||
"gardien-memoire": gardienDeLaMemoire
|
|
||||||
};
|
|
||||||
|
|
||||||
const missionSubmitData = {
|
|
||||||
...missionData,
|
...missionData,
|
||||||
services: selectedServices,
|
oddScope: Array.isArray(missionData.oddScope) ? missionData.oddScope : [missionData.oddScope],
|
||||||
profils: selectedProfils,
|
services: Array.isArray(missionData.services) ? missionData.services : [missionData.services],
|
||||||
guardians,
|
profils: Array.isArray(missionData.profils) ? missionData.profils : [missionData.profils],
|
||||||
|
guardians: {
|
||||||
|
'gardien-temps': gardienDuTemps,
|
||||||
|
'gardien-parole': gardienDeLaParole,
|
||||||
|
'gardien-memoire': gardienDeLaMemoire
|
||||||
|
},
|
||||||
volunteers: volontaires
|
volunteers: volontaires
|
||||||
};
|
};
|
||||||
|
|
||||||
// Send to API
|
console.log('Submitting mission data:', formattedData);
|
||||||
|
|
||||||
const response = await fetch('/api/missions', {
|
const response = await fetch('/api/missions', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
},
|
},
|
||||||
body: JSON.stringify(missionSubmitData),
|
body: JSON.stringify(formattedData),
|
||||||
});
|
});
|
||||||
|
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
throw new Error(data.error || 'Failed to create mission');
|
throw new Error(data.error || 'Failed to create mission');
|
||||||
}
|
}
|
||||||
|
|
||||||
toast({
|
toast({
|
||||||
title: "Mission créée avec succès",
|
title: "Mission créée avec succès",
|
||||||
description: "La mission a été créée et les intégrations sont en cours de configuration.",
|
description: "La mission a été créée et les intégrations sont en cours.",
|
||||||
});
|
});
|
||||||
|
|
||||||
// Redirect to missions list
|
|
||||||
router.push('/missions');
|
router.push('/missions');
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error creating mission:', error);
|
console.error('Error creating mission:', error);
|
||||||
toast({
|
toast({
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user