* add switches to advanced even type settings
* only show switches when workflow is enabled
* check in event type update handler if user is allowed to disable standard emails
* don't send emails if disabled
* make sure emails can't be disabled if no workflow exist
* send workflow emails to all attendees
* code clean up
* add translations
* always send to all attendees when scheduling reminders
* change text
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* Add calendar UID to calendar event
* Add iCalUID to booking event
* On reschedule write to evt the iCalUID
* Add uid to ics file
* Remove console logs
* Pass iCalUID if available
* Remove generated app store files
* Rename product id to calcom
* Add UID to ics on reschedule
* Type fixes
* Type fixes
* Type fixes
* Remove comment
* Remove console.log
* Removed serverConfig block from this branch
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* 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>
* 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>
* Add queries to fetch metadata and update default
* Add to zod schema
* Change default rules on settings page
* Update query
* Initall override on create event type
* Working default
* Change schema to save locationLink too
* Update default conferncing to include link
* Rename tsx to ts. Fix metadata keys
* WIP on refactoring appstore installed
* Add this to appstore installed apps too
* Display only on conferencing apps
* Add i18n strings
* Change order in dropdown menu so delete is bottom
* Refactor query to not expose all of metadata
* Fix mr type checker
* Possible e2e fix
* Refactor metadata to use ctx
* Refactor back to query cell
* Alias schema
* Adding comment for more info
* Remove constant for clarity
* Update nextjs-bundle-analysis.yml
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: zomars <zomars@me.com>
* Implementation
* Unifying UI to password screen
* Tweaks for session in password section
* Update apps/web/pages/settings/security/password.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update packages/features/kbar/Kbar.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update packages/features/settings/layouts/SettingsLayout.tsx
Co-authored-by: Omar López <zomars@me.com>
* Relying on extra db query
* Upgrades typescript
* Update yarn lock
* Typings
* Hotfix: ping,riverside,whereby and around not showing up in list (#6712)
* Hotfix: ping,riverside,whereby and around not showing up in list (#6712) (#6713)
* Adds deployment settings to DB (#6706)
* WIP
* Adds DeploymentTheme
* Add missing migrations
* Adds client extensions for deployment
* Cleanup
* Using same version as other deps
* Reverting prisma changes and fixing things
* Uneeded tx-expect-error
* Fixing default value
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
---------
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* small design fix for time unit select
* save video cal url to booking in metaData
* save video url when bookings are confirmed
* fix e2e tests
* remove not needed waitForNavigation
* add metadata to booking created webhook payload
* add migration
* fix type error
* adjust e2e tests
* add bookingMetadataSchema
* add missing change from merge
* add new line to expected test result
* update snapshot
* fix e2e tests
* Update confirm.ts
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* Removes user plan logic for stripe sub
* Update hardcoded price
* Removed checkoutSessionId metadata and fix for trpc query
* Remove or comment team billing unused code
* Add todo note
* Fix type checks
* Change function that was renamed
* Remove duplicated test
* remove plan when creating user on test
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* only show smsReminder number if event type has SMS_ATTENDEE action
* fix rescheduling bug
* Change array iteration to only run for best scenario
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Alan <alannnc@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.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>
* WIP teams billing page
* WIP
* Create settings page
* Remove unused imports
* Create stripe customer on team creation
* Add Stripe ids to team record
* Add Stripe price ids for team to .env
* Create & delete Stripe customers
* Add string
* Merge branch 'main' into v2/teams-billing
* Create checkout session when creating team
* Create webhook to update team with Stripe ids
* Add Stripe migration files
* Move deleting team from Stripe under ee
* Some cleanup
* Merge branch 'v2/teams-billing' of https://github.com/calcom/cal.com into v2/teams-billing
* Small clean up
* Link to team's portal page
* Fix types
* Fix type errors
* Fix type errors
* Fix type error
* Delete old files & type fixes
* Address feedback
* Fix type errors
* Removes team creation modal
* WIP
* Removed billing frequency from team creation
* Add Stripe check for delete team customer
* Merge branch 'v2/teams-billing' of https://github.com/calcom/cal.com into v2/teams-billing
* Add high level form to create new team
* WIP
* Add new team to form
* Validate for invited members
* Add translations
* WIP
* Add validation for team name
* Add validation to team slug
* Clean up
* Fix type error
* Fix type errors
* WIP
* Abstract invite members function
* Add subscription status column
* Hide pending teams from settings
* Send email on paid subscription
* WIP
* Sync packages
* Add team subscription cols to schema
* WIP
* Matches locks vite version to <3
* Removed subscriptionStatus
* WIP
* Fix warning
* Query optimizations
* WIP
* Cleanup
* Wip
* WIP
* Runtime error fixes
* Cancellation fixes
* Delete team fixes
* Cleanup
* Type fixes
* Allows to check memebership in getTeamWithMembers
* Adds team creation tests
* Cleanup
* Cleanup
* Restored change
* Updated copy
* Moved component
* Cleanup
* Fix team members view
* Cleanup
* Adds failsafe for skipping publishing on update
* Cleanup
* Feedback
* More feedback
* Cleanup
* Cleanup
* Feedback
* Feedback
* Feedback
* Adds edge-case for slug conflicts
* Feedback
* e2e fixes
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Add Choose common schedule togglee
* Fix types
* Add translations
* Improve variable name
* Move setting to config so that all such lightweight boolean settings can exist here
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Abstracting booking cancellation
* Tweaking to use id and not uid
* Standardizing http errors
* Moving schema to prisma zod-utils
* Update apps/web/pages/api/cancel.ts
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Cancel only for delete and post verbs
* Make cancellation work with uid, and id
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Add OmniInstall button
* Make AppCards configurable by the app itself
* Make OmniInstallAppButton not redirect
* Fixes
* Add extendsFeature support to CLI
* Move to automatic file generation approach as dynamic import checking doesnt work correctly
* Use zod everywhere consistenly for metadata and fix all TS issues
* Fix viewer.eventTypes endpoint. Make prisma base select and _ prefixed models consistent in expecting scalars only
* Remove unnecessary zod parsing of event-types as it is making the scope of the PR huge
* Fix UI TS errors
* wip
* Add zod types support in EventTypeAppCard.tsx
* Fixes during PR review and other failing tests
* Remove unused app
* Fix stripe installation flow
* More fixes
* Fix apps and active apps count
* self review
* Add loading attribute to OmniInsall button
* Handle empty state
* Improve types
* Fix stripe app installation bug
* added fathom app (#4804)
* added fathom app wrapper, needs script injection to public booking page
* new logo
* Add Fathom script support on booking pages and add it as an eventTypeapp
* Add automation and analytics apps
* Add missing pieces for analytics category
* Rename BookingPageScripts to BookingPageTagManager
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* Fix lint error
* Fix runtime error with legayAppData being undefined
* Remove duplicate automation key
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Add db relevant stuff
* Basic UI there still buggy
* This UI is hard - some progress
* Fix awful state mangament
* Fix re-ordering
* Working UI logic!
* Partical working minMax function
* Fix min max
* bookingLImits api + tests
* Moved checkBookingLimits to backend only code
* Fix httperror import
* Return busy times
* Remove avaliablity calc
* Working for everything but year
* Remove redundant + fix async forloop
* Add compatible type
* Future proof with evenTypeId filter
* Fix commonjson
* Sorting + validation + tests + passing
* Add empty test
* Move validation check to backend
* Add bookinglimits in trpc
* Add test for undefined
* Apply suggestions from code review
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
* Update apps/web/components/v2/eventtype/EventLimitsTab.tsx
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
* Rename value for eligiability
* Rename keyof type
* status code
* Fix toggle not toggling off
* Update apps/web/pages/v2/event-types/[type]/index.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update apps/web/pages/v2/event-types/[type]/index.tsx
Co-authored-by: Omar López <zomars@me.com>
* Change back to undefined as it is working for sean. See if it fails on testapp
* Fixing test builder
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Leo Giovanetti <hello@leog.me>
* fix: use json.parse to get id
* fix: type error
* fix: add zod parse
* chore: remove type
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: remove duplicate button in textusernamefield
* feat: adds username if not present in getting-started first onboarding step
* fix: credentials
* fix: typo
* fix: user type
* fix: type errors
* Validates successRedirectUrl earlier with zod
* Removes deprecated api endpoint
* Reduces the data needed for the frontend on onboarding
Co-authored-by: Agusti Fernandez Pardo <git@agusti.me>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <zomars@me.com>