diff --git a/aggregates.yaml b/aggregates.yaml index 590d28b..09aa611 100644 --- a/aggregates.yaml +++ b/aggregates.yaml @@ -142,18 +142,45 @@ aggregates: states: open: event: received - lagt_ut: - event: lagt_ut mail: - to: submitter - subject: Oppslaget er synlig for naboene - body: Oppslaget ditt er lagt ut, og naboene kan nå se det. + to: post@tomtervel.no + subject: 'Nytt oppslag på tavla: {hva}' + body: |- + Et nytt oppslag står på tavla fra nå av. + + {har_eller_trenger}: {hva} + + Det står der til den som la det ut tar det ned, til redaktøren gjør det, eller i en måned. Hører det ikke hjemme, tas det ned her: {site}/redaktor + after: + days: 30 + to: tatt_ned tatt_ned: event: tatt_ned transitions: open: - - lagt_ut - tatt_ned +- bucket: svar + initial: open + states: + open: + event: received + mail: + to: '{oppslag.email}' + subject: En nabo har svart på oppslaget ditt + body: |- + Hei, + + En nabo har svart på oppslaget ditt «{oppslag.hva}». Ta kontakt direkte: {email} + + {hilsen} + + Flere kan svare så lenge oppslaget står; du velger selv hvem du avtaler med. Når det er ordnet, tar du det ned her: + {site}/decide/dele-utstyr?chain={oppslag.id}&email={oppslag.email} + lest: + event: lest + transitions: + open: + - lest - bucket: trafikkmeldinger initial: open states: diff --git a/needs.yaml b/needs.yaml index 1d74b9a..45da519 100644 --- a/needs.yaml +++ b/needs.yaml @@ -201,26 +201,42 @@ needs: trukket: trukket - id: dele-utstyr who: en nabo som har noe å låne ut, eller trenger å låne noe - wants: et oppslag som naboene ser + wants: et oppslag naboene ser med en gang enters: / via: Få hjelp av naboer, eller gi en hånd selv lands_in: oppslag - handled_by: styret + handled_by: redaktor stages: - open - - lagt_ut - tatt_ned done_when: - - lagt_ut - tatt_ned success: - - lagt_ut + - tatt_ned max_steps: 2 max_fields: 4 stage_words: - open: mottatt - lagt_ut: lagt ut + open: ute tatt_ned: tatt ned +- id: melde-seg + who: en nabo som kan låne ut, eller vil låne, det et oppslag gjelder + wants: at den som la ut oppslaget får vite det + enters: /status/oppslag/[key] + via: Si fra til den som la ut oppslaget + lands_in: svar + handled_by: redaktor + stages: + - open + - lest + done_when: + - lest + success: + - lest + max_steps: 1 + max_fields: 2 + stage_words: + open: sendt + lest: lest - id: utlegg who: en i en komité som har lagt ut for noe wants: pengene tilbake diff --git a/questions/index.yaml b/questions/index.yaml index 327e15e..63111e0 100644 --- a/questions/index.yaml +++ b/questions/index.yaml @@ -28,16 +28,20 @@ alternatives: empty: Ingenting er meldt ødelagt akkurat nå. Ser du noe, si fra. jq: 'sort_by(.submitted_ms) | reverse | .[:3] | .[] | .responses |= {hva: .hva, hvor: .hvor}' - name: Oppslagstavla for naboer - description: Utstyr som er til låns, og det naboene leter etter. [Hele oppslagstavla](/status/oppslag) + description: Utstyr som er til låns, og det naboene leter etter. Svar rett fra oppslaget. [Hele oppslagstavla](/status/oppslag) icon: lucide:list resource: source: kind: kv bucket: oppslag public: true - states: [] + states: + - open empty: Tavla er tom nå. Legg gjerne ut det første oppslaget. jq: 'sort_by(.submitted_ms) | reverse | .[:3] | .[] | .responses |= {har_eller_trenger: .har_eller_trenger, hva: .hva}' + link: + to: /status/oppslag/{id} + label: Jeg kan låne ut eller låne denne - name: Farlige steder i trafikken description: Det naboer har meldt fra om, og hva velet har gjort med det. [Alle trafikkmeldinger](/status/trafikkmeldinger) icon: lucide:car diff --git a/questions/naboer/index.yaml b/questions/naboer/index.yaml index 0a9eaab..9c89f62 100644 --- a/questions/naboer/index.yaml +++ b/questions/naboer/index.yaml @@ -94,10 +94,10 @@ alternatives: record_as: oppslag features: - name: Fra oppslag til avtale - description: Oppslaget legges ut for naboene å se. Når det er ordnet eller ikke lenger aktuelt, tas det ned igjen. + description: Oppslaget står på tavla til du tar det ned selv, redaktøren gjør det, eller en måned har gått. icon: lucide:clipboard-list - name: Hvem ser dette - description: Styret legger ut oppslaget og kan nås på post@tomtervel.no i mellomtiden. + description: Alle som åpner tavla, uten navn og e-post. Naboer som kan låne ut, eller vil låne, svarer deg rett på e-post. icon: lucide:users - name: Lån eller utlån requirements: @@ -122,4 +122,4 @@ alternatives: description: Skriv kort hva det gjelder, så folk skjønner det med en gang. icon: lucide:package encouragements: - - Vi legger det ut så naboene kan se det. + - Det står på tavla med en gang. diff --git a/questions/received/dele-utstyr.yaml b/questions/received/dele-utstyr.yaml index 9559abd..eca5272 100644 --- a/questions/received/dele-utstyr.yaml +++ b/questions/received/dele-utstyr.yaml @@ -1,10 +1,10 @@ -name: Hva skjer med det jeg har lagt ut? -description: Takk for at du la ut noe naboene kan låne. Vi legger det ut på oppslaget så snart vi kan. +name: Hva skjer med oppslaget ditt? +description: Det står på tavla nå, uten navn og e-post. Naboer som kan låne ut, eller vil låne, svarer deg på e-post. alternatives: -- name: Styret legger det ut for deg - description: En i styret legger utstyret ut på naboenes oppslag, så andre kan se det og spørre om å låne. -- name: Se alt naboene deler - description: Se hva andre i Tomter har lagt ut til utlån akkurat nå. +- name: Naboene svarer deg direkte + description: Hvert svar kommer som e-post med naboens adresse. Du velger selv hvem du avtaler med, og tar ned oppslaget når det er ordnet; lenken står i e-posten. Spørsmål går til styret på post@tomtervel.no. +- name: Se oppslagstavla + description: Det som står ute akkurat nå. action: /status/oppslag consequence: - - Se hva naboer deler + - Til tavla diff --git a/questions/received/melde-seg.yaml b/questions/received/melde-seg.yaml new file mode 100644 index 0000000..599b878 --- /dev/null +++ b/questions/received/melde-seg.yaml @@ -0,0 +1,5 @@ +name: Hva skjer nå? +description: Svaret ditt er sendt til den som la ut oppslaget. +alternatives: +- name: Den som la ut oppslaget tar kontakt + description: E-posten din gikk rett til dem. Hører du ikke noe, kan det være at noen andre var først ute. Spørsmål går til styret på post@tomtervel.no. diff --git a/questions/redaktor/_section.yaml b/questions/redaktor/_section.yaml new file mode 100644 index 0000000..2439638 --- /dev/null +++ b/questions/redaktor/_section.yaml @@ -0,0 +1 @@ +qualifies: redaktor diff --git a/questions/redaktor/index.yaml b/questions/redaktor/index.yaml new file mode 100644 index 0000000..bb1d965 --- /dev/null +++ b/questions/redaktor/index.yaml @@ -0,0 +1,79 @@ +name: Hva står på oppslagstavla nå? +description: Redaktøren tar ned oppslag som er ordnet eller ikke hører hjemme, og ser svarene som har gått. +responsible: + name: Styret i Tomter Vel + contact: post@tomtervel.no +alternatives: +- name: Oppslag som står ute + description: Det naboene har lagt ut om noe de har eller trenger. + action: /redaktor + consequence: + - Bekreft + features: + - name: Oppslag + description: Hver rad er ett oppslag. Ta det ned når det er ordnet eller ikke hører hjemme. + resource: + source: + kind: kv + bucket: oppslag + requires_group: redaktor + transitions: + - from: open + to: tatt_ned + label: Ta ned oppslaget +- name: Svar som har gått + description: Hvert svar gikk rett til den som la ut oppslaget; her ser du at det skjedde. + action: /redaktor + consequence: + - Bekreft + features: + - name: Svar + description: Hver rad er ett svar, med e-posten til den som svarte. Merk som lest når du har sett det. + resource: + source: + kind: kv + bucket: svar + requires_group: redaktor + transitions: + - from: open + to: lest + label: Lest +- 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. + action: /redaktor + consequence: + - Inviter + invite: + group: redaktor + features: + - name: Hvem + description: Navnet deres, og adressen kontoen og engangslenken går til. + requirements: + - name: name + label: Navn + - name: email + label: E-post + type: email +- name: Sendte invitasjoner + description: Hver invitasjon og hvor den står. En lenke som går ut ubrukt, kan sendes på nytt. + action: /redaktor + consequence: + - Bekreft + features: + - name: Hvem som er invitert + 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. + resource: + source: + kind: kv + bucket: portal_invites + requires_group: redaktor + transitions: + - from: open + to: done + label: Er inne + - from: expired + to: open + label: Send på nytt + - from: expired + to: done + label: Er inne diff --git a/questions/status/oppslag/[key].yaml b/questions/status/oppslag/[key].yaml new file mode 100644 index 0000000..8e43987 --- /dev/null +++ b/questions/status/oppslag/[key].yaml @@ -0,0 +1,38 @@ +name: Vil du låne ut, eller låne, det som står i oppslaget? +description: Du svarer på ett oppslag. Den som la det ut får e-posten din med en gang, og tar kontakt. +responsible: + name: Styret i Tomter Vel + contact: post@tomtervel.no +alternatives: +- name: Si fra til den som la ut oppslaget + description: Legg igjen e-posten din, så får de vite at du kan låne ut, eller vil låne. + action: /received/melde-seg + consequence: + - Send svar + record_as: svar + features: + - name: Hva skjer + description: E-posten din går rett til den som la ut oppslaget. Dere avtaler resten dere imellom. + icon: lucide:mail + - name: Hvem ser dette + description: Den som la ut oppslaget, og redaktøren. + icon: lucide:users + - name: Ditt svar + requirements: + - name: email + label: E-post + type: email + placeholder: ola@eksempel.no + value: '{user.email}' + - name: hilsen + label: En hilsen, om du vil + type: textarea + optional: true + placeholder: Jeg har en stige du kan låne i helga + - name: oppslag + type: record + of: oppslag + value: '{key}' + icon: lucide:package + encouragements: + - Flere kan svare; den som la ut velger selv. diff --git a/questions/status/oppslag/index.yaml b/questions/status/oppslag/index.yaml index dafe397..47add9f 100644 --- a/questions/status/oppslag/index.yaml +++ b/questions/status/oppslag/index.yaml @@ -14,6 +14,10 @@ alternatives: kind: kv bucket: oppslag public: true - states: [] + states: + - open empty: Ingenting her ennå. jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {har_eller_trenger: .har_eller_trenger, hva: .hva}' + link: + to: /status/oppslag/{id} + label: Jeg kan låne ut eller låne denne diff --git a/questions/styret/index.yaml b/questions/styret/index.yaml index 53df10f..33594e4 100644 --- a/questions/styret/index.yaml +++ b/questions/styret/index.yaml @@ -38,26 +38,6 @@ alternatives: - from: open to: avslatt label: Avslå søknaden -- name: Utstyr til utlån blant naboer - description: Her ligger det naboer har å låne ut eller trenger å låne, klart til å legges ut. - action: /styret - consequence: - - Lagre - features: - - name: Oppslag - description: Hver rad er én sak. Knappene fører opp det du nettopp har gjort med den. - resource: - source: - kind: kv - bucket: oppslag - requires_group: styret - transitions: - - from: open - to: lagt_ut - label: Legg ut oppslaget - - from: open - to: tatt_ned - label: Ta ned oppslaget - name: Meldinger om trafikkfarer description: Her samles meldinger om farlige steder i trafikken, klare til å tas videre med kommunen eller veieier. action: /styret @@ -168,6 +148,22 @@ alternatives: - name: email label: E-post type: email +- 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. + action: /styret + consequence: + - Inviter + invite: + group: redaktor + features: + - name: Hvem + description: Navnet deres, og adressen kontoen og engangslenken går til. + requirements: + - name: name + label: Navn + - name: email + label: E-post + type: email - 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. action: /styret