* amend logic to calculate DST time on buildSlots
* send start and end date in UTC
* port the logic to calc DST from buildSlots to inWithinAvailableHours
* use the organizer timezone and invitee timezone to show slots
* type fixes
* set start date on selected TZ on booking payload
* add considerations when only the invitee is on DTS
* Apply suggestions from code review
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
* fixes typo
* Apply suggestions from code review
Co-authored-by: alannnc <alannnc@gmail.com>
* cleaning
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: alannnc <alannnc@gmail.com>
* Save design updates for fixed round robin support
* wip - added Host relation
* DRY hostsFixed select
* Changes to allow isFixed in the Availability page
* Allow booking with fixed hosts
* Replace users with hosts if hosts is set
* Also prefer hosts over users here
* Prevent duplicates when hosts is saved
* Accidental slot duplication
* Attempt at making isFixed optional
* Sydney and Shiraz can live in harmony again
* No fixed hosts causes every to be true..
* Make hosts undefinable
* Small handleNewBooking fixes
* Similar fix to the hosts to check for empty-ness
* Default to isFixed false instead of true
* Fix event type list avatars
* Filter availableTimeSlots, collective ts's wont magically re-enable.
* (Further) Fixes to getAggregateWorkingHours
* Weird userId artifact that preceeds this branch, investigate later
* On user delete, remove host, on event type delete, also remove host
* Dynamic event types were incorrectly marked as isFixed=false
* Fixed notFound error when there are no users (but hosts)
* Fixes userIsOwner
* Oops, fixed isFixed users being included correctly
* Fixed Button styling on secondary darkmode
* Create exclusivity in selectable options
* fix: Location dropdown is overflowing #6376 (#6415)
* add `menuPlacement` react-select's props to `getReactSelectProps` to avoid dropdown overflow on small screen.
By default, set to "auto".
* CALCOM-6362 - [CAL-728] App Sidebar. Child items aren't sized/spaced properly (#6424)
* [CAL-728] App Sidebar. Child items aren't sized/spaced properly
* fix: undo logo size
Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
* Fixing colors (#6429)
* Update website
* Update console
* Update yarn.lock
* Uses disable instead of filtering to be more clear
* Update EventTeamTab.tsx
* Merge conflict cleanup
* During test cases the dayjs() utcOffset is local time, this fixes that
Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Thomas Brodusch <3238312+thomasbrodusch@users.noreply.github.com>
Co-authored-by: GitStart-Cal.com <121884634+gitstart-calcom@users.noreply.github.com>
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
* Refactored buildSlots
* Added typing for computedAvailableSlots
* Adds very simple boundary logic to make sure slots start at the right times
* Logic was cutting off too early
* Woops, should be eventLength, not frequency
* Expect 12:15 slots as availability is till 12:30 for booking
* Deliberately skip test for testing purposes
* slotInterval overrides intervals, but not duration
* Fix calendar mocking
* Another 45m length
* Unskip :(
* Fix test
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
* Identify owner for a timeslot and check busyness against his schedule only
* Fix TS errors
* Fix flatmap
* Fix xisting unit tests
* Prevent duplicate slots by merging, userId -> userIds (multi)
* Small fix to potential undefined
* Moved duplicate prevention to buildSlots function
* Apply date override on a per user basis
* Prevent -1 being added to computedLocalAvailability
* Removed console.log
* Apply override properly on COLLECTIVE
* Default timeZone to UTC when undefined
* isSame doesn't work when the day shifts, isBetween instead
* Iterate over all slot.userIds schedules to identify the first user schedule that matches
* add round-robin test
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Fixing multiple duration default issues
* Ensure that when calculation time slots we use 1 as a minimum interval, since 0 min meetings would result in an infinite loop.
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Initial incomplete (but mostly functional) push of date override functions
* Fixed date shifting on load
* Bring back minDate (automatically disable all dates before current date)
* Fix type error
* Supply working hours to render available dates
* Converted to SSR
* moving defaultValues to the backend
* Improv. as filter can be achieved within the reduce
Co-authored-by: Omar López <zomars@me.com>
* Double inversion -> single, as it is an early return
* uniq() exit - not needed anymore
* Typefixes
* It's overriding dates :D
* Fixed duplication DateOverrides in list
* Implemented changing the month
* Make dateOverrides an optional param
* Fixed test (which requires dateOverrides due to auto-typing)
* Prevent a full update on set as default from list view
* Added some extra keys to keep ts happy
* Only allow a single date override per date
* Disallow editing excludedDates to the same date
* Bring back duplicate key ?.?
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Fixes the localisation issue with recurring events
* Implement DST as Dayjs doesn't
* Fixed generated booking URL when different TZ is set
* manually apply DST offset to times
* Fix type error
* WIP
* Fix for team availability with time offsets
* Prevent empty schedule from opening up everything
* When no utcOffset or timeZone's are given, default to 0 utcOffset (UTC)
* timeZone should not be part of getUserAvailability
* Prevents {days:[X],startTime:0,endTime:0} error entry
* Added getAggregateWorkingHours() (#3913)
* Added test for getAggregateWorkingHours
* Timezone isn't used here anymore
* fix: developer docs url (#3914)
* fix: developer docs url added
* chore : remove /
* chore : import url
Co-authored-by: Zach Waterfield <zlwaterfield@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Test fixes
* Reinstate prisma (generate only) and few comments
* Test fixes
* Skipping getSchedule again
* Added await to expect() as it involves async logic causing the promise to timeout
* Test cleanup
* Update jest.config.ts
Co-authored-by: Alan <alannnc@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Zach Waterfield <zlwaterfield@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>