Remove ContactGroupId from BirthdayCalendarInfo, was unused

Loading contactGroupInfo made external users unable to log in

since they do not have a contact group

Close #9888
This commit is contained in:
wrd 2025-10-27 15:09:50 +01:00 committed by hrb-hub
parent bf5876d372
commit 4d43b61ac8
2 changed files with 9 additions and 13 deletions

View file

@ -8,7 +8,6 @@ import {
delay,
downcast,
filterInt,
getFirstOrThrow,
getFromMap,
isNotEmpty,
isSameDay,
@ -144,11 +143,7 @@ export type CalendarInfo = CalendarInfoBase & {
isExternal: boolean
}
export type BirthdayCalendarInfo = CalendarInfoBase & {
contactGroupId: Id
}
export function isBirthdayCalendarInfo(calendarInfoBase: CalendarInfoBase): calendarInfoBase is BirthdayCalendarInfo {
export function isBirthdayCalendarInfo(calendarInfoBase: CalendarInfoBase): boolean {
return calendarInfoBase.type === CalendarType.Birthday
}
@ -216,7 +211,7 @@ export class CalendarModel {
private externalCalendarSyncQueue: ExternalCalendarQueueItem[] = []
private externalCalendarRetryCount: Map<Id, number> = new Map()
private birthdayCalendarInfo: BirthdayCalendarInfo
private birthdayCalendarInfo: CalendarInfoBase
constructor(
private readonly notifications: Notifications,
@ -248,20 +243,21 @@ export class CalendarModel {
}
})
this.birthdayCalendarInfo = this.createBirthdayCalendarInfo()
this.userHasNewPaidPlan.getAsync().then(m.redraw)
if (logins.isInternalUserLoggedIn()) {
this.userHasNewPaidPlan.getAsync().then(m.redraw)
}
}
private createBirthdayCalendarInfo(): BirthdayCalendarInfo {
private createBirthdayCalendarInfo(): CalendarInfoBase {
return {
id: `${this.logins.getUserController().userId}#${BIRTHDAY_CALENDAR_BASE_ID}`,
name: this.lang.get("birthdayCalendar_label"),
color: this.logins.getUserController().userSettingsGroupRoot.birthdayCalendarColor ?? DEFAULT_BIRTHDAY_CALENDAR_COLOR,
type: CalendarType.Birthday,
contactGroupId: getFirstOrThrow(this.logins.getUserController().getContactGroupMemberships()).group,
}
}
getBirthdayCalendarInfo(): BirthdayCalendarInfo {
getBirthdayCalendarInfo(): CalendarInfoBase {
return this.birthdayCalendarInfo
}

View file

@ -71,7 +71,7 @@ import { calendarNavConfiguration, calendarWeek, daysHaveEvents, shouldDefaultTo
import { CalendarEventBubbleKeyDownHandler, CalendarPreviewModels, CalendarViewModel, MouseOrPointerEvent } from "./CalendarViewModel"
import { CalendarEventPopup } from "../gui/eventpopup/CalendarEventPopup.js"
import { showProgressDialog } from "../../../common/gui/dialogs/ProgressDialog"
import { BirthdayCalendarInfo, CalendarInfo, CalendarModel } from "../model/CalendarModel"
import { CalendarInfo, CalendarInfoBase, CalendarModel } from "../model/CalendarModel"
import type Stream from "mithril/stream"
import { IconButton } from "../../../common/gui/base/IconButton.js"
import { createDropdown, DropdownChildAttrs, PosRect } from "../../../common/gui/base/Dropdown.js"
@ -1089,7 +1089,7 @@ export class CalendarView extends BaseTopLevelView implements TopLevelView<Calen
})
}
private async onPressedEditBirthdayCalendar(calendarInfo: BirthdayCalendarInfo) {
private async onPressedEditBirthdayCalendar(calendarInfo: CalendarInfoBase) {
if (!this.viewModel.isNewPaidPlan) {
showPlanUpgradeRequiredDialog(NewPaidPlans)
return