From 720a43a38ca86fc2b7799045e877c028751d1b7b Mon Sep 17 00:00:00 2001 From: carla Date: Mon, 12 Jan 2026 17:36:15 +0100 Subject: [PATCH] feat: added csv templates --- docs/csv-member-import-v1.md | 20 ++++++++++++++++++++ lib/mv_web.ex | 2 +- priv/static/templates/member_import_de.csv | 2 ++ priv/static/templates/member_import_en.csv | 2 ++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 priv/static/templates/member_import_de.csv create mode 100644 priv/static/templates/member_import_en.csv diff --git a/docs/csv-member-import-v1.md b/docs/csv-member-import-v1.md index 2bdbe69..bc8f99f 100644 --- a/docs/csv-member-import-v1.md +++ b/docs/csv-member-import-v1.md @@ -191,6 +191,26 @@ A **basic CSV member import feature** that allows administrators to upload a CSV - `/templates/member_import_de.csv` - In LiveView, link them using Phoenix static path helpers (e.g. `~p` or `Routes.static_path/2`, depending on Phoenix version). +**Example Usage in LiveView Templates:** + +```heex + +<.link href={~p"/templates/member_import_en.csv"} download> + <%= gettext("Download English Template") %> + + +<.link href={~p"/templates/member_import_de.csv"} download> + <%= gettext("Download German Template") %> + + + +<.link href={Routes.static_path(MvWeb.Endpoint, "/templates/member_import_en.csv")} download> + <%= gettext("Download English Template") %> + +``` + +**Note:** The `templates` directory must be included in `MvWeb.static_paths()` (configured in `lib/mv_web.ex`) for the files to be served. + ### File Limits - **Max file size:** 10 MB diff --git a/lib/mv_web.ex b/lib/mv_web.ex index 8589be1..08a3c23 100644 --- a/lib/mv_web.ex +++ b/lib/mv_web.ex @@ -17,7 +17,7 @@ defmodule MvWeb do those modules here. """ - def static_paths, do: ~w(assets fonts images favicon.ico robots.txt) + def static_paths, do: ~w(assets fonts images favicon.ico robots.txt templates) def router do quote do diff --git a/priv/static/templates/member_import_de.csv b/priv/static/templates/member_import_de.csv new file mode 100644 index 0000000..3bcbeb5 --- /dev/null +++ b/priv/static/templates/member_import_de.csv @@ -0,0 +1,2 @@ +Vorname;Nachname;E-Mail;Straße;PLZ;Stadt +Max;Mustermann;max.mustermann@example.com;Hauptstraße;10115;Berlin diff --git a/priv/static/templates/member_import_en.csv b/priv/static/templates/member_import_en.csv new file mode 100644 index 0000000..d4e67f3 --- /dev/null +++ b/priv/static/templates/member_import_en.csv @@ -0,0 +1,2 @@ +first_name;last_name;email;street;postal_code;city +John;Doe;john.doe@example.com;Main Street;12345;Berlin