fix: export nedává "prázdné" záznamy
CI / Generate TypeScript types (push) Successful in 11s
CI / Server unit tests (push) Successful in 27s
CI / Build server (push) Successful in 31s
CI / Build client (push) Successful in 43s
CI / Playwright E2E tests (push) Successful in 1m58s
CI / Build and push Docker image (push) Successful in 45s
CI / Notify (push) Successful in 1s

This commit is contained in:
Ondřej Anděl committed 2026-10-14 13:35:25 +02:00
1 parent 9fa00fa9c5
commit 8a7dbd94c8
3 files changed
+27 -5

No files matched your search

+8 -2
View File
@@ -59,6 +59,11 @@ function isActiveMember(member: OrderGroupMember): boolean {
return (member.amount ?? 0) + (member.surchargeAmount ?? 0) > 0;
}
/** Vrátí true, pokud má členství ve skupině do přehledu co přinést (položku nebo poznámku). */
function isRelevantMember(member: OrderGroupMember | undefined): boolean {
return !!member && (isActiveMember(member) || !!member.note?.trim().length);
}
/**
* Vypočte částku člena skupiny po rozpočítání poplatků a slevy (v haléřích).
* Poplatky i pevná sleva se dělí pouze mezi členy, kteří si něco objednali.
@@ -177,8 +182,9 @@ export async function getUserExportRows(login: string, year: number, month: numb
break;
}
// Objednávkové skupiny, ve kterých byl uživatel členem
const groups = (extraData?.groups ?? []).filter(group => !!group.members[login]);
// Objednávkové skupiny, ve kterých si uživatel něco objednal nebo k nim má poznámku.
// Zakladatel skupiny, který si z ní nic nevzal, v ní figuruje jen formálně — řádek by byl prázdný.
const groups = (extraData?.groups ?? []).filter(group => isRelevantMember(group.members[login]));
const groupRows: UserExportRow[] = [];
let mergedGroup = false;
for (const group of groups) {