Desks invite members: one form per group the desk may fill
lint-and-reload / lint (push) Successful in 1s

Regenerated from the plan with every existing word lifted back out of
this repo (the diff is additions only): each committee's desk invites
into itself, styret's desk into every group, and each inviting desk
lists the invites it sent (portal_invites, open -> done). Portal
creates the account, the group membership and a one-time credential
link; the desk shows the link to pass on. Needs portal 0.3.40+ on the
instance and KANIDM_API_TOKEN in its env. Lint pinned to iris 0.3.41.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4jrCgLiKKHAEFuZUJjckH
This commit is contained in:
bl
2026-09-23 12:39:01 +02:00
co-authored by Claude Fable 5.1
parent 796ceb95c2
commit c551273fc2
9 changed files with 377 additions and 1 deletions
+33
View File
@@ -25,6 +25,39 @@ alternatives:
label: Takket nei
to: takket_nei
name: Frivillige til arrangementer og dugnad
- action: /arrangementer
consequence:
- Inviter
description: De får en konto, plass i Arrangementer, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: arrangementer
name: Inviter noen inn i Arrangementer
- action: /arrangementer
consequence:
- Lagre
description: Hver invitasjon med lenken som ble laget. Marker som ferdig når personen er inne.
features:
- description: ''
name: ''
resource:
requires_group: arrangementer
source:
bucket: portal_invites
kind: kv
transitions:
- from: open
label: Er inne
to: done
name: Sendte invitasjoner
description: Oversikt over folk som vil hjelpe til, slik at du kan følge opp og sette dem opp på noe som passer.
name: Hvem har meldt seg, og hvor langt har jeg kommet med å sette dem opp?
responsible:
+33
View File
@@ -19,6 +19,39 @@ alternatives:
label: Ikke tatt med
to: ikke_tatt_med
name: Innspill til høringssvar
- action: /horingsinstans
consequence:
- Inviter
description: De får en konto, plass i Høringsinstans, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: horingsinstans
name: Inviter noen inn i Høringsinstans
- action: /horingsinstans
consequence:
- Send svar
description: Hver invitasjon med lenken som ble laget. Marker som ferdig når personen er inne.
features:
- description: ''
name: ''
resource:
requires_group: horingsinstans
source:
bucket: portal_invites
kind: kv
transitions:
- from: open
label: Er inne
to: done
name: Sendte invitasjoner
description: Her samler du innspillene og ser hva som er tatt med i velets høringssvar.
name: Hva sier vi i høringssvaret?
responsible:
+33
View File
@@ -62,6 +62,39 @@ alternatives:
label: Avvis utlegg
to: avvist
name: Utlegg som venter på deg
- action: /kasserer
consequence:
- Inviter
description: De får en konto, plass i kassereren, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: kasserer
name: Inviter noen inn i kassereren
- action: /kasserer
consequence:
- Lagre
description: Hver invitasjon med lenken som ble laget. Marker som ferdig når personen er inne.
features:
- description: ''
name: ''
resource:
requires_group: kasserer
source:
bucket: portal_invites
kind: kv
transitions:
- from: open
label: Er inne
to: done
name: Sendte invitasjoner
description: Her har du oversikt over medlemmer, endringer og utlegg som venter på deg som kasserer.
name: Hva venter på meg som kasserer akkurat nå?
responsible:
+33
View File
@@ -4,6 +4,39 @@ alternatives:
- Send utlegg
description: Har du lagt ut for noe til komiteen? Send det inn så kasserer kan betale deg tilbake.
name: Få tilbake det du har lagt ut
- action: /komiteer
consequence:
- Inviter
description: De får en konto, plass i komiteene, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: komiteer
name: Inviter noen inn i komiteene
- action: /komiteer
consequence:
- Confirm
description: Hver invitasjon med lenken som ble laget. Marker som ferdig når personen er inne.
features:
- description: ''
name: ''
resource:
requires_group: komiteer
source:
bucket: portal_invites
kind: kv
transitions:
- from: open
label: Er inne
to: done
name: Sendte invitasjoner
description: Her holder du oversikt over sakene komiteen din har ansvar for, og flytter dem videre etter hvert som de blir fulgt opp.
name: Hva står ubehandlet i komiteen din nå?
responsible:
+33
View File
@@ -19,6 +19,39 @@ alternatives:
label: Merk som utbedret
to: utbedret
name: Det som er meldt inn av skader
- action: /lekeplasser
consequence:
- Inviter
description: De får en konto, plass i Leke- og møteplasser, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: lekeplasser
name: Inviter noen inn i Leke- og møteplasser
- action: /lekeplasser
consequence:
- Lagre
description: Hver invitasjon med lenken som ble laget. Marker som ferdig når personen er inne.
features:
- description: ''
name: ''
resource:
requires_group: lekeplasser
source:
bucket: portal_invites
kind: kv
transitions:
- from: open
label: Er inne
to: done
name: Sendte invitasjoner
description: Her følger komiteen for lekeplassene opp det som er meldt inn av skader, til det er fikset.
name: Hva må fikses på lekeplassene og stien nå?
responsible:
+33
View File
@@ -45,6 +45,39 @@ alternatives:
label: Meld trukket
to: trukket
name: Naboer som kan stille opp
- action: /nabohjelp
consequence:
- Inviter
description: De får en konto, plass i nabohjelpen, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: nabohjelp
name: Inviter noen inn i nabohjelpen
- action: /nabohjelp
consequence:
- Lagre
description: Hver invitasjon med lenken som ble laget. Marker som ferdig når personen er inne.
features:
- description: ''
name: ''
resource:
requires_group: nabohjelp
source:
bucket: portal_invites
kind: kv
transitions:
- from: open
label: Er inne
to: done
name: Sendte invitasjoner
description: Her kobler du naboer som trenger hjelp med dem som kan stille opp.
name: Hvem trenger hjelp, og hvem kan stille opp?
responsible:
+145
View File
@@ -67,6 +67,151 @@ alternatives:
kind: kv
transitions: []
name: Meldinger om trafikkfarer
- action: /styret
consequence:
- Inviter
description: De får en konto, plass i Arrangementer, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: arrangementer
name: Inviter noen inn i Arrangementer
- action: /styret
consequence:
- Inviter
description: De får en konto, plass i Høringsinstans, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: horingsinstans
name: Inviter noen inn i Høringsinstans
- action: /styret
consequence:
- Inviter
description: De får en konto, plass i kassereren, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: kasserer
name: Inviter noen inn i kassereren
- action: /styret
consequence:
- Inviter
description: De får en konto, plass i komiteene, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: komiteer
name: Inviter noen inn i komiteene
- action: /styret
consequence:
- Inviter
description: De får en konto, plass i Leke- og møteplasser, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: lekeplasser
name: Inviter noen inn i Leke- og møteplasser
- action: /styret
consequence:
- Inviter
description: De får en konto, plass i nabohjelpen, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: nabohjelp
name: Inviter noen inn i nabohjelpen
- action: /styret
consequence:
- Inviter
description: De får en konto, plass i styret, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: styret
name: Inviter noen inn i styret
- action: /styret
consequence:
- Inviter
description: De får en konto, plass i Trafikkforhold, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: trafikk
name: Inviter noen inn i Trafikkforhold
- action: /styret
consequence:
- Lagre
description: Hver invitasjon med lenken som ble laget. Marker som ferdig når personen er inne.
features:
- description: ''
name: ''
resource:
requires_group: styret
source:
bucket: portal_invites
kind: kv
transitions:
- from: open
label: Er inne
to: done
name: Sendte invitasjoner
description: 'Herfra følger styret opp det som ikke hører under en enkelt komité: høringssvar, komitéplasser og oppslag fra naboer.'
name: Hva venter på styret akkurat nå?
responsible:
+33
View File
@@ -25,6 +25,39 @@ alternatives:
label: Avvis meldingen
to: avvist
name: Farlige steder i trafikken
- action: /trafikk
consequence:
- Inviter
description: De får en konto, plass i Trafikkforhold, og en engangslenke der de selv velger passord eller passnøkkel. Send lenken videre til dem.
features:
- description: ''
name: Hvem
requirements:
- label: Navn
name: name
- label: E-post
name: email
type: email
invite:
group: trafikk
name: Inviter noen inn i Trafikkforhold
- action: /trafikk
consequence:
- Lagre
description: Hver invitasjon med lenken som ble laget. Marker som ferdig når personen er inne.
features:
- description: ''
name: ''
resource:
requires_group: trafikk
source:
bucket: portal_invites
kind: kv
transitions:
- from: open
label: Er inne
to: done
name: Sendte invitasjoner
description: Her ser du meldinger om farlige steder i trafikken og følger dem opp overfor kommunen eller veieier.
name: Hvilke trafikkfarer må følges opp?
responsible: