* WIP-already-reschedule-success-emails-missing
* WIP now saving bookingSeatsReferences and identifyin on reschedule/book page
* Remove logs and created test
* WIP saving progress
* Select second slot to pass test
* Delete attendee from event
* Clean up
* Update with main changes
* Fix emails not being sent
* Changed test end url from success to booking
* Remove unused pkg
* Fix new booking reschedule
* remove log
* Renable test
* remove unused pkg
* rename table name
* review changes
* Fix and and other test to reschedule with seats
* Fix api for cancel booking
* Typings
* Update [uid].tsx
* Abstracted common pattern
into maybeGetBookingUidFromSeat
* Reverts
* Nitpicks
* Update handleCancelBooking.ts
* Adds missing cascades
* Improve booking seats changes (#6858)
* Create sendCancelledSeatEmails
* Draft attendee cancelled seat email
* Send no longer attendee email to attendee
* Send email to organizer when attendee cancels
* Pass cloned event data to emails
* Send booked email for first seat
* Add seat reference uid from email link
* Query for seatReferenceUId and add to cancel & reschedule links
* WIP
* Display proper attendee when rescheduling seats
* Remove console.logs
* Only check for already invited when not rescheduling
* WIP sending reschedule email to just single attendee and owner
* Merge branch 'main' into send-email-on-seats-attendee-changes
* Remove console.logs
* Add cloned event to seat emails
* Do not show manage link for calendar event
* First seat, have both attendees on calendar
* WIP refactor booking seats reschedule logic
* WIP Refactor handleSeats
* Change relation of attendee & seat reference to a one-to-one
* Migration with relationship change
* Booking page handling unique seat references
* Abstract to handleSeats
* Remove console.logs and clean up
* New migration file, delete on cascade
* Check if attendee is already a part of the booking
* Move deleting booking logic to `handleSeats`
* When owner reschedule, move whole booking
* Prevent owner from rescheduling if not enough seats
* Add owner reschedule
* Send reschedule email when moving to new timeslot
* Add event data to reschedule email for seats
* Remove DB changes from event manager
* When a booking has no attendees then delete
* Update calendar when merging bookings
* Move both attendees and seat references when merging
* Remove guest list from seats booking page
* Update original booking when moving an attendee
* Delete calendar and video events if no more attendees
* Update or delete integrations when attendees cancel
* Show no longer attendee if a single attendee cancels
* Change booking to accepted if an attendee books on an empty booking
* If booking in same slot then just return the booking
* Clean up
* Clean up
* Remove booking select
* Typos
---------
Co-authored-by: zomars <zomars@me.com>
* Fix migration table name
* Add missing trpc import
* Rename bookingSeatReferences to bookingSeat
* Change relationship between Attendee & BookingSeat to one to one
* Fix some merge conflicts
* Minor merge artifact fixup
* Add the right 'Person' type
* Check on email, less (although still) editable than name
* Removed calEvent.attendeeUniqueId
* rename referenceUId -> referenceUid
* Squashes migrations
* Run cached installs
Should still be faster. Ensures prisma client is up to date.
* Solve attendee form on booking page
* Remove unused code
* Some type fixes
* Squash migrations
* Type fixes
* Fix for reschedule/[uid] redirect
* Fix e2e test
* Solve double declaration of host
* Solve lint errors
* Drop constraint only if exists
* Renamed UId to Uid
* Explicit vs. implicit
* Attempt to work around text flakiness by adding a little break between animations
* Various bugfixes
* Persistently apply seatReferenceUid (#7545)
* Persistently apply seatReferenceUid
* Small ts fix
* Setup guards correctly
* Type fixes
* Fix render 0 in conditional
* Test refactoring
* Fix type on handleSeats
* Fix handle seats conditional
* Fix type inference
* Update packages/features/bookings/lib/handleNewBooking.ts
* Update apps/web/components/booking/pages/BookingPage.tsx
* Fix type and missing logic for reschedule
* Fix delete of calendar event and booking
* Add handleSeats return type
* Fix seats booking creation
* Fall through normal booking for initial booking, handleSeats for secondary/reschedule
* Simplification of fetching booking
* Enable seats for round-robin events
* A lot harder than I expected
* ignore-owner-if-seat-reference-given
* Return seatReferenceUid when second seat
* negate userIsOwner
* Fix booking seats with a link without bookingUid
* Needed a time check otherwise the attendee will be in the older booking
* Can't open dialog twice in test..
* Allow passing the booking ID from the server
* Fixed isCancelled check, fixed test
* Delete through cascade instead of multiple deletes
---------
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Localized booking date
* re add space
* Add locale per format call due to lambda dayjs instance share between users
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Show label in email and calendar invite and send label as well as name in webhook
* Make common code reusable
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* WIP
* Create Booking Questions builder
* Renaming things
* wip
* wip
* Implement Add Guests and other fixes
* Fixes after testing
* Fix wrong status code 404
* Fixes
* Lint fixes
* Self review comments addressed
* More self review comments addressed
* Feedback from zomars
* BugFixes after testing
* More fixes discovered during review
* Update packages/lib/hooks/useHasPaidPlan.ts
Co-authored-by: Omar López <zomars@me.com>
* More fixes discovered during review
* Update packages/ui/components/form/inputs/Input.tsx
Co-authored-by: Omar López <zomars@me.com>
* More fixes discovered during review
* Update packages/features/bookings/lib/getBookingFields.ts
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* More PR review fixes
* Hide label using labelSrOnly
* Fix Carinas feedback and implement 2 workflows thingy
* Misc fixes
* Fixes from Loom comments and PR
* Fix a lint errr
* Fix cancellation reason
* Fix regression in edit due to name conflict check
* Update packages/features/form-builder/FormBuilder.tsx
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* Fix options not set when default value is used
* Restoring reqBody to avoid uneeded conflicts with main
* Type fix
* Update apps/web/components/booking/pages/BookingPage.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update packages/features/form-builder/FormBuilder.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update apps/web/components/booking/pages/BookingPage.tsx
Co-authored-by: Omar López <zomars@me.com>
* Apply suggestions from code review
Co-authored-by: Omar López <zomars@me.com>
* Show fields but mark them disabled
* Apply suggestions from code review
Co-authored-by: Omar López <zomars@me.com>
* More comments
* Fix booking success page crash when a booking doesnt have newly added required fields response
* Dark theme asterisk not visible
* Make location required in zodSchema as was there in production
* Linting
* Remove _metadata.ts files for apps that have config.json
* Revert "Remove _metadata.ts files for apps that have config.json"
This reverts commit d79bdd336c.
* Fix lint error
* Fix missing condition for samlSPConfig
* Delete unexpectedly added file
* yarn.lock change not required
* fix types
* Make checkboxes rounded
* Fix defaultLabel being stored as label due to SSR rendering
* Shaved 16kb from booking page
* Explicit types for profile
* Show payment value only if price is greater than 0
* Fix type error
* Add back inferred types as they are failing
* Fix duplicate label on number
---------
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
* On booking add team members & translation
* Add team members to round robin create
* Only update calendars on reschedule if there is a calendar reference
* Send email on reschedules
* Send team email on cancelled event
* Add team members to calendar event description
* Clean up
* Convert other emails to organizer & teams
* Type check fixes
* More type fixes
* Change organizer scheduled input to an object
* early return updateCalendarEvent
* Introduce team member type
* Fix type errors
* Put team members before attendees
* Remove lodash cloneDeep
* Update packages/core/EventManager.ts
Co-authored-by: Omar López <zomars@me.com>
* Remove booking select object
* Revert "Remove booking select object"
This reverts commit 9f121ff4eb.
* Refactor email manager (#7270)
Co-authored-by: zomars <zomars@me.com>
* Type change
* Remove conditional check for updateAllCalendarEvents
---------
Co-authored-by: zomars <zomars@me.com>
* Fix What for normal bookings
* Fix subject on bookings with seats
* WIP
* Change more strings
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Abstract app category navigation
* Send key schema to frontend
Co-authored-by: Omar López <zomars@users.noreply.github.com>
* Render keys for apps on admin
* Add enabled col for apps
* Save app keys to DB
* Add checks for admin role
* Abstract setup components
* Add AdminAppsList to setup wizard
* Migrate to v10 tRPC
* Default hide keys
* Display enabled apps
* Merge branch 'main' into admin-apps-ui
* Toggle calendars
* WIP
* Add params and include AppCategoryNavigation
* Refactor getEnabledApps
* Add warning for disabling apps
* Fallback to cal video when a video app is disabled
* WIP send disabled email
* Send email to all users of event types with payment app
* Disable Stripe when app is disabled
* Disable apps in event types
* Send email to users on disabled apps
* Send email based on what app was disabled
* WIP type fix
* Disable navigation to apps list if already setup
* UI import fixes
* Waits for session data before redirecting
* Updates admin seeded password
To comply with admin password requirements
* Update yarn.lock
* Flex fixes
* Adds admin middleware
* Clean up
* WIP
* WIP
* NTS
* Add dirName to app metadata
* Upsert app if not in db
* Upsert app if not in db
* Add dirName to app metadata
* Add keys to app packages w/ keys
* Merge with main
* Toggle show keys & on enable
* Fix empty keys
* Fix lark calendar metadata
* Fix some type errors
* Fix Lark metadata & check for category when upserting
* More type fixes
* Fix types & add keys to google cal
* WIP
* WIP
* WIP
* More type fixes
* Fix type errors
* Fix type errors
* More type fixes
* More type fixes
* More type fixes
* Feedback
* Fixes default value
* Feedback
* Migrate credential invalid col default value "false"
* Upsert app on saving keys
* Clean up
* Validate app keys on frontend
* Add nonempty to app keys schemas
* Add web3
* Listlocale filter on categories / category
* Grab app metadata via category or categories
* Show empty screen if no apps are enabled
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Replace .nonempty() w/ .min(1)
* Fix type error
* Address feedback
* Draft Google Meet install button
* Add install button and warning dialog
* WIP
* WIP
* Display warning when Meet is selected
* Display Google Meet warning on email to organizer
* Fix email
* Fix type errors
* Fix type error
* Add connected account component
* Add warning message
* Address comments
* Address feedback
* Clean up & add MeetLocationType
* Use useApp hook
* Translate to new API approach
* Remove console.log
* Refactor
* Fix missing backup Cal video link
* WIP
* Address feedback
* Update submodules
* Feedback
* Submodule sync
Co-authored-by: Omar López <zomars@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peer@cal.com>
* Abstract app category navigation
* Send key schema to frontend
Co-authored-by: Omar López <zomars@users.noreply.github.com>
* Render keys for apps on admin
* Add enabled col for apps
* Save app keys to DB
* Add checks for admin role
* Abstract setup components
* Add AdminAppsList to setup wizard
* Migrate to v10 tRPC
* Default hide keys
* Display enabled apps
* Merge branch 'main' into admin-apps-ui
* Toggle calendars
* WIP
* Add params and include AppCategoryNavigation
* Refactor getEnabledApps
* Add warning for disabling apps
* Fallback to cal video when a video app is disabled
* WIP send disabled email
* Send email to all users of event types with payment app
* Disable Stripe when app is disabled
* Disable apps in event types
* Send email to users on disabled apps
* Send email based on what app was disabled
* WIP type fix
* Disable navigation to apps list if already setup
* UI import fixes
* Waits for session data before redirecting
* Updates admin seeded password
To comply with admin password requirements
* Update yarn.lock
* Flex fixes
* Adds admin middleware
* Clean up
* WIP
* WIP
* NTS
* Add dirName to app metadata
* Upsert app if not in db
* Upsert app if not in db
* Add dirName to app metadata
* Add keys to app packages w/ keys
* Merge with main
* Toggle show keys & on enable
* Fix empty keys
* Fix lark calendar metadata
* Fix some type errors
* Fix Lark metadata & check for category when upserting
* More type fixes
* Fix types & add keys to google cal
* WIP
* WIP
* WIP
* More type fixes
* Fix type errors
* Fix type errors
* More type fixes
* More type fixes
* More type fixes
* Feedback
* Fixes default value
* Feedback
* Migrate credential invalid col default value "false"
* Upsert app on saving keys
* Clean up
* Validate app keys on frontend
* Add nonempty to app keys schemas
* Add web3
* Listlocale filter on categories / category
* Grab app metadata via category or categories
* Show empty screen if no apps are enabled
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Replace .nonempty() w/ .min(1)
* Fix type error
* Address feedback
* Added migration to keep current apps enabled
* Update apps.tsx
* Fix bug
* Add keys schema to Plausible app
* Add appKeysSchema to zod.ts template
* Update AdminAppsList.tsx
Co-authored-by: Omar López <zomars@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* adjustments for each language json file:
- changed every Cal or Cal.com with a variable to make it possible to change that with a custom brand
- fix and renamed ATTENDEE with attendeeName
* added two new variables for appName and support mail address. so everybody can change it via env
* changed static Cal or Cal.com with new defined constants
* Using useLocal to modify static text to make it multilingual, and passing the correct variables for brand and mail
* adding new readable variables for brand, website domain and mail address
* fixed search routes
* made static text multilingual and fixed german translations
* Revert "fixed search routes"
moved changes in another pr
This reverts commit e6ba11a1ec.
* revert non whitelabel changes and moved it into another pr
* revert attendeeName fix
* reverted translation fixes and moved them in another pr
* changed back to "Cal.com Logo"
* changed back to "https://console.cal.com"
* added new env variable for company name and replaced some domainName variables in language files
* changed default for COMPANY_NAME to Cal.com, Inc.
* changed Cal.com to APP_NAME for mail templates
* Dropped website domain in favor of app name
* Update .env.example
* Apply suggestions from code review
* Code review feedback
* Delete App.tsx
* Update packages/ui/Kbar.tsx
* added meta.CTA back it was mistakenly removed
* updated add members test
Co-authored-by: maxi <maximilian.oehrlein@clicksports.de>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* WIP
* warnings and errors, and working app
* Refresh token now usable
* Correcting env.appStore.example
* Reverting changes that will come from Sendgrid App PR
* Resetting with main
* Renaming all othercalendars
* Fixing types
* Renaming leftovers
* More renaming stuff
* Format readme
* Adds prettier override for website wordlist
* Omit salesforce app in this PR
* Cleanup
* Update AppSettings.tsx
* Revert "Cleanup"
This reverts commit 41f94c52c3.
* Update yarn.lock
Co-authored-by: Leo Giovanetti <hello@leog.me>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Booking succes query refactor
The query is now using the uid as its main identifier for the success page
* Minor changes to the succes.tsx and tests
* Convert eventtype dates to string, and only select eventtype slug from db to have a smaller query (we don't need more data, and this way we don't need to convert the dates in here to smaller strings either.)
* In the payment component get the bookingUid from props instead of the query
* design fixes
* fix UI for recurring bookings
* fix success page for recurring events
* fix cancelling recurring events
* fix design of successful cancellation page
* fix email redirect + design fixes
* remove old cancel page
* fix v2 design for text area
* Changed the recurringMutation to use the uid for the success booking page
* redirect form old to new cancel page
* fix success page for recurring events
* rename to allRemainingbookings
* fix old cancel redirect
* fix recurring cancel link in email
* fix redirect when cancelling one recurring booking
* remove reschedule for recurring events in email
* create queryschema for cancel success page
* scroll down to bottom if cancel
* add cancellation reason
* fix tests
* fix old /cancel component
* code clean up
* Uses URL query as cancellation state
Also fixes string to boolean inference
Co-authored-by: Mischa Rouleaux <mischa-rouleaux@live.nl>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* refactor: use BookingReference instead of DailyEventReference
* refactor: migrate DailyEventReference records to BookingReference
* refactor: drop DailyEventReference table
* fix linting
* Daily Video API adapter fixes
Co-authored-by: zomars <zomars@me.com>
* Fix request reschedule organizer email
* Updated book a new time link and removed manage or cancel action on user owner email request reschedule
* Fix let with const for a variable and change env var to a constant from lib
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* As Google Meet is always installed, this fixes the doubling
* Make entire Google link clickable, fix extraData
* Attempt at type fixing :)
* AdditionalInformation for the booking page?
* Update packages/emails/src/components/LocationInfo.tsx
Being explicit :)
* Exclude AdditionalInformation as it is irrelevant here
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <zomars@me.com>