diff --git a/assets/css/app.css b/assets/css/app.css index c666366..ae93977 100644 --- a/assets/css/app.css +++ b/assets/css/app.css @@ -3,6 +3,8 @@ @import './phoenix.css'; @import './header.css'; @import './form_modal.css'; +@import './live/form.css'; +@import './pages/privacy.css'; /* Alerts and form errors used by phx.new */ .alert { diff --git a/assets/css/live/form.css b/assets/css/live/form.css new file mode 100644 index 0000000..81a08aa --- /dev/null +++ b/assets/css/live/form.css @@ -0,0 +1,20 @@ +.checkbox-container { + display: flex; + align-items: baseline; +} + +.checkbox { + margin-right: 1rem; +} + +.privacy-checkbox-container { + display: flex; + align-items: baseline; + margin-top: 2rem; + margin-bottom: 1rem; +} + +.privacy-consent-text { + margin-left: 1rem; + font-style: italic; +} diff --git a/assets/css/pages/privacy.css b/assets/css/pages/privacy.css new file mode 100644 index 0000000..36924d6 --- /dev/null +++ b/assets/css/pages/privacy.css @@ -0,0 +1,32 @@ +.privacy-text { + display: flex; + flex-direction: column; + width: 80%; +} + +.privacy-text h2 { + text-align: left; + padding-left: 20px; +} + +.privacy-text p { + max-width: 100% !important; +} + +@media screen and (max-width: 600px) { + .privacy-text { + width: 100%; + } +} + +.disclaimer { + display: flex; + flex-direction: column; + font-size: 0.9em; + align-items: center; + margin-bottom: 20px; +} + +.disclaimer p { + margin-bottom: 0px !important; +} diff --git a/lib/osuuspuutarha_web/controllers/page_controller.ex b/lib/osuuspuutarha_web/controllers/page_controller.ex index de7906a..6c88ee7 100644 --- a/lib/osuuspuutarha_web/controllers/page_controller.ex +++ b/lib/osuuspuutarha_web/controllers/page_controller.ex @@ -4,4 +4,8 @@ defmodule OsuuspuutarhaWeb.PageController do def index(conn, _params) do render(conn, "index.html") end + + def privacy(conn, _params) do + render(conn, "privacy.html") + end end diff --git a/lib/osuuspuutarha_web/live/order_live/form_component.html.heex b/lib/osuuspuutarha_web/live/order_live/form_component.html.heex index e426fd1..b856e7a 100644 --- a/lib/osuuspuutarha_web/live/order_live/form_component.html.heex +++ b/lib/osuuspuutarha_web/live/order_live/form_component.html.heex @@ -1,4 +1,4 @@ -
+

<%= @title %>

<.form @@ -39,6 +39,18 @@ %> <%= error_tag f, :location %> +
+ <%= checkbox f, :is_member, class: "checkbox" %> + <%= label f, :is_member, "Olen jo Livonsaaren Osuuspuutarhan jäsen" %> + <%= error_tag f, :is_member %> +
+ +
+ <%= checkbox f, :split_invoice, class: "checkbox" %> + <%= label f, :split_invoice, "Haluan maksaa laskun kahdessa erässä" %> + <%= error_tag f, :split_invoice %> +
+ <%= label f, :fname, "Etunimi" %> <%= text_input f, :fname %> <%= error_tag f, :fname %> @@ -66,14 +78,17 @@ <%= label f, :email, "Sähköpostiosoite" %> <%= text_input f, :email %> <%= error_tag f, :email %> - - <%= label f, :is_member, "Olen jo Livonsaaren Osuuspuutarhan jäsen" %> - <%= checkbox f, :is_member %> - <%= error_tag f, :is_member %> - - <%= label f, :split_invoice, "Haluan maksaa laskun kahdessa erässä" %> - <%= checkbox f, :split_invoice %> - <%= error_tag f, :split_invoice %> + + <%= if @has_privacy_consent do %> +
+ + +
+ <% end %>
<%= submit @submit_text, phx_disable_with: "Tallennetaan..." %> diff --git a/lib/osuuspuutarha_web/live/order_live/index.html.heex b/lib/osuuspuutarha_web/live/order_live/index.html.heex index d9863f8..873d15f 100644 --- a/lib/osuuspuutarha_web/live/order_live/index.html.heex +++ b/lib/osuuspuutarha_web/live/order_live/index.html.heex @@ -7,6 +7,7 @@ id={@order.id || :new} title={@page_title} submit_text={@submit_text} + has_privacy_consent={false} action={@live_action} order={@order} return_to={Routes.order_index_path(@socket, :index)} diff --git a/lib/osuuspuutarha_web/live/order_live/registration.html.heex b/lib/osuuspuutarha_web/live/order_live/registration.html.heex index e5c3dd7..b6aa738 100644 --- a/lib/osuuspuutarha_web/live/order_live/registration.html.heex +++ b/lib/osuuspuutarha_web/live/order_live/registration.html.heex @@ -7,6 +7,7 @@ id={:new} title={@page_title} submit_text="Lähetä tilaus" + has_privacy_consent={true} action={@live_action} order={@order} return_to={Routes.order_registration_path(@socket, :index)} diff --git a/lib/osuuspuutarha_web/router.ex b/lib/osuuspuutarha_web/router.ex index ed4859a..d269417 100644 --- a/lib/osuuspuutarha_web/router.ex +++ b/lib/osuuspuutarha_web/router.ex @@ -28,6 +28,7 @@ defmodule OsuuspuutarhaWeb.Router do pipe_through :browser get "/", PageController, :index + get "/privacy", PageController, :privacy live "/ilmoittautuminen", OrderLive.Registration, :index live "/ilmoittautuminen/uusi", OrderLive.Registration, :new diff --git a/lib/osuuspuutarha_web/templates/layout/root.html.heex b/lib/osuuspuutarha_web/templates/layout/root.html.heex index 7ed97ac..e51a607 100644 --- a/lib/osuuspuutarha_web/templates/layout/root.html.heex +++ b/lib/osuuspuutarha_web/templates/layout/root.html.heex @@ -1,5 +1,5 @@ - + diff --git a/lib/osuuspuutarha_web/templates/page/privacy.html.eex b/lib/osuuspuutarha_web/templates/page/privacy.html.eex new file mode 100644 index 0000000..1dbdca3 --- /dev/null +++ b/lib/osuuspuutarha_web/templates/page/privacy.html.eex @@ -0,0 +1,96 @@ +

Rekisteri- ja tietosuojaseloste

+
+

+ Tämä on Livonsaaren Osuuspuutarhan EU:n yleisen tietosuoja-asetuksen (GDPR) mukainen rekisteri- ja tietosuojaseloste. Laadittu 19.3.2023. Viimeisin muutos 19.3.2023. +

+ +

1. Rekisterin ylläpitäjä

+

+ Livonsaaren Osuuspuutarha
+ Pohjanpääntie 49
+ 21180 LIVONSAARI
+

+ +

2. Rekisteristä vastaava yhteyshenkilö

+

+ Veikko Lintujärvi
+ veikko@lintujarvi.fi
+ +358 442373706
+

+ +

3. Rekisterin nimi

+

+ Tapahtuman osallistujarekisteri +

+ +

4. Oikeusperuste ja henkilötietojen käsittelyn tarkoitus

+

+ EU:n yleisen tietosuoja-asetuksen mukainen oikeusperuste henkilötietojen käsittelylle on henkilön suostumus (dokumentoitu, vapaaehtoinen, yksilöity, tietoinen ja yksiselitteinen). +

+

+ Henkilötietojen käsittelyn tarkoitus on osallistujille tiedottaminen. +

+

+ Tietoja ei käytetä automatisoituun päätöksentekoon tai profilointiin. +

+ +

5. Rekisterin tietosisältö

+

+ Rekisteriin tallennettavia tietoja ovat: +

    +
  • Yhteystiedot (tilaajan koko nimi, sähköpostiosoite, puhelinnumero, kotiosoite)
  • +
  • Toivottu satolaatikko tilaus tyyppi (jos joka toinen viikko, parilliset vai parittomat viikot)
  • +
  • Toivottu satolaatikon jakopaikka
  • +
  • Tieto siitä onko tilaaja jo Livonsaaren Osuuspuutarhan jäsen
  • +
  • Tieto siitä haluaako tilaaja maksaa tilauksensä yhdessä vai kahdessa erässä
  • +
+

+

+ Nimeä lukuunottamatta yhteystiedot toimitetaan jäsenrekisteriin, jonka jälkeen ne poistetaan. Muut tiedot poistetaan satokauden päätyttyä. +

+ +

6. Säännönmukaiset tietolähteet

+

+ Rekisteriin tallennettavat tiedot saadaan asiakkaalta mm. www-lomakkeilla lähetetyistä viesteistä, sähköpostitse, puhelimitse, + sosiaalisen median palvelujen kautta ja muista tilanteista, joissa asiakas luovuttaa tietojaan. +

+ +

7. Palvelimen sijainti

+

+ Palvelin, jolla henkilötiedot säilötään sijaitsee Tukholmassa Ruotsissa Fly.io-palvelun palvelinkeskuksessa. Palvelimen ylläpidosta + vastaa Fly.io. +

+ +

8. Tietojen luovutukset ja tietojen siirto EU:n tai ETA:n ulkopuolelle

+

+ Tietoja ei luovuteta muille tahoille. Tietoja voidaan julkaista siltä osin kuin niin on sovittu osallistujan kanssa. +

+ +

9. Tarkastusoikeus ja oikeus vaatia tiedon korjaamista

+

+ Jokaisella rekisterissä olevalla henkilöllä on oikeus tarkistaa rekisteriin tallennetut tietonsa ja vaatia mahdollisen virheellisen tiedon + korjaamista tai puutteellisen tiedon täydentämistä. Mikäli henkilö haluaa tarkistaa hänestä tallennetut tiedot tai vaatia niihin oikaisua, + pyyntö tulee lähettää kirjallisesti rekisterinpitäjälle. Rekisterinpitäjä voi pyytää tarvittaessa pyynnön esittäjää todistamaan henkilöllisyytensä. + Rekisterinpitäjä vastaa asiakkaalle EU:n tietosuoja-asetuksessa säädetyssä ajassa (pääsääntöisesti kuukauden kuluessa). +

+ +

10. Muut henkilötietojen käsittelyyn liittyvät oikeudet

+

+ Rekisterissä olevalla henkilöllä on oikeus pyytää häntä koskevien henkilötietojen poistamiseen rekisteristä ("oikeus tulla unohdetuksi"). + Niin ikään rekisteröidyillä on muut + EU:n yleisen tietosuoja-asetuksen mukaiset oikeudet + kuten henkilötietojen käsittelyn rajoittaminen tietyissä tilanteissa. Pyynnöt tulee lähettää kirjallisesti rekisterinpitäjälle. Rekisterinpitäjä + voi pyytää tarvittaessa pyynnön esittäjää todistamaan henkilöllisyytensä. Rekisterinpitäjä vastaa asiakkaalle EU:n tietosuoja-asetuksessa + säädetyssä ajassa (pääsääntöisesti kuukauden kuluessa). +

+
+
+
+

+ Tämä rekisteri- ja tietosuojaseloste on laadittu Harto Pönkän (Innowise) tarjoaman mallin pohjalta. +

+

+ Yllä mainittu teksti julkaistaan seuraavin ehdoin: +

+ CC Attribution License +
\ No newline at end of file