27 lines
894 B
TypeScript
27 lines
894 B
TypeScript
import { redirect } from "next/navigation";
|
|
import { aktuelleSitzung } from "@/lib/auth";
|
|
import { hatRecht } from "@/lib/authz";
|
|
import { BuchungsListe } from "@/app/(app)/kasse/buchungen/buchungs-liste";
|
|
|
|
export const metadata = { title: "Buchungen" };
|
|
|
|
export default async function BuchungenSeite() {
|
|
const sitzung = await aktuelleSitzung();
|
|
if (!sitzung) redirect("/anmelden");
|
|
if (!hatRecht(sitzung, "kasse.lesen")) redirect("/");
|
|
|
|
return (
|
|
<div className="space-y-6">
|
|
<div>
|
|
<h1 className="text-2xl font-semibold tracking-tight">Buchungen</h1>
|
|
<p className="text-sm text-[var(--muted-foreground)]">
|
|
Das Kassenbuch. Festgeschriebene Buchungen sind unveränderbar — Korrekturen laufen über
|
|
eine Gegenbuchung.
|
|
</p>
|
|
</div>
|
|
|
|
<BuchungsListe darfBearbeiten={hatRecht(sitzung, "kasse.bearbeiten")} />
|
|
</div>
|
|
);
|
|
}
|