Merge remote-tracking branch 'origin/main' into feature/308-web-form
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing

This commit is contained in:
Simon 2026-03-09 15:40:02 +01:00
commit ad6ef169ac
Signed by: simon
GPG key ID: 40E7A58C4AA1EDB2
16 changed files with 642 additions and 220 deletions

View file

@ -3232,3 +3232,20 @@ msgstr "Standardart: Wird neuen Mitgliedern zugewiesen; pro Mitglied änderbar."
#, elixir-autogen, elixir-format
msgid "Include joining cycle: When active, members pay from their joining cycle; when inactive, from the next full cycle."
msgstr "Beitrittszyklus einbeziehen: Aktiv = Zahlung ab Beitrittszyklus; inaktiv = ab dem nächsten vollen Zyklus."
#: lib/mv_web/live/components/member_filter_component.ex
#, elixir-autogen, elixir-format
msgid "Fee types"
msgstr "Beitragsarten"
#: lib/mv_web/live/components/member_filter_component.ex
#, elixir-autogen, elixir-format
msgid "%{count} filter active"
msgid_plural "%{count} filters active"
msgstr[0] "%{count} Filter aktiv"
msgstr[1] "%{count} Filter aktiv"
#: lib/mv_web/live/components/member_filter_component.ex
#, elixir-autogen, elixir-format
msgid "without %{name}"
msgstr "ohne %{name}"

View file

@ -3232,3 +3232,20 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Include joining cycle: When active, members pay from their joining cycle; when inactive, from the next full cycle."
msgstr ""
#: lib/mv_web/live/components/member_filter_component.ex
#, elixir-autogen, elixir-format
msgid "Fee types"
msgstr ""
#: lib/mv_web/live/components/member_filter_component.ex
#, elixir-autogen, elixir-format
msgid "%{count} filter active"
msgid_plural "%{count} filters active"
msgstr[0] ""
msgstr[1] ""
#: lib/mv_web/live/components/member_filter_component.ex
#, elixir-autogen, elixir-format
msgid "without %{name}"
msgstr ""

View file

@ -3232,3 +3232,20 @@ msgstr "Default type: Assigned to new members; can be changed per member."
#, elixir-autogen, elixir-format
msgid "Include joining cycle: When active, members pay from their joining cycle; when inactive, from the next full cycle."
msgstr "Include joining cycle: When active, members pay from their joining cycle; when inactive, from the next full cycle."
#: lib/mv_web/live/components/member_filter_component.ex
#, elixir-autogen, elixir-format
msgid "Fee types"
msgstr "Fee types"
#: lib/mv_web/live/components/member_filter_component.ex
#, elixir-autogen, elixir-format
msgid "%{count} filter active"
msgid_plural "%{count} filters active"
msgstr[0] "%{count} filter active"
msgstr[1] "%{count} filters active"
#: lib/mv_web/live/components/member_filter_component.ex
#, elixir-autogen, elixir-format
msgid "without %{name}"
msgstr "without %{name}"

View file

@ -5,6 +5,9 @@
# Bootstrap runs in all environments. Dev seeds (members, groups, sample data)
# run only in dev and test.
#
# In production (release): seeds are run via Mv.Release.run_seeds/0 from the
# container entrypoint. Set RUN_DEV_SEEDS=true to also run dev seeds there.
#
# Compiler option ignore_module_conflict is set only during seed evaluation
# so that eval_file of bootstrap/dev does not emit "redefining module" warnings;
# it is always restored in `after` to avoid hiding real conflicts elsewhere.

View file

@ -1,6 +1,15 @@
# Bootstrap seeds: run in all environments (dev, test, prod).
# Creates only data required for system startup: fee types, custom fields,
# roles, admin user, system user, global settings. No members, no groups.
#
# Safe to run from release (no Mix): env is taken from MIX_ENV when Mix.env/0 is not available.
mix_env =
try do
Mix.env()
rescue
UndefinedFunctionError -> (System.get_env("MIX_ENV") || "prod") |> String.to_atom()
end
alias Mv.Accounts
alias Mv.Membership
@ -121,7 +130,7 @@ end
admin_email = System.get_env("ADMIN_EMAIL") || "admin@localhost"
System.put_env("ADMIN_EMAIL", admin_email)
if Mix.env() in [:dev, :test] and is_nil(System.get_env("ADMIN_PASSWORD")) and
if mix_env in [:dev, :test] and is_nil(System.get_env("ADMIN_PASSWORD")) and
is_nil(System.get_env("ADMIN_PASSWORD_FILE")) do
System.put_env("ADMIN_PASSWORD", "testpassword")
end