mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-21 07:31:13 -05:00
Fix 'Operator is Owner' bug
This commit is contained in:
@@ -209,10 +209,16 @@ export function ParkForm({ onSubmit, onCancel, initialData, isEditing = false }:
|
|||||||
if (tempNewOperator) {
|
if (tempNewOperator) {
|
||||||
submissionContent.new_operator = tempNewOperator;
|
submissionContent.new_operator = tempNewOperator;
|
||||||
submissionContent.park.operator_id = null;
|
submissionContent.park.operator_id = null;
|
||||||
|
|
||||||
|
// If operator is also owner, use same entity for both
|
||||||
|
if (operatorIsOwner) {
|
||||||
|
submissionContent.new_property_owner = tempNewOperator;
|
||||||
|
submissionContent.park.property_owner_id = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add new property owner if created
|
// Add new property owner if created (and not already set above)
|
||||||
if (tempNewPropertyOwner) {
|
if (tempNewPropertyOwner && !operatorIsOwner) {
|
||||||
submissionContent.new_property_owner = tempNewPropertyOwner;
|
submissionContent.new_property_owner = tempNewPropertyOwner;
|
||||||
submissionContent.park.property_owner_id = null;
|
submissionContent.park.property_owner_id = null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -294,7 +294,14 @@ async function submitCompositeCreation(
|
|||||||
}
|
}
|
||||||
if (uploadedPrimary.data.property_owner_id?.startsWith('temp-')) {
|
if (uploadedPrimary.data.property_owner_id?.startsWith('temp-')) {
|
||||||
const ownerIndex = tempIdMap.get('temp-property-owner');
|
const ownerIndex = tempIdMap.get('temp-property-owner');
|
||||||
if (ownerIndex !== undefined) primaryData._temp_property_owner_ref = ownerIndex;
|
const operatorIndex = tempIdMap.get('temp-operator');
|
||||||
|
|
||||||
|
if (ownerIndex !== undefined) {
|
||||||
|
primaryData._temp_property_owner_ref = ownerIndex;
|
||||||
|
} else if (operatorIndex !== undefined) {
|
||||||
|
// Property owner references operator (operator is owner scenario)
|
||||||
|
primaryData._temp_property_owner_ref = operatorIndex;
|
||||||
|
}
|
||||||
delete primaryData.property_owner_id;
|
delete primaryData.property_owner_id;
|
||||||
}
|
}
|
||||||
} else if (uploadedPrimary.type === 'ride') {
|
} else if (uploadedPrimary.type === 'ride') {
|
||||||
@@ -367,6 +374,12 @@ export async function submitParkCreation(
|
|||||||
if (data._compositeSubmission) {
|
if (data._compositeSubmission) {
|
||||||
const dependencies: CompositeSubmissionDependency[] = [];
|
const dependencies: CompositeSubmissionDependency[] = [];
|
||||||
|
|
||||||
|
// Check if operator and owner are the same new entity
|
||||||
|
const operatorIsOwner =
|
||||||
|
data._compositeSubmission.new_operator &&
|
||||||
|
data._compositeSubmission.new_property_owner &&
|
||||||
|
data._compositeSubmission.new_operator === data._compositeSubmission.new_property_owner;
|
||||||
|
|
||||||
if (data._compositeSubmission.new_operator) {
|
if (data._compositeSubmission.new_operator) {
|
||||||
dependencies.push({
|
dependencies.push({
|
||||||
type: 'company',
|
type: 'company',
|
||||||
@@ -376,7 +389,8 @@ export async function submitParkCreation(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data._compositeSubmission.new_property_owner) {
|
// Only add separate property owner if different from operator
|
||||||
|
if (data._compositeSubmission.new_property_owner && !operatorIsOwner) {
|
||||||
dependencies.push({
|
dependencies.push({
|
||||||
type: 'company',
|
type: 'company',
|
||||||
data: { ...data._compositeSubmission.new_property_owner, company_type: 'property_owner' },
|
data: { ...data._compositeSubmission.new_property_owner, company_type: 'property_owner' },
|
||||||
|
|||||||
Reference in New Issue
Block a user