mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-24 04:11:12 -05:00
Fix: Re-evaluate initial submission validation
This commit is contained in:
@@ -271,13 +271,24 @@ export function ParkForm({ onSubmit, onCancel, initialData, isEditing = false }:
|
||||
(tempNewPropertyOwner ? undefined : selectedPropertyOwnerId);
|
||||
}
|
||||
|
||||
await onSubmit({
|
||||
// Debug: Log what's being submitted
|
||||
const submissionData = {
|
||||
...data,
|
||||
operator_id: finalOperatorId,
|
||||
property_owner_id: finalPropertyOwnerId,
|
||||
_compositeSubmission: (tempNewOperator || tempNewPropertyOwner) ? submissionContent : undefined
|
||||
};
|
||||
|
||||
console.info('[ParkForm] Submitting park data:', {
|
||||
hasLocation: !!submissionData.location,
|
||||
hasLocationId: !!submissionData.location_id,
|
||||
locationData: submissionData.location,
|
||||
parkName: submissionData.name,
|
||||
isEditing
|
||||
});
|
||||
|
||||
await onSubmit(submissionData);
|
||||
|
||||
// Parent component handles success feedback
|
||||
} catch (error: unknown) {
|
||||
const errorMessage = getErrorMessage(error);
|
||||
@@ -426,7 +437,9 @@ export function ParkForm({ onSubmit, onCancel, initialData, isEditing = false }:
|
||||
</Label>
|
||||
<LocationSearch
|
||||
onLocationSelect={(location) => {
|
||||
console.info('[ParkForm] Location selected:', location);
|
||||
setValue('location', location);
|
||||
console.info('[ParkForm] Location set in form:', watch('location'));
|
||||
// Manually trigger validation for the location field
|
||||
trigger('location');
|
||||
}}
|
||||
|
||||
@@ -557,6 +557,14 @@ export async function submitParkCreation(
|
||||
data: ParkFormData & { _compositeSubmission?: any },
|
||||
userId: string
|
||||
): Promise<{ submitted: boolean; submissionId: string }> {
|
||||
console.info('[submitParkCreation] Received data:', {
|
||||
hasLocation: !!data.location,
|
||||
hasLocationId: !!data.location_id,
|
||||
locationData: data.location,
|
||||
parkName: data.name,
|
||||
hasComposite: !!data._compositeSubmission
|
||||
});
|
||||
|
||||
// Validate required fields client-side
|
||||
assertValid(validateParkCreateFields(data));
|
||||
|
||||
@@ -663,6 +671,25 @@ export async function submitParkCreation(
|
||||
const cardImage = (cardIndex !== null && cardIndex !== undefined) ? uploadedImages[cardIndex] : null;
|
||||
|
||||
// Insert into relational park_submissions table
|
||||
const tempLocationData = data.location ? {
|
||||
name: data.location.name,
|
||||
city: data.location.city || null,
|
||||
state_province: data.location.state_province || null,
|
||||
country: data.location.country,
|
||||
latitude: data.location.latitude,
|
||||
longitude: data.location.longitude,
|
||||
timezone: data.location.timezone || null,
|
||||
postal_code: data.location.postal_code || null,
|
||||
display_name: data.location.display_name
|
||||
} : null;
|
||||
|
||||
console.info('[submitParkCreation] Saving to park_submissions:', {
|
||||
name: data.name,
|
||||
hasLocation: !!data.location,
|
||||
hasLocationId: !!data.location_id,
|
||||
temp_location_data: tempLocationData
|
||||
});
|
||||
|
||||
const { data: parkSubmission, error: parkSubmissionError } = await supabase
|
||||
.from('park_submissions' as any)
|
||||
.insert({
|
||||
@@ -680,17 +707,7 @@ export async function submitParkCreation(
|
||||
operator_id: data.operator_id || null,
|
||||
property_owner_id: data.property_owner_id || null,
|
||||
location_id: data.location_id || null,
|
||||
temp_location_data: data.location ? {
|
||||
name: data.location.name,
|
||||
city: data.location.city || null,
|
||||
state_province: data.location.state_province || null,
|
||||
country: data.location.country,
|
||||
latitude: data.location.latitude,
|
||||
longitude: data.location.longitude,
|
||||
timezone: data.location.timezone || null,
|
||||
postal_code: data.location.postal_code || null,
|
||||
display_name: data.location.display_name
|
||||
} : null,
|
||||
temp_location_data: tempLocationData,
|
||||
banner_image_url: bannerImage?.url || data.banner_image_url || null,
|
||||
banner_image_id: bannerImage?.cloudflare_id || data.banner_image_id || null,
|
||||
card_image_url: cardImage?.url || data.card_image_url || null,
|
||||
|
||||
Reference in New Issue
Block a user