diff --git a/backend/src/appointment/controller/apis/google_client.py b/backend/src/appointment/controller/apis/google_client.py index 7419bf5a6..d67d734da 100644 --- a/backend/src/appointment/controller/apis/google_client.py +++ b/backend/src/appointment/controller/apis/google_client.py @@ -98,6 +98,17 @@ def list_calendars(self, token): request = service.calendarList().list_next(request, response) + # Sort calendars by primary first, then selected, then others + # since primary is the most likely to be the one the user wants to use + def calendar_sort_key(cal): + if cal.get('primary'): + return 0 + if cal.get('selected'): + return 1 + return 2 + + items.sort(key=calendar_sort_key) + return items def get_free_busy(self, calendar_ids, time_min, time_max, token): @@ -231,6 +242,7 @@ def sync_calendars(self, db, subscriber_id: int, token, external_connection_id: # Grab all the Google calendars calendars = self.list_calendars(token) error_occurred = False + for calendar in calendars: cal = CalendarConnection( title=calendar.get('summary'), diff --git a/frontend/src/App.vue b/frontend/src/App.vue index e801bc182..8aa18b8de 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -363,11 +363,11 @@ onMounted(async () => { main { padding-block-start: 1rem; + flex-grow: 1; &.private-route { display: flex; flex-direction: column; - flex-grow: 1; min-height: 0; margin-inline: 1rem; } diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index aed61fff4..cee20706f 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -86,7 +86,6 @@ "bookingDuration": "Buchungsdauer", "videoMeetingLink": "Video-Meeting Link", "customVideoMeetingLinkInfo": "Gib eine Video-Meeting URL ein, um diesen Link mit allen neuen Meetings zu verwenden. Dies kann später in den Einstellungen geändert werden.", - "customVideoMeetingLinkPlaceholder": "https://meeting.zoom.com/username", "zoomIcon": "Zoom", "skipThisStep": "diesen Schritt überspringen", "setupComplete": "Konto-Setup abgeschlossen", @@ -413,6 +412,7 @@ "searchForCalendars": "Nach Kalendern suchen", "secondaryTimeZone": "Sekundäre Zeitzone", "selectATimeFromTheCalendar": "Wähle einen freien Zeitpunkt aus dem Kalender", + "selectAll": "Alle auswählen", "selectCalendar": "Kalender auswählen", "selectDays": "Wochentage auswählen", "selectDateForWeek": "Datum für Woche auswählen", diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 444d86460..b7592f5ae 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -89,7 +89,6 @@ "connectWithZoomInfo": "Connect your Zoom account to generate meeting links for new bookings.", "customVideoMeetingLink": "Custom Video Meeting link", "customVideoMeetingLinkInfo": "Enter a video meeting URL to use this link with all new meetings. This can be changed in Settings.", - "customVideoMeetingLinkPlaceholder": "https://meeting.zoom.com/username", "zoomIcon": "Zoom", "skipThisStep": "skip this step", "setupComplete": "Account setup complete", @@ -416,6 +415,7 @@ "searchForCalendars": "Search for calendars", "secondaryTimeZone": "Secondary time zone", "selectATimeFromTheCalendar": "Select an open time slot from the calendar.", + "selectAll": "Select all", "selectCalendar": "Select calendar", "selectDays": "Select days", "selectDateForWeek": "Select date for week", diff --git a/frontend/src/views/AvailabilityView/components/AvailabilitySettings/components/AvailabilityCopyDropdown.vue b/frontend/src/views/AvailabilityView/components/AvailabilitySettings/components/AvailabilityCopyDropdown.vue index c9aed5eb3..f13fc3cb0 100644 --- a/frontend/src/views/AvailabilityView/components/AvailabilitySettings/components/AvailabilityCopyDropdown.vue +++ b/frontend/src/views/AvailabilityView/components/AvailabilitySettings/components/AvailabilityCopyDropdown.vue @@ -53,7 +53,7 @@ watch(