M5 Kaffeeliste read-only auf Ledger umstellen
- kaffeeliste.php aus ledger_fetch_participant_summaries lesen lassen - Legacy-Teilnehmerlinks ueber legacy_mitarbeiter_id erhalten - Sidebar-Zugriff fuer Legacy-Admin und SaaS-Rollen trennen - Smoke-Test um konkrete Ledger-Werte und Inaktiv-Ausschluss erweitern - M5-App-Kern-Doku ergaenzen
This commit is contained in:
+5
-3
@@ -101,7 +101,7 @@ function ledger_fetch_tenant_totals(PDO $pdo, int $tenantId, ?int $year = null):
|
||||
* - participant_ids: list<int>
|
||||
* - email_norms: list<string>
|
||||
*
|
||||
* @return list<array{participant_id: int, tenant_id: int, display_name: string, email: ?string, email_norm: ?string, paypal_name: ?string, active: bool, total_payments_cents: int, total_costs_cents: int, total_marks: int, balance_cents: int, year_payments_cents: int, year_costs_cents: int, year_marks: int}>
|
||||
* @return list<array{participant_id: int, tenant_id: int, legacy_mitarbeiter_id: ?int, display_name: string, email: ?string, email_norm: ?string, paypal_name: ?string, active: bool, total_payments_cents: int, total_costs_cents: int, total_marks: int, balance_cents: int, year_payments_cents: int, year_costs_cents: int, year_marks: int}>
|
||||
*/
|
||||
function ledger_fetch_participant_summaries(PDO $pdo, int $tenantId, array $options = []): array
|
||||
{
|
||||
@@ -140,6 +140,7 @@ function ledger_fetch_participant_summaries(PDO $pdo, int $tenantId, array $opti
|
||||
SELECT
|
||||
p.id AS participant_id,
|
||||
p.tenant_id,
|
||||
p.legacy_mitarbeiter_id,
|
||||
p.display_name,
|
||||
p.email,
|
||||
p.email_norm,
|
||||
@@ -158,7 +159,7 @@ function ledger_fetch_participant_summaries(PDO $pdo, int $tenantId, array $opti
|
||||
AND le.participant_id = p.id
|
||||
AND le.voided_at IS NULL
|
||||
WHERE " . implode(' AND ', $where) . "
|
||||
GROUP BY p.id, p.tenant_id, p.display_name, p.email, p.email_norm, p.paypal_name, p.active
|
||||
GROUP BY p.id, p.tenant_id, p.legacy_mitarbeiter_id, p.display_name, p.email, p.email_norm, p.paypal_name, p.active
|
||||
ORDER BY p.display_name, p.id";
|
||||
|
||||
$stmt = $pdo->prepare($sql);
|
||||
@@ -169,6 +170,7 @@ function ledger_fetch_participant_summaries(PDO $pdo, int $tenantId, array $opti
|
||||
$summaries[] = [
|
||||
'participant_id' => (int)$row['participant_id'],
|
||||
'tenant_id' => (int)$row['tenant_id'],
|
||||
'legacy_mitarbeiter_id' => $row['legacy_mitarbeiter_id'] !== null ? (int)$row['legacy_mitarbeiter_id'] : null,
|
||||
'display_name' => (string)$row['display_name'],
|
||||
'email' => $row['email'] !== null ? (string)$row['email'] : null,
|
||||
'email_norm' => $row['email_norm'] !== null ? (string)$row['email_norm'] : null,
|
||||
@@ -188,7 +190,7 @@ function ledger_fetch_participant_summaries(PDO $pdo, int $tenantId, array $opti
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array{participant_id: int, tenant_id: int, display_name: string, email: ?string, email_norm: ?string, paypal_name: ?string, active: bool, total_payments_cents: int, total_costs_cents: int, total_marks: int, balance_cents: int, year_payments_cents: int, year_costs_cents: int, year_marks: int}|null
|
||||
* @return array{participant_id: int, tenant_id: int, legacy_mitarbeiter_id: ?int, display_name: string, email: ?string, email_norm: ?string, paypal_name: ?string, active: bool, total_payments_cents: int, total_costs_cents: int, total_marks: int, balance_cents: int, year_payments_cents: int, year_costs_cents: int, year_marks: int}|null
|
||||
*/
|
||||
function ledger_fetch_participant_summary(PDO $pdo, int $tenantId, int $participantId, ?int $year = null): ?array
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user