Portal holder gruppene selv: invitasjon med telefonnummer, lista er hvem som er med

Hver pult inviterer med navn og telefonnummer (e-post om de har), og
lista over invitasjoner er lista over medlemmer: invitert til de
logger inn, så med, tatt ut av pulten. Lint med iris v0.5.10.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
This commit is contained in:
bl
2026-09-30 14:12:23 +02:00
co-authored by Claude Fable 5.1
parent 02752b2651
commit ac60619c7f
10 changed files with 235 additions and 163 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
# portalen vel-et kjører (PORTAL_RELEASE i infrastructure/.env). # portalen vel-et kjører (PORTAL_RELEASE i infrastructure/.env).
- name: lint - name: lint
env: env:
IRIS_RELEASE: v0.5.6 IRIS_RELEASE: v0.5.10
run: | run: |
curl -sfL "https://project.uhhm.no/uhhm/iris/releases/download/$IRIS_RELEASE/iris" -o iris && chmod +x iris curl -sfL "https://project.uhhm.no/uhhm/iris/releases/download/$IRIS_RELEASE/iris" -o iris && chmod +x iris
./iris check --path checkout/questions ./iris check --path checkout/questions
+20 -16
View File
@@ -40,33 +40,37 @@ alternatives:
group: arrangementer group: arrangementer
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
- name: Sendte invitasjoner optional: true
description: Hver invitasjon og hvor den står. En lenke som går ut ubrukt, kan sendes på nytt. - name: Medlemmer og invitasjoner
description: Alle som er invitert inn i en gruppe denne pulten kan fylle, og om de har kommet.
action: /arrangementer action: /arrangementer
consequence: consequence:
- Lagre - Lagre
features: features:
- name: Hvem som er invitert - name: Hvem som er med
description: Hver rad er én invitasjon. Den blir ferdig av seg selv når personen logger inn, og står som utløpt når lenken gikk ut ubrukt. description: 'Hver rad er én person i én gruppe: invitert til de logger inn, så med. Å ta noen ut beholder raden, så de kan inviteres igjen.'
resource: resource:
source: source:
kind: kv kind: kv
bucket: portal_invites bucket: portal_memberships
requires_group: arrangementer requires_group: arrangementer
transitions: transitions:
- from: open - from: invited
to: done to: removed
label: Er inne label: Trekk tilbake
- from: expired - from: active
to: open to: removed
label: Send på nytt label: Ta ut
- from: expired - from: removed
to: done to: invited
label: Er inne label: Inviter igjen
+20 -16
View File
@@ -34,33 +34,37 @@ alternatives:
group: horingsinstans group: horingsinstans
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
- name: Sendte invitasjoner optional: true
description: Hver invitasjon og hvor den står. En lenke som går ut ubrukt, kan sendes på nytt. - name: Medlemmer og invitasjoner
description: Alle som er invitert inn i en gruppe denne pulten kan fylle, og om de har kommet.
action: /horingsinstans action: /horingsinstans
consequence: consequence:
- Send svar - Send svar
features: features:
- name: Hvem som er invitert - name: Hvem som er med
description: Hver rad er én invitasjon. Den blir ferdig av seg selv når personen logger inn, og står som utløpt når lenken gikk ut ubrukt. description: 'Hver rad er én person i én gruppe: invitert til de logger inn, så med. Å ta noen ut beholder raden, så de kan inviteres igjen.'
resource: resource:
source: source:
kind: kv kind: kv
bucket: portal_invites bucket: portal_memberships
requires_group: horingsinstans requires_group: horingsinstans
transitions: transitions:
- from: open - from: invited
to: done to: removed
label: Er inne label: Trekk tilbake
- from: expired - from: active
to: open to: removed
label: Send på nytt label: Ta ut
- from: expired - from: removed
to: done to: invited
label: Er inne label: Inviter igjen
+20 -16
View File
@@ -77,33 +77,37 @@ alternatives:
group: kasserer group: kasserer
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
- name: Sendte invitasjoner optional: true
description: Hver invitasjon og hvor den står. En lenke som går ut ubrukt, kan sendes på nytt. - name: Medlemmer og invitasjoner
description: Alle som er invitert inn i en gruppe denne pulten kan fylle, og om de har kommet.
action: /kasserer action: /kasserer
consequence: consequence:
- Lagre - Lagre
features: features:
- name: Hvem som er invitert - name: Hvem som er med
description: Hver rad er én invitasjon. Den blir ferdig av seg selv når personen logger inn, og står som utløpt når lenken gikk ut ubrukt. description: 'Hver rad er én person i én gruppe: invitert til de logger inn, så med. Å ta noen ut beholder raden, så de kan inviteres igjen.'
resource: resource:
source: source:
kind: kv kind: kv
bucket: portal_invites bucket: portal_memberships
requires_group: kasserer requires_group: kasserer
transitions: transitions:
- from: open - from: invited
to: done to: removed
label: Er inne label: Trekk tilbake
- from: expired - from: active
to: open to: removed
label: Send på nytt label: Ta ut
- from: expired - from: removed
to: done to: invited
label: Er inne label: Inviter igjen
+20 -16
View File
@@ -19,33 +19,37 @@ alternatives:
group: komiteer group: komiteer
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
- name: Sendte invitasjoner optional: true
description: Hver invitasjon og hvor den står. En lenke som går ut ubrukt, kan sendes på nytt. - name: Medlemmer og invitasjoner
description: Alle som er invitert inn i en gruppe denne pulten kan fylle, og om de har kommet.
action: /komiteer action: /komiteer
consequence: consequence:
- Confirm - Confirm
features: features:
- name: Hvem som er invitert - name: Hvem som er med
description: Hver rad er én invitasjon. Den blir ferdig av seg selv når personen logger inn, og står som utløpt når lenken gikk ut ubrukt. description: 'Hver rad er én person i én gruppe: invitert til de logger inn, så med. Å ta noen ut beholder raden, så de kan inviteres igjen.'
resource: resource:
source: source:
kind: kv kind: kv
bucket: portal_invites bucket: portal_memberships
requires_group: komiteer requires_group: komiteer
transitions: transitions:
- from: open - from: invited
to: done to: removed
label: Er inne label: Trekk tilbake
- from: expired - from: active
to: open to: removed
label: Send på nytt label: Ta ut
- from: expired - from: removed
to: done to: invited
label: Er inne label: Inviter igjen
+20 -16
View File
@@ -34,33 +34,37 @@ alternatives:
group: lekeplasser group: lekeplasser
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
- name: Sendte invitasjoner optional: true
description: Hver invitasjon og hvor den står. En lenke som går ut ubrukt, kan sendes på nytt. - name: Medlemmer og invitasjoner
description: Alle som er invitert inn i en gruppe denne pulten kan fylle, og om de har kommet.
action: /lekeplasser action: /lekeplasser
consequence: consequence:
- Lagre - Lagre
features: features:
- name: Hvem som er invitert - name: Hvem som er med
description: Hver rad er én invitasjon. Den blir ferdig av seg selv når personen logger inn, og står som utløpt når lenken gikk ut ubrukt. description: 'Hver rad er én person i én gruppe: invitert til de logger inn, så med. Å ta noen ut beholder raden, så de kan inviteres igjen.'
resource: resource:
source: source:
kind: kv kind: kv
bucket: portal_invites bucket: portal_memberships
requires_group: lekeplasser requires_group: lekeplasser
transitions: transitions:
- from: open - from: invited
to: done to: removed
label: Er inne label: Trekk tilbake
- from: expired - from: active
to: open to: removed
label: Send på nytt label: Ta ut
- from: expired - from: removed
to: done to: invited
label: Er inne label: Inviter igjen
+20 -16
View File
@@ -69,33 +69,37 @@ alternatives:
group: nabohjelp group: nabohjelp
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
- name: Sendte invitasjoner optional: true
description: Hver invitasjon og hvor den står. En lenke som går ut ubrukt, kan sendes på nytt. - name: Medlemmer og invitasjoner
description: Alle som er invitert inn i en gruppe denne pulten kan fylle, og om de har kommet.
action: /nabohjelp action: /nabohjelp
consequence: consequence:
- Lagre - Lagre
features: features:
- name: Hvem som er invitert - name: Hvem som er med
description: Hver rad er én invitasjon. Den blir ferdig av seg selv når personen logger inn, og står som utløpt når lenken gikk ut ubrukt. description: 'Hver rad er én person i én gruppe: invitert til de logger inn, så med. Å ta noen ut beholder raden, så de kan inviteres igjen.'
resource: resource:
source: source:
kind: kv kind: kv
bucket: portal_invites bucket: portal_memberships
requires_group: nabohjelp requires_group: nabohjelp
transitions: transitions:
- from: open - from: invited
to: done to: removed
label: Er inne label: Trekk tilbake
- from: expired - from: active
to: open to: removed
label: Send på nytt label: Ta ut
- from: expired - from: removed
to: done to: invited
label: Er inne label: Inviter igjen
+20 -16
View File
@@ -48,33 +48,37 @@ alternatives:
group: redaktor group: redaktor
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
- name: Sendte invitasjoner optional: true
description: Hver invitasjon og hvor den står. En lenke som går ut ubrukt, kan sendes på nytt. - name: Medlemmer og invitasjoner
description: Alle som er invitert inn i en gruppe denne pulten kan fylle, og om de har kommet.
action: /redaktor action: /redaktor
consequence: consequence:
- Bekreft - Bekreft
features: features:
- name: Hvem som er invitert - name: Hvem som er med
description: Hver rad er én invitasjon. Den blir ferdig av seg selv når personen logger inn, og står som utløpt når lenken gikk ut ubrukt. description: 'Hver rad er én person i én gruppe: invitert til de logger inn, så med. Å ta noen ut beholder raden, så de kan inviteres igjen.'
resource: resource:
source: source:
kind: kv kind: kv
bucket: portal_invites bucket: portal_memberships
requires_group: redaktor requires_group: redaktor
transitions: transitions:
- from: open - from: invited
to: done to: removed
label: Er inne label: Trekk tilbake
- from: expired - from: active
to: open to: removed
label: Send på nytt label: Ta ut
- from: expired - from: removed
to: done to: invited
label: Er inne label: Inviter igjen
+74 -34
View File
@@ -84,13 +84,17 @@ alternatives:
group: arrangementer group: arrangementer
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
optional: true
- name: Inviter noen inn i Høringsinstans - name: Inviter noen inn i Høringsinstans
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. 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.
action: /styret action: /styret
@@ -100,13 +104,17 @@ alternatives:
group: horingsinstans group: horingsinstans
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
optional: true
- name: Inviter noen inn i kassereren - name: Inviter noen inn i kassereren
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. 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.
action: /styret action: /styret
@@ -116,13 +124,17 @@ alternatives:
group: kasserer group: kasserer
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
optional: true
- name: Inviter noen inn i komiteene - name: Inviter noen inn i komiteene
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. 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.
action: /styret action: /styret
@@ -132,13 +144,17 @@ alternatives:
group: komiteer group: komiteer
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
optional: true
- name: Inviter noen inn i Leke- og møteplasser - name: Inviter noen inn i Leke- og møteplasser
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. 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.
action: /styret action: /styret
@@ -148,13 +164,17 @@ alternatives:
group: lekeplasser group: lekeplasser
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
optional: true
- name: Legg til en husstand som medlem uten kontingent via siden - name: Legg til en husstand som medlem uten kontingent via siden
description: For en husstand som har betalt på annen måte. De får en konto og plass blant medlemmene, og en engangslenke der de selv velger passord eller passnøkkel. description: For en husstand som har betalt på annen måte. De får en konto og plass blant medlemmene, og en engangslenke der de selv velger passord eller passnøkkel.
action: /styret action: /styret
@@ -164,13 +184,17 @@ alternatives:
group: medlemmer group: medlemmer
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
optional: true
- name: Inviter noen inn i nabohjelpen - name: Inviter noen inn i nabohjelpen
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. 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.
action: /styret action: /styret
@@ -180,13 +204,17 @@ alternatives:
group: nabohjelp group: nabohjelp
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
optional: true
- name: Inviter noen inn som redaktør - name: Inviter noen inn som redaktør
description: De får en konto, plass blant redaktørene, og en engangslenke der de selv velger passord eller passnøkkel. description: De får en konto, plass blant redaktørene, og en engangslenke der de selv velger passord eller passnøkkel.
action: /styret action: /styret
@@ -196,13 +224,17 @@ alternatives:
group: redaktor group: redaktor
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
optional: true
- name: Inviter noen inn i styret - name: Inviter noen inn i styret
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. 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.
action: /styret action: /styret
@@ -212,13 +244,17 @@ alternatives:
group: styret group: styret
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
optional: true
- name: Inviter noen inn i Trafikkforhold - name: Inviter noen inn i Trafikkforhold
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. 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.
action: /styret action: /styret
@@ -228,36 +264,40 @@ alternatives:
group: trafikk group: trafikk
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
- name: Sendte invitasjoner optional: true
description: Hver invitasjon og hvor den står. En lenke som går ut ubrukt, kan sendes på nytt. - name: Medlemmer og invitasjoner
description: Alle som er invitert inn i en gruppe denne pulten kan fylle, og om de har kommet.
action: /styret action: /styret
consequence: consequence:
- Lagre - Lagre
features: features:
- name: Hvem som er invitert - name: Hvem som er med
description: Hver rad er én invitasjon. Den blir ferdig av seg selv når personen logger inn, og står som utløpt når lenken gikk ut ubrukt. description: 'Hver rad er én person i én gruppe: invitert til de logger inn, så med. Å ta noen ut beholder raden, så de kan inviteres igjen.'
resource: resource:
source: source:
kind: kv kind: kv
bucket: portal_invites bucket: portal_memberships
requires_group: styret requires_group: styret
transitions: transitions:
- from: open - from: invited
to: done to: removed
label: Er inne label: Trekk tilbake
- from: expired - from: active
to: open to: removed
label: Send på nytt label: Ta ut
- from: expired - from: removed
to: done to: invited
label: Er inne label: Inviter igjen
- name: Forslag til endringer på siden - name: Forslag til endringer på siden
description: Det de som står som ansvarlige for et spørsmål, har foreslått å endre. De får beskjed når forslaget flyttes. description: Det de som står som ansvarlige for et spørsmål, har foreslått å endre. De får beskjed når forslaget flyttes.
action: /styret action: /styret
+20 -16
View File
@@ -40,33 +40,37 @@ alternatives:
group: trafikk group: trafikk
features: features:
- name: Hvem - name: Hvem
description: Navnet deres, og adressen kontoen og engangslenken går til. description: Navnet og telefonnummeret deres, og e-post om de har. Plassen er der når de logger inn.
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
- name: phone
label: Telefon
type: tel
- name: email - name: email
label: E-post label: E-post (om de har)
type: email type: email
- name: Sendte invitasjoner optional: true
description: Hver invitasjon og hvor den står. En lenke som går ut ubrukt, kan sendes på nytt. - name: Medlemmer og invitasjoner
description: Alle som er invitert inn i en gruppe denne pulten kan fylle, og om de har kommet.
action: /trafikk action: /trafikk
consequence: consequence:
- Lagre - Lagre
features: features:
- name: Hvem som er invitert - name: Hvem som er med
description: Hver rad er én invitasjon. Den blir ferdig av seg selv når personen logger inn, og står som utløpt når lenken gikk ut ubrukt. description: 'Hver rad er én person i én gruppe: invitert til de logger inn, så med. Å ta noen ut beholder raden, så de kan inviteres igjen.'
resource: resource:
source: source:
kind: kv kind: kv
bucket: portal_invites bucket: portal_memberships
requires_group: trafikk requires_group: trafikk
transitions: transitions:
- from: open - from: invited
to: done to: removed
label: Er inne label: Trekk tilbake
- from: expired - from: active
to: open to: removed
label: Send på nytt label: Ta ut
- from: expired - from: removed
to: done to: invited
label: Er inne label: Inviter igjen