diff --git a/packages/core/event.ts b/packages/core/event.ts index aea32029cc..9bc17065b0 100644 --- a/packages/core/event.ts +++ b/packages/core/event.ts @@ -81,21 +81,25 @@ export function getEventName(eventNameObj: EventNameObjectType, forAttendeeView }); customInputvariables?.forEach((variable) => { - if (eventNameObj.bookingFields) { - Object.keys(eventNameObj.bookingFields).forEach((bookingField) => { - if (variable === bookingField) { - let fieldValue; - if (eventNameObj.bookingFields) { - const field = eventNameObj.bookingFields[bookingField as keyof typeof eventNameObj.bookingFields]; - if (field && typeof field === "object" && "value" in field) { - fieldValue = field?.value?.toString(); - } else { - fieldValue = field?.toString(); - } - } - dynamicEventName = dynamicEventName.replace(`{${variable}}`, fieldValue || ""); + if (!eventNameObj.bookingFields) return; + + const bookingFieldValue = eventNameObj.bookingFields[variable as keyof typeof eventNameObj.bookingFields]; + + if (bookingFieldValue) { + let fieldValue; + + if (typeof bookingFieldValue === "object") { + if ("value" in bookingFieldValue) { + fieldValue = bookingFieldValue.value?.toString(); + } else if (variable === "name" && "firstName" in bookingFieldValue) { + const lastName = "lastName" in bookingFieldValue ? bookingFieldValue.lastName : ""; + fieldValue = `${bookingFieldValue.firstName} ${lastName}`.trim(); } - }); + } else { + fieldValue = bookingFieldValue.toString(); + } + + dynamicEventName = dynamicEventName.replace(`{${variable}}`, fieldValue || ""); } }); diff --git a/packages/features/eventtypes/components/tabs/advanced/CustomEventTypeModal.tsx b/packages/features/eventtypes/components/tabs/advanced/CustomEventTypeModal.tsx index e569fa6587..6f43feefbb 100644 --- a/packages/features/eventtypes/components/tabs/advanced/CustomEventTypeModal.tsx +++ b/packages/features/eventtypes/components/tabs/advanced/CustomEventTypeModal.tsx @@ -152,6 +152,128 @@ const CustomEventTypeModalForm: FC = (props) => { {t("event_duration_info")}

+
+

+ {`{Organiser}`} +

+

+ {t("your_full_name")} +

+
+
+

+ {`{Organiser first name}`} +

+

+ {t("organizer_first_name")} +

+
+
+

+ {`{Scheduler}`} +

+

+ {t("scheduler_full_name")} +

+
+
+

+ {`{Scheduler first name}`} +

+

+ {t("scheduler_first_name")} +

+
+ {isNameFieldSplit && ( +
+

+ {`{Scheduler last name}`} +

+

+ {t("scheduler_last_name")} +

+
+ )} +
+

+ {`{Location}`} +

+

+ {t("location_info")} +

+
{/* Additional variable items here */} {event.bookingFields && (