—
Actieve gebruikers
—
Actief personeel
—
Sponsors
—
Verjaardagen (30 dgn)
🎂
Beschikbare modules
🎂
Aankomende verjaardagen
Personeel gesorteerd op eerstvolgende verjaardag
Laden...
📰 Nieuwsberichten
| Titel | Datum | Status | Acties |
|---|---|---|---|
| Laden... | |||
Alle personeelsleden
| Naam | Functie | Type | Contact | Status | Acties |
|---|---|---|---|---|---|
| Laden... | |||||
💛 Sponsors
| Bedrijf | Pakket | Looptijd | Status | Acties |
|---|---|---|---|---|
| Laden... | ||||
Bestanden hierheen slepen om te uploaden
Laden...
Boekhouding
Inkomsten en uitgaven bijhouden, financiële overzichten per periode en exporteren naar Excel.
In planning · 5% gereed
🎭 Rolverdeling
Laden...
👤 Gebruikers
| Naam | Rol | Status | Aangemaakt | Acties |
|---|---|---|---|---|
| Laden... | ||||
⚙️ Supabase verbinding
Alleen lokaal opgeslagen in je browser. Nodig voor gebruikersbeheer.
🗄️ Database SQL
Voer dit eenmalig uit in de Supabase SQL Editor als je de database nog niet hebt ingesteld.
Toon setup SQL
-- Profielen
create table if not exists profielen (
id uuid references auth.users on delete cascade primary key,
naam text not null, actief boolean default true,
created_at timestamptz default now()
);
alter table profielen enable row level security;
create policy "eigen profiel" on profielen
for select using (auth.uid() = id);
create policy "bestuur leest alle profielen" on profielen
for select using (
(auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur'
);
-- Rol rechten
create table if not exists rol_rechten (
rol text not null, tegel text not null,
toegang boolean default false, primary key (rol, tegel)
);
alter table rol_rechten enable row level security;
create policy "authenticated leest rechten" on rol_rechten
for select using (auth.role() = 'authenticated');
create policy "bestuur beheert rechten" on rol_rechten
for all
using ((auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur')
with check ((auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur');
-- Standaard rechten
insert into rol_rechten (rol, tegel, toegang) values
('bestuur','website',true),('bestuur','roostering',true),
('bestuur','personeel',true),('bestuur','bestanden',true),('bestuur','gebruikers',true),
('administratie','website',true),('administratie','roostering',false),
('administratie','personeel',false),('administratie','bestanden',true),('administratie','gebruikers',false),
('vrijwilliger','website',false),('vrijwilliger','roostering',true),
('vrijwilliger','personeel',false),('vrijwilliger','bestanden',true),('vrijwilliger','gebruikers',false)
on conflict do nothing;