Rollen fix
All checks were successful
CI / Build (push) Successful in 1m20s
CI / Deploy (push) Successful in 54s

This commit is contained in:
Jan
2026-04-13 23:57:06 +02:00
parent dfdff6bf99
commit 44a2c3aeae
2 changed files with 4 additions and 22 deletions

View File

@@ -45,7 +45,6 @@ import {
approvalLabel,
canManageBudgets,
canManageUsers,
getDefaultApprovalPermissionsForRole,
roleLabel
} from "@/lib/domain";
@@ -1738,8 +1737,7 @@ export function DashboardShell({
const nextRole = event.target.value as UserFormState["role"];
setUserForm((current) => ({
...current,
role: nextRole,
approvalPermissions: sortApprovalPermissions(getDefaultApprovalPermissionsForRole(nextRole))
role: nextRole
}));
}}
required
@@ -1934,8 +1932,7 @@ export function DashboardShell({
onChange={(event) => {
const nextRole = event.target.value as ManagedUserDraft["role"];
updateManagedUserDraft(user, {
role: nextRole,
approvalPermissions: sortApprovalPermissions(getDefaultApprovalPermissionsForRole(nextRole))
role: nextRole
});
}}
fullWidth

View File

@@ -97,27 +97,12 @@ export function canDeleteExpense(
return viewerId === creatorId && approvalStatus === "PENDING" && !paidAt && !documentedAt;
}
export function getDefaultApprovalPermissionsForRole(role: AppRole): ApprovalTypeValue[] {
switch (role) {
case "ADMIN":
return ["CHAIR_A"];
case "FINANCE":
return ["FINANCE"];
case "MEMBER":
return [];
}
}
export function normalizeApprovalPermissions(
role: AppRole,
_role: AppRole,
approvalPermissions: ApprovalTypeValue[] | null | undefined,
approvalPreference: ApprovalTypeValue | null | undefined = null
) {
const rawPermissions = approvalPermissions && approvalPermissions.length > 0
? approvalPermissions
: approvalPreference
? [approvalPreference]
: getDefaultApprovalPermissionsForRole(role);
const rawPermissions = approvalPermissions ?? (approvalPreference ? [approvalPreference] : []);
return APPROVAL_FLOW.filter(
(approvalType, index) => rawPermissions.includes(approvalType) && rawPermissions.indexOf(approvalType) === index