Skip to content

Commit 6de715b

Browse files
CarinaWolliCarinaWolli
andauthored
feat: Round Robin timestamp basis (calcom#21337)
* add rrTimeStampBasis to prisma schema * add rr time stamp basis setting * update migration * add getLuckyUser logic * add rrTimestampBasis to tests * add load balancing warning message * disable load balancing logic * disable load balancing in event type settings * add missing translations * fix UI * disable load balancing on all team event types * don't show routing forms in router position * use correct interval times * fix variable naming * fix event type update handler * add test to booking.test.ts * add test for getting interval times * remove not needed prop * fix label * improve warning message * fix removing maxLeadTreshold * fix typo * fix disabling maxLeadThreshold * add back missing translation * improve rr reset interval label * fix rr_load_balancing_disabled text * improve test * fix description * only use rrTimestampBasis in weights round robin * fix dropdown width --------- Co-authored-by: CarinaWolli <wollencarina@gmail.com>
1 parent 84717ca commit 6de715b

62 files changed

Lines changed: 552 additions & 215 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/api/v2/src/modules/slots/slots-2024-04-15/controllers/slots.controller.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -158,19 +158,19 @@ export class SlotsController_2024_04_15 {
158158
@Req() req: ExpressRequest
159159
): Promise<ApiResponse<{ slots: TimeSlots["slots"] | RangeSlots["slots"] }>> {
160160
try {
161-
const isTeamEvent =
162-
query.isTeamEvent === undefined
163-
? await this.slotsService.checkIfIsTeamEvent(query.eventTypeId)
164-
: query.isTeamEvent;
165-
const availableSlots = await getAvailableSlots({
166-
input: {
167-
...query,
168-
isTeamEvent,
169-
},
170-
ctx: {
171-
req,
172-
},
173-
});
161+
const isTeamEvent =
162+
query.isTeamEvent === undefined
163+
? await this.slotsService.checkIfIsTeamEvent(query.eventTypeId)
164+
: query.isTeamEvent;
165+
const availableSlots = await getAvailableSlots({
166+
input: {
167+
...query,
168+
isTeamEvent,
169+
},
170+
ctx: {
171+
req,
172+
},
173+
});
174174

175175
const { slots } = await this.slotsOutputService.getOutputSlots(
176176
availableSlots,

apps/web/modules/auth/forgot-password/forgot-password-view.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import type { CSSProperties, SyntheticEvent } from "react";
77
import React from "react";
88

99
import { useLocale } from "@calcom/lib/hooks/useLocale";
10-
import { EmailField } from "@calcom/ui/components/form";
1110
import { Button } from "@calcom/ui/components/button";
11+
import { EmailField } from "@calcom/ui/components/form";
1212

1313
import AuthContainer from "@components/ui/AuthContainer";
1414

apps/web/public/static/locales/ar/common.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3043,7 +3043,6 @@
30433043
"you_do_not_have_permission_to_create_an_organization_for_this_email": "ليس لديك الصلاحية لإنشاء مؤسسة لهذا البريد الإلكتروني",
30443044
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "ليس لديك الصلاحية لنقل فريق واحد أو أكثر",
30453045
"organization_has_subscription_already": "المؤسسة لديها اشتراك بالفعل",
3046-
"rr_reset_interval": "فترة إعادة تعيين الترتيب الدوري",
30473046
"interval": "الفترة",
30483047
"rr_reset_interval_description": "تحدد مدى تكرار إعادة تعيين عدد الحجوزات في الترتيب الدوري لضمان توزيع متوازن.",
30493048
"daily": "يوميًا",

apps/web/public/static/locales/az/common.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3043,7 +3043,6 @@
30433043
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Bu e-poçt üçün təşkilat yaratmağa icazəniz yoxdur",
30443044
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Bir və ya bir neçə komandanı köçürməyə icazəniz yoxdur",
30453045
"organization_has_subscription_already": "Təşkilatın artıq abunəliyi var",
3046-
"rr_reset_interval": "Round Robin Sıfırlama İntervalı",
30473046
"interval": "İnterval",
30483047
"rr_reset_interval_description": "Tarazlı paylaşımı təmin etmək üçün round robin rezervasiya sayının nə qədər tez-tez sıfırlanacağını müəyyən edir.",
30493048
"daily": "Gündəlik",
@@ -3060,7 +3059,6 @@
30603059
"ooo_team_redirect_infinite_not_allowed": "Bu istifadəçilər arasında artıq əks yönləndirmə mövcuddur.",
30613060
"previous_ooo_empty_title": "Əvvəlki OOO tapılmadı",
30623061
"previous": "Əvvəlki",
3063-
"rr_interval_successfully_updated": "Round Robin intervalı uğurla yeniləndi",
30643062
"trial_mode": "Sınaq rejimi",
30653063
"inactive_team_plan": "Qeyri-aktiv komanda planı",
30663064
"inactive_team_plan_description": "Komanda planınız qeyri-aktivdir. Abunəliyinizi yoxlayın və ya müştəri dəstəyi ilə əlaqə saxlayın",

apps/web/public/static/locales/bg/common.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3043,7 +3043,6 @@
30433043
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Нямате разрешение да създадете организация за този имейл",
30443044
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Нямате разрешение да мигрирате един или повече от екипите",
30453045
"organization_has_subscription_already": "Организацията вече има абонамент",
3046-
"rr_reset_interval": "Интервал за нулиране на Round Robin",
30473046
"interval": "Интервал",
30483047
"rr_reset_interval_description": "Определя колко често се нулира броят на резервациите в round robin, за да се осигури балансирано разпределение.",
30493048
"daily": "Ежедневно",
@@ -3060,7 +3059,6 @@
30603059
"ooo_team_redirect_infinite_not_allowed": "Вече съществува обратно пренасочване между тези потребители.",
30613060
"previous_ooo_empty_title": "Не са намерени предишни OOO",
30623061
"previous": "Предишен",
3063-
"rr_interval_successfully_updated": "Интервалът на Round Robin е успешно актуализиран",
30643062
"trial_mode": "Пробен режим",
30653063
"inactive_team_plan": "Неактивен план за екип",
30663064
"inactive_team_plan_description": "Вашият план за екип е неактивен. Проверете абонамента си или се свържете с отдела за обслужване на клиенти",

apps/web/public/static/locales/ca/common.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3043,7 +3043,6 @@
30433043
"you_do_not_have_permission_to_create_an_organization_for_this_email": "No teniu permís per crear una organització per a aquest correu electrònic",
30443044
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "No teniu permís per migrar un o més dels equips",
30453045
"organization_has_subscription_already": "L'organització ja té una subscripció",
3046-
"rr_reset_interval": "Interval de reinici del Round Robin",
30473046
"interval": "Interval",
30483047
"rr_reset_interval_description": "Determina amb quina freqüència es reinicia el comptador de reserves del round robin per assegurar una distribució equilibrada.",
30493048
"daily": "Diàriament",
@@ -3060,7 +3059,6 @@
30603059
"ooo_team_redirect_infinite_not_allowed": "Ja hi ha una redirecció inversa entre aquests usuaris.",
30613060
"previous_ooo_empty_title": "No s'ha trobat cap OOO anterior",
30623061
"previous": "Anterior",
3063-
"rr_interval_successfully_updated": "L'interval del Round Robin s'ha actualitzat correctament",
30643062
"trial_mode": "Mode de prova",
30653063
"inactive_team_plan": "Pla d'equip inactiu",
30663064
"inactive_team_plan_description": "El teu pla d'equip està inactiu. Comprova la teva subscripció o contacta amb el suport al client",

apps/web/public/static/locales/cs/common.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3043,7 +3043,6 @@
30433043
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Nemáte oprávnění vytvořit organizaci pro tento e-mail",
30443044
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Nemáte oprávnění migrovat jeden nebo více týmů",
30453045
"organization_has_subscription_already": "Organizace již má předplatné",
3046-
"rr_reset_interval": "Interval resetování Round Robin",
30473046
"interval": "Interval",
30483047
"rr_reset_interval_description": "Určuje, jak často se resetuje počet rezervací v systému round robin pro zajištění vyváženého rozdělení.",
30493048
"daily": "Denně",
@@ -3060,7 +3059,6 @@
30603059
"ooo_team_redirect_infinite_not_allowed": "Mezi těmito uživateli již existuje zpětné přesměrování.",
30613060
"previous_ooo_empty_title": "Nenalezeno žádné předchozí OOO",
30623061
"previous": "Předchozí",
3063-
"rr_interval_successfully_updated": "Interval Round Robin byl úspěšně aktualizován",
30643062
"trial_mode": "Zkušební režim",
30653063
"inactive_team_plan": "Neaktivní týmový plán",
30663064
"inactive_team_plan_description": "Váš týmový plán je neaktivní. Zkontrolujte své předplatné nebo kontaktujte zákaznickou podporu",

apps/web/public/static/locales/da/common.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3043,7 +3043,6 @@
30433043
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Du har ikke tilladelse til at oprette en organisation for denne e-mail",
30443044
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Du har ikke tilladelse til at migrere et eller flere af teamene",
30453045
"organization_has_subscription_already": "Organisationen har allerede et abonnement",
3046-
"rr_reset_interval": "Round Robin nulstillingsinterval",
30473046
"interval": "Interval",
30483047
"rr_reset_interval_description": "Bestemmer hvor ofte round robin-bookingtællingen nulstilles for at sikre en balanceret fordeling.",
30493048
"daily": "Dagligt",
@@ -3060,7 +3059,6 @@
30603059
"ooo_team_redirect_infinite_not_allowed": "Der er allerede en omvendt videresendelse mellem disse brugere.",
30613060
"previous_ooo_empty_title": "Ingen tidligere fravær fundet",
30623061
"previous": "Forrige",
3063-
"rr_interval_successfully_updated": "Round Robin-interval blev opdateret med succes",
30643062
"trial_mode": "Prøveperiode",
30653063
"inactive_team_plan": "Inaktiv teamplan",
30663064
"inactive_team_plan_description": "Din teamplan er inaktiv. Tjek dit abonnement eller kontakt kundesupport",

apps/web/public/static/locales/de/common.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3043,7 +3043,6 @@
30433043
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Sie haben keine berechtigung, eine organisation für diese e-mail-adresse zu erstellen",
30443044
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Sie haben keine berechtigung, eines oder mehrere der teams zu migrieren",
30453045
"organization_has_subscription_already": "Die organisation hat bereits ein abonnement",
3046-
"rr_reset_interval": "Round Robin Zurücksetzungsintervall",
30473046
"interval": "Intervall",
30483047
"rr_reset_interval_description": "Legt fest, wie oft der Round Robin Buchungszähler zurückgesetzt wird, um eine ausgewogene Verteilung zu gewährleisten.",
30493048
"daily": "Täglich",
@@ -3060,7 +3059,6 @@
30603059
"ooo_team_redirect_infinite_not_allowed": "Es gibt bereits eine umgekehrte Weiterleitung zwischen diesen Benutzern.",
30613060
"previous_ooo_empty_title": "Keine vorherige Abwesenheit gefunden",
30623061
"previous": "Vorherige",
3063-
"rr_interval_successfully_updated": "Round Robin Intervall erfolgreich aktualisiert",
30643062
"trial_mode": "Testmodus",
30653063
"inactive_team_plan": "Inaktiver Team-Plan",
30663064
"inactive_team_plan_description": "Ihr Team-Plan ist inaktiv. Überprüfen Sie Ihr Abonnement oder wenden Sie sich an den Kundensupport",
@@ -3210,4 +3208,4 @@
32103208
"members_affected_by_disabling_delegation_credential": "Betroffene Mitglieder",
32113209
"no_members_affected_by_disabling_delegation_credential": "Keine Mitglieder von der Deaktivierung der Delegationsanmeldedaten betroffen",
32123210
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Fügen Sie Ihre neuen Code-Zeilen über dieser hinzu ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
3213-
}
3211+
}

apps/web/public/static/locales/el/common.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3043,7 +3043,6 @@
30433043
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Δεν έχετε άδεια να δημιουργήσετε οργανισμό για αυτό το email",
30443044
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Δεν έχετε άδεια να μεταφέρετε μία ή περισσότερες από τις ομάδες",
30453045
"organization_has_subscription_already": "Ο οργανισμός έχει ήδη συνδρομή",
3046-
"rr_reset_interval": "Διάστημα επαναφοράς Round Robin",
30473046
"interval": "Διάστημα",
30483047
"rr_reset_interval_description": "Καθορίζει πόσο συχνά επαναφέρεται ο μετρητής κρατήσεων round robin για να διασφαλιστεί η ισορροπημένη κατανομή.",
30493048
"daily": "Καθημερινά",
@@ -3060,7 +3059,6 @@
30603059
"ooo_team_redirect_infinite_not_allowed": "Υπάρχει ήδη αντίστροφη προώθηση μεταξύ αυτών των χρηστών.",
30613060
"previous_ooo_empty_title": "Δεν βρέθηκαν προηγούμενες απουσίες",
30623061
"previous": "Προηγούμενο",
3063-
"rr_interval_successfully_updated": "Το διάστημα Round Robin ενημερώθηκε με επιτυχία",
30643062
"trial_mode": "Δοκιμαστική λειτουργία",
30653063
"inactive_team_plan": "Ανενεργό πλάνο ομάδας",
30663064
"inactive_team_plan_description": "Το πλάνο της ομάδας σας είναι ανενεργό. Ελέγξτε τη συνδρομή σας ή επικοινωνήστε με την εξυπηρέτηση πελατών",

0 commit comments

Comments
 (0)