Fix postgres errors when running tests
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Rafael Epplée 2025-12-03 10:41:40 +01:00 committed by Moritz
parent aaea6a01e2
commit dfff2486b5
Signed by: moritz
GPG key ID: 1020A035E5DD0824
7 changed files with 242 additions and 242 deletions

View file

@ -45,3 +45,6 @@ config :mv, :token_signing_secret, "test_secret_key_for_ash_authentication_token
config :mv, :session_identifier, :unsafe
config :mv, :require_token_presence_for_authentication, false
# Enable SQL Sandbox for async LiveView tests
config :mv, :sql_sandbox, true

View file

@ -39,6 +39,11 @@ defmodule MvWeb.Endpoint do
plug Phoenix.Ecto.CheckRepoStatus, otp_app: :mv
end
# Enable Ecto SQL Sandbox in test environment for async tests
if Application.compile_env(:mv, :sql_sandbox) do
plug Phoenix.Ecto.SQL.Sandbox
end
plug Phoenix.LiveDashboard.RequestLogger,
param_key: "request_logger",
cookie_key: "request_logger"

View file

@ -10,14 +10,14 @@ msgid ""
msgstr ""
"Language: en\n"
#: lib/mv_web/components/core_components.ex:386
#: lib/mv_web/components/core_components.ex:387
#: lib/mv_web/live/contribution_period_live/show.ex:141
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr "Aktionen"
#: lib/mv_web/live/member_live/index.html.heex:248
#: lib/mv_web/live/user_live/index.html.heex:72
#: lib/mv_web/live/user_live/index.html.heex:71
#, elixir-autogen, elixir-format
msgid "Are you sure?"
msgstr "Bist du sicher?"
@ -30,28 +30,28 @@ msgstr "Verbindung wird wiederhergestellt"
#: lib/mv_web/live/member_live/form.ex:53
#: lib/mv_web/live/member_live/index.html.heex:184
#: lib/mv_web/live/member_live/show.ex:58
#: lib/mv_web/live/member_live/show.ex:59
#, elixir-autogen, elixir-format
msgid "City"
msgstr "Stadt"
#: lib/mv_web/live/contribution_type_live/index.ex:78
#: lib/mv_web/live/member_live/index.html.heex:250
#: lib/mv_web/live/user_live/index.html.heex:74
#: lib/mv_web/live/user_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Delete"
msgstr "Löschen"
#: lib/mv_web/live/contribution_type_live/index.ex:66
#: lib/mv_web/live/member_live/index.html.heex:242
#: lib/mv_web/live/user_live/form.ex:265
#: lib/mv_web/live/user_live/index.html.heex:66
#: lib/mv_web/live/user_live/form.ex:267
#: lib/mv_web/live/user_live/index.html.heex:65
#, elixir-autogen, elixir-format
msgid "Edit"
msgstr "Bearbeiten"
#: lib/mv_web/live/member_live/show.ex:41
#: lib/mv_web/live/member_live/show.ex:116
#: lib/mv_web/live/member_live/show.ex:42
#: lib/mv_web/live/member_live/show.ex:114
#, elixir-autogen, elixir-format
msgid "Edit Member"
msgstr "Mitglied bearbeiten"
@ -59,29 +59,29 @@ msgstr "Mitglied bearbeiten"
#: lib/mv_web/live/contribution_period_live/show.ex:58
#: lib/mv_web/live/member_live/form.ex:47
#: lib/mv_web/live/member_live/index.html.heex:112
#: lib/mv_web/live/member_live/show.ex:50
#: lib/mv_web/live/member_live/show.ex:51
#: lib/mv_web/live/user_live/form.ex:46
#: lib/mv_web/live/user_live/index.html.heex:44
#: lib/mv_web/live/user_live/show.ex:50
#: lib/mv_web/live/user_live/show.ex:49
#, elixir-autogen, elixir-format
msgid "Email"
msgstr "E-Mail"
#: lib/mv_web/live/member_live/form.ex:45
#: lib/mv_web/live/member_live/show.ex:48
#: lib/mv_web/live/member_live/show.ex:49
#, elixir-autogen, elixir-format
msgid "First Name"
msgstr "Vorname"
#: lib/mv_web/live/member_live/form.ex:50
#: lib/mv_web/live/member_live/index.html.heex:220
#: lib/mv_web/live/member_live/show.ex:55
#: lib/mv_web/live/member_live/show.ex:56
#, elixir-autogen, elixir-format
msgid "Join Date"
msgstr "Beitrittsdatum"
#: lib/mv_web/live/member_live/form.ex:46
#: lib/mv_web/live/member_live/show.ex:49
#: lib/mv_web/live/member_live/show.ex:50
#, elixir-autogen, elixir-format
msgid "Last Name"
msgstr "Nachname"
@ -92,7 +92,7 @@ msgid "New Member"
msgstr "Neues Mitglied"
#: lib/mv_web/live/member_live/index.html.heex:239
#: lib/mv_web/live/user_live/index.html.heex:63
#: lib/mv_web/live/user_live/index.html.heex:62
#, elixir-autogen, elixir-format
msgid "Show"
msgstr "Anzeigen"
@ -113,21 +113,21 @@ msgid "close"
msgstr "schließen"
#: lib/mv_web/live/member_live/form.ex:51
#: lib/mv_web/live/member_live/show.ex:56
#: lib/mv_web/live/member_live/show.ex:57
#, elixir-autogen, elixir-format
msgid "Exit Date"
msgstr "Austrittsdatum"
#: lib/mv_web/live/member_live/form.ex:55
#: lib/mv_web/live/member_live/index.html.heex:148
#: lib/mv_web/live/member_live/show.ex:60
#: lib/mv_web/live/member_live/show.ex:61
#, elixir-autogen, elixir-format
msgid "House Number"
msgstr "Hausnummer"
#: lib/mv_web/live/contribution_period_live/show.ex:140
#: lib/mv_web/live/member_live/form.ex:52
#: lib/mv_web/live/member_live/show.ex:57
#: lib/mv_web/live/member_live/show.ex:58
#, elixir-autogen, elixir-format
msgid "Notes"
msgstr "Notizen"
@ -135,24 +135,24 @@ msgstr "Notizen"
#: lib/mv_web/live/components/payment_filter_component.ex:94
#: lib/mv_web/live/components/payment_filter_component.ex:144
#: lib/mv_web/live/contribution_period_live/show.ex:186
#: lib/mv_web/live/contribution_period_live/show.ex:242
#: lib/mv_web/live/contribution_period_live/show.ex:241
#: lib/mv_web/live/member_live/form.ex:48
#: lib/mv_web/live/member_live/index.html.heex:229
#: lib/mv_web/live/member_live/show.ex:51
#: lib/mv_web/live/member_live/show.ex:52
#, elixir-autogen, elixir-format
msgid "Paid"
msgstr "Bezahlt"
#: lib/mv_web/live/member_live/form.ex:49
#: lib/mv_web/live/member_live/index.html.heex:202
#: lib/mv_web/live/member_live/show.ex:54
#: lib/mv_web/live/member_live/show.ex:55
#, elixir-autogen, elixir-format
msgid "Phone Number"
msgstr "Telefonnummer"
#: lib/mv_web/live/member_live/form.ex:56
#: lib/mv_web/live/member_live/index.html.heex:166
#: lib/mv_web/live/member_live/show.ex:61
#: lib/mv_web/live/member_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Postal Code"
msgstr "Postleitzahl"
@ -166,43 +166,43 @@ msgstr "Mitglied speichern"
#: lib/mv_web/live/custom_field_value_live/form.ex:74
#: lib/mv_web/live/global_settings_live.ex:55
#: lib/mv_web/live/member_live/form.ex:78
#: lib/mv_web/live/user_live/form.ex:248
#: lib/mv_web/live/user_live/form.ex:249
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr "Speichern..."
#: lib/mv_web/live/member_live/form.ex:54
#: lib/mv_web/live/member_live/index.html.heex:130
#: lib/mv_web/live/member_live/show.ex:59
#: lib/mv_web/live/member_live/show.ex:60
#, elixir-autogen, elixir-format
msgid "Street"
msgstr "Straße"
#: lib/mv_web/live/member_live/show.ex:47
#: lib/mv_web/live/member_live/show.ex:48
#, elixir-autogen, elixir-format
msgid "Id"
msgstr "ID"
#: lib/mv_web/live/member_live/index.html.heex:234
#: lib/mv_web/live/member_live/index/formatter.ex:61
#: lib/mv_web/live/member_live/show.ex:52
#: lib/mv_web/live/member_live/index/formatter.ex:62
#: lib/mv_web/live/member_live/show.ex:53
#, elixir-autogen, elixir-format
msgid "No"
msgstr "Nein"
#: lib/mv_web/live/member_live/show.ex:115
#: lib/mv_web/live/member_live/show.ex:113
#, elixir-autogen, elixir-format, fuzzy
msgid "Show Member"
msgstr "Mitglied anzeigen"
#: lib/mv_web/live/member_live/show.ex:33
#: lib/mv_web/live/member_live/show.ex:34
#, elixir-autogen, elixir-format
msgid "This is a member record from your database."
msgstr "Dies ist ein Mitglied aus deiner Datenbank."
#: lib/mv_web/live/member_live/index.html.heex:234
#: lib/mv_web/live/member_live/index/formatter.ex:60
#: lib/mv_web/live/member_live/show.ex:52
#: lib/mv_web/live/member_live/index/formatter.ex:61
#: lib/mv_web/live/member_live/show.ex:53
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Ja"
@ -260,7 +260,7 @@ msgstr "Ihr Passwort wurde erfolgreich zurückgesetzt"
#: lib/mv_web/live/custom_field_live/index.ex:120
#: lib/mv_web/live/custom_field_value_live/form.ex:77
#: lib/mv_web/live/member_live/form.ex:81
#: lib/mv_web/live/user_live/form.ex:251
#: lib/mv_web/live/user_live/form.ex:252
#, elixir-autogen, elixir-format
msgid "Cancel"
msgstr "Abbrechen"
@ -280,16 +280,11 @@ msgstr "Beschreibung"
msgid "Edit User"
msgstr "Benutzer*in bearbeiten"
#: lib/mv_web/live/user_live/show.ex:53
#: lib/mv_web/live/user_live/show.ex:51
#, elixir-autogen, elixir-format
msgid "Enabled"
msgstr "Aktiviert"
#: lib/mv_web/live/user_live/show.ex:49
#, elixir-autogen, elixir-format
msgid "ID"
msgstr "ID"
#: lib/mv_web/live/custom_field_live/form.ex:62
#, elixir-autogen, elixir-format
msgid "Immutable"
@ -313,7 +308,7 @@ msgstr "Mitglied"
#: lib/mv_web/components/layouts/navbar.ex:25
#: lib/mv_web/live/contribution_type_live/index.ex:61
#: lib/mv_web/live/member_live/index.ex:73
#: lib/mv_web/live/member_live/index.ex:74
#: lib/mv_web/live/member_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Members"
@ -330,16 +325,11 @@ msgstr "Name"
msgid "New User"
msgstr "Neue*r Benutzer*in"
#: lib/mv_web/live/user_live/show.ex:53
#: lib/mv_web/live/user_live/show.ex:51
#, elixir-autogen, elixir-format
msgid "Not enabled"
msgstr "Nicht aktiviert"
#: lib/mv_web/live/user_live/show.ex:51
#, elixir-autogen, elixir-format
msgid "Not set"
msgstr "Nicht gesetzt"
#: lib/mv_web/live/contribution_period_live/show.ex:207
#: lib/mv_web/live/user_live/form.ex:107
#: lib/mv_web/live/user_live/form.ex:115
@ -348,13 +338,7 @@ msgstr "Nicht gesetzt"
msgid "Note"
msgstr "Hinweis"
#: lib/mv_web/live/user_live/index.html.heex:52
#: lib/mv_web/live/user_live/show.ex:51
#, elixir-autogen, elixir-format
msgid "OIDC ID"
msgstr "OIDC ID"
#: lib/mv_web/live/user_live/show.ex:52
#: lib/mv_web/live/user_live/show.ex:50
#, elixir-autogen, elixir-format
msgid "Password Authentication"
msgstr "Passwort-Authentifizierung"
@ -384,12 +368,12 @@ msgstr "Mitglied auswählen"
msgid "Settings"
msgstr "Einstellungen"
#: lib/mv_web/live/user_live/form.ex:249
#: lib/mv_web/live/user_live/form.ex:250
#, elixir-autogen, elixir-format
msgid "Save User"
msgstr "Benutzer*in speichern"
#: lib/mv_web/live/user_live/show.ex:79
#: lib/mv_web/live/user_live/show.ex:77
#, elixir-autogen, elixir-format
msgid "Show User"
msgstr "Benutzer*in anzeigen"
@ -409,7 +393,7 @@ msgstr "Nicht unterstützter Wertetyp: %{type}"
msgid "Use this form to manage user records in your database."
msgstr "Verwenden Sie dieses Formular, um Benutzer*innen-Datensätze zu verwalten."
#: lib/mv_web/live/user_live/form.ex:266
#: lib/mv_web/live/user_live/form.ex:268
#: lib/mv_web/live/user_live/show.ex:34
#, elixir-autogen, elixir-format
msgid "User"
@ -437,7 +421,7 @@ msgstr "aufsteigend"
msgid "descending"
msgstr "absteigend"
#: lib/mv_web/live/user_live/form.ex:265
#: lib/mv_web/live/user_live/form.ex:267
#, elixir-autogen, elixir-format
msgid "New"
msgstr "Neue*r"
@ -513,30 +497,30 @@ msgid "User will be created without a password. Check 'Set Password' to add one.
msgstr "Benutzer*in wird ohne Passwort erstellt. Aktivieren Sie 'Passwort setzen', um eines hinzuzufügen."
#: lib/mv_web/live/user_live/form.ex:126
#: lib/mv_web/live/user_live/index.html.heex:53
#: lib/mv_web/live/user_live/show.ex:55
#: lib/mv_web/live/user_live/index.html.heex:52
#: lib/mv_web/live/user_live/show.ex:53
#, elixir-autogen, elixir-format
msgid "Linked Member"
msgstr "Verknüpftes Mitglied"
#: lib/mv_web/live/member_live/show.ex:62
#: lib/mv_web/live/member_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "Linked User"
msgstr "Verknüpfte*r Benutzer*in"
#: lib/mv_web/live/user_live/index.html.heex:57
#: lib/mv_web/live/user_live/show.ex:65
#: lib/mv_web/live/user_live/index.html.heex:56
#: lib/mv_web/live/user_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "No member linked"
msgstr "Kein Mitglied verknüpft"
#: lib/mv_web/live/member_live/show.ex:72
#: lib/mv_web/live/member_live/show.ex:73
#, elixir-autogen, elixir-format
msgid "No user linked"
msgstr "Keine*r Benutzer*in verknüpft"
#: lib/mv_web/live/member_live/show.ex:36
#: lib/mv_web/live/member_live/show.ex:38
#: lib/mv_web/live/member_live/show.ex:37
#: lib/mv_web/live/member_live/show.ex:39
#, elixir-autogen, elixir-format
msgid "Back to members list"
msgstr "Zurück zur Mitgliederliste"
@ -618,7 +602,7 @@ msgid "Choose a custom field"
msgstr "Wähle ein Benutzerdefiniertes Feld"
#: lib/mv_web/live/member_live/form.ex:58
#: lib/mv_web/live/member_live/show.ex:77
#: lib/mv_web/live/member_live/show.ex:78
#, elixir-autogen, elixir-format
msgid "Custom Field Values"
msgstr "Benutzerdefinierte Feldwerte"
@ -747,7 +731,7 @@ msgstr "Ein Mitglied mit dieser E-Mail-Adresse existiert bereits. Um mit einem a
msgid "Available members"
msgstr "Verfügbare Mitglieder"
#: lib/mv_web/live/user_live/form.ex:357
#: lib/mv_web/live/user_live/form.ex:359
#, elixir-autogen, elixir-format
msgid "Failed to link member: %{error}"
msgstr "Fehler beim Verlinken des Mitglieds: %{error}"
@ -787,7 +771,7 @@ msgstr "Mitglied entverknüpfen"
msgid "Unlinking scheduled"
msgstr "Entverknüpfung geplant"
#: lib/mv_web/live/member_live/index.ex:159
#: lib/mv_web/live/member_live/index.ex:160
#, elixir-autogen, elixir-format
msgid "Copied %{count} email address to clipboard"
msgid_plural "Copied %{count} email addresses to clipboard"
@ -804,12 +788,12 @@ msgstr "E-Mail-Adressen der ausgewählten Mitglieder kopieren"
msgid "Copy emails"
msgstr "E-Mails kopieren"
#: lib/mv_web/live/member_live/index.ex:148
#: lib/mv_web/live/member_live/index.ex:149
#, elixir-autogen, elixir-format
msgid "No email addresses found"
msgstr "Keine E-Mail-Adressen gefunden"
#: lib/mv_web/live/member_live/index.ex:145
#: lib/mv_web/live/member_live/index.ex:146
#, elixir-autogen, elixir-format
msgid "No members selected"
msgstr "Keine Mitglieder ausgewählt"
@ -824,7 +808,7 @@ msgstr "E-Mail-Programm mit BCC-Empfänger*innen öffnen"
msgid "Open in email program"
msgstr "Im E-Mail-Programm öffnen"
#: lib/mv_web/live/member_live/index.ex:168
#: lib/mv_web/live/member_live/index.ex:169
#, elixir-autogen, elixir-format
msgid "Tip: Paste email addresses into the BCC field for privacy compliance"
msgstr "Tipp: E-Mail-Adressen ins BCC-Feld einfügen für Datenschutzkonformität"
@ -997,7 +981,7 @@ msgstr "Generierte Beiträge"
msgid "Global Settings"
msgstr "Globale Einstellungen"
#: lib/mv_web/live/contribution_period_live/show.ex:344
#: lib/mv_web/live/contribution_period_live/show.ex:343
#: lib/mv_web/live/contribution_settings_live.ex:275
#: lib/mv_web/live/contribution_type_live/index.ex:203
#, elixir-autogen, elixir-format
@ -1032,7 +1016,7 @@ msgstr "Intervall"
msgid "Joining date"
msgstr "Eintrittsdatum"
#: lib/mv_web/live/contribution_period_live/show.ex:332
#: lib/mv_web/live/contribution_period_live/show.ex:331
#, elixir-autogen, elixir-format
msgid "Joining year - reduced to 0"
msgstr "Eintrittsjahr - auf 0 reduziert"
@ -1092,7 +1076,7 @@ msgstr "Mitglied seit"
msgid "Members can only switch between contribution types with the same payment interval (e.g., yearly to yearly). This prevents complex period overlaps."
msgstr "Mitglieder können nur zwischen Beitragsarten mit demselben Zahlungsintervall wechseln (z.B. jährlich zu jährlich). Dies verhindert komplexe Periodenüberschneidungen."
#: lib/mv_web/live/contribution_period_live/show.ex:342
#: lib/mv_web/live/contribution_period_live/show.ex:341
#: lib/mv_web/live/contribution_settings_live.ex:273
#: lib/mv_web/live/contribution_type_live/index.ex:201
#, elixir-autogen, elixir-format
@ -1134,19 +1118,19 @@ msgstr "Nur möglich, wenn keine Mitglieder dieser Art zugewiesen sind."
msgid "Open Contributions"
msgstr "Offene Beiträge"
#: lib/mv_web/live/contribution_period_live/show.ex:302
#: lib/mv_web/live/contribution_period_live/show.ex:301
#, elixir-autogen, elixir-format
msgid "Paid via bank transfer"
msgstr "Per Überweisung bezahlt"
#: lib/mv_web/live/contribution_period_live/show.ex:226
#: lib/mv_web/live/contribution_period_live/show.ex:225
#: lib/mv_web/live/contribution_settings_live.ex:197
#: lib/mv_web/live/contribution_type_live/index.ex:97
#, elixir-autogen, elixir-format
msgid "Preview Mockup"
msgstr "Vorschau"
#: lib/mv_web/live/contribution_period_live/show.ex:343
#: lib/mv_web/live/contribution_period_live/show.ex:342
#: lib/mv_web/live/contribution_settings_live.ex:274
#: lib/mv_web/live/contribution_type_live/index.ex:202
#, elixir-autogen, elixir-format
@ -1175,7 +1159,7 @@ msgstr "Ermäßigt"
msgid "Reduced fee for unemployed, pensioners, or low income"
msgstr "Ermäßigter Beitrag für Arbeitslose, Rentner*innen oder Geringverdienende"
#: lib/mv_web/live/contribution_period_live/show.ex:276
#: lib/mv_web/live/contribution_period_live/show.ex:275
#: lib/mv_web/live/contribution_settings_live.ex:244
#: lib/mv_web/live/contribution_type_live/index.ex:148
#, elixir-autogen, elixir-format
@ -1218,7 +1202,7 @@ msgstr "Fördermitglied"
msgid "Suspend"
msgstr "Aussetzen"
#: lib/mv_web/live/contribution_period_live/show.ex:260
#: lib/mv_web/live/contribution_period_live/show.ex:259
#, elixir-autogen, elixir-format
msgid "Suspended"
msgstr "Ausgesetzt"
@ -1228,7 +1212,7 @@ msgstr "Ausgesetzt"
msgid "This contribution type is automatically assigned to all new members. Can be changed individually per member."
msgstr "Diese Beitragsart wird automatisch allen neuen Mitgliedern zugewiesen. Kann pro Mitglied individuell geändert werden."
#: lib/mv_web/live/contribution_period_live/show.ex:228
#: lib/mv_web/live/contribution_period_live/show.ex:227
#: lib/mv_web/live/contribution_settings_live.ex:199
#: lib/mv_web/live/contribution_type_live/index.ex:99
#, elixir-autogen, elixir-format
@ -1245,7 +1229,7 @@ msgstr "Zeitraum"
msgid "Total Contributions"
msgstr "Beiträge gesamt"
#: lib/mv_web/live/contribution_period_live/show.ex:251
#: lib/mv_web/live/contribution_period_live/show.ex:250
#, elixir-autogen, elixir-format
msgid "Unpaid"
msgstr "Unbezahlt"
@ -1273,7 +1257,7 @@ msgstr "Warum werden nicht alle Beitragsarten angezeigt?"
#: lib/mv_web/live/contribution_period_live/show.ex:85
#: lib/mv_web/live/contribution_period_live/show.ex:86
#: lib/mv_web/live/contribution_period_live/show.ex:87
#: lib/mv_web/live/contribution_period_live/show.ex:345
#: lib/mv_web/live/contribution_period_live/show.ex:344
#: lib/mv_web/live/contribution_settings_live.ex:276
#: lib/mv_web/live/contribution_type_live/index.ex:204
#, elixir-autogen, elixir-format
@ -1295,3 +1279,19 @@ msgstr "Jährliches Intervall - Eintrittsperiode eingeschlossen"
#~ #, elixir-autogen, elixir-format
#~ msgid "Birth Date"
#~ msgstr "Geburtsdatum"
#~ #: lib/mv_web/live/user_live/show.ex:49
#~ #, elixir-autogen, elixir-format
#~ msgid "ID"
#~ msgstr "ID"
#~ #: lib/mv_web/live/user_live/show.ex:51
#~ #, elixir-autogen, elixir-format
#~ msgid "Not set"
#~ msgstr "Nicht gesetzt"
#~ #: lib/mv_web/live/user_live/index.html.heex:52
#~ #: lib/mv_web/live/user_live/show.ex:51
#~ #, elixir-autogen, elixir-format
#~ msgid "OIDC ID"
#~ msgstr "OIDC ID"

View file

@ -11,14 +11,14 @@
msgid ""
msgstr ""
#: lib/mv_web/components/core_components.ex:386
#: lib/mv_web/components/core_components.ex:387
#: lib/mv_web/live/contribution_period_live/show.ex:141
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:248
#: lib/mv_web/live/user_live/index.html.heex:72
#: lib/mv_web/live/user_live/index.html.heex:71
#, elixir-autogen, elixir-format
msgid "Are you sure?"
msgstr ""
@ -31,28 +31,28 @@ msgstr ""
#: lib/mv_web/live/member_live/form.ex:53
#: lib/mv_web/live/member_live/index.html.heex:184
#: lib/mv_web/live/member_live/show.ex:58
#: lib/mv_web/live/member_live/show.ex:59
#, elixir-autogen, elixir-format
msgid "City"
msgstr ""
#: lib/mv_web/live/contribution_type_live/index.ex:78
#: lib/mv_web/live/member_live/index.html.heex:250
#: lib/mv_web/live/user_live/index.html.heex:74
#: lib/mv_web/live/user_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Delete"
msgstr ""
#: lib/mv_web/live/contribution_type_live/index.ex:66
#: lib/mv_web/live/member_live/index.html.heex:242
#: lib/mv_web/live/user_live/form.ex:265
#: lib/mv_web/live/user_live/index.html.heex:66
#: lib/mv_web/live/user_live/form.ex:267
#: lib/mv_web/live/user_live/index.html.heex:65
#, elixir-autogen, elixir-format
msgid "Edit"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:41
#: lib/mv_web/live/member_live/show.ex:116
#: lib/mv_web/live/member_live/show.ex:42
#: lib/mv_web/live/member_live/show.ex:114
#, elixir-autogen, elixir-format
msgid "Edit Member"
msgstr ""
@ -60,29 +60,29 @@ msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:58
#: lib/mv_web/live/member_live/form.ex:47
#: lib/mv_web/live/member_live/index.html.heex:112
#: lib/mv_web/live/member_live/show.ex:50
#: lib/mv_web/live/member_live/show.ex:51
#: lib/mv_web/live/user_live/form.ex:46
#: lib/mv_web/live/user_live/index.html.heex:44
#: lib/mv_web/live/user_live/show.ex:50
#: lib/mv_web/live/user_live/show.ex:49
#, elixir-autogen, elixir-format
msgid "Email"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:45
#: lib/mv_web/live/member_live/show.ex:48
#: lib/mv_web/live/member_live/show.ex:49
#, elixir-autogen, elixir-format
msgid "First Name"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:50
#: lib/mv_web/live/member_live/index.html.heex:220
#: lib/mv_web/live/member_live/show.ex:55
#: lib/mv_web/live/member_live/show.ex:56
#, elixir-autogen, elixir-format
msgid "Join Date"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:46
#: lib/mv_web/live/member_live/show.ex:49
#: lib/mv_web/live/member_live/show.ex:50
#, elixir-autogen, elixir-format
msgid "Last Name"
msgstr ""
@ -93,7 +93,7 @@ msgid "New Member"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:239
#: lib/mv_web/live/user_live/index.html.heex:63
#: lib/mv_web/live/user_live/index.html.heex:62
#, elixir-autogen, elixir-format
msgid "Show"
msgstr ""
@ -114,21 +114,21 @@ msgid "close"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:51
#: lib/mv_web/live/member_live/show.ex:56
#: lib/mv_web/live/member_live/show.ex:57
#, elixir-autogen, elixir-format
msgid "Exit Date"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:55
#: lib/mv_web/live/member_live/index.html.heex:148
#: lib/mv_web/live/member_live/show.ex:60
#: lib/mv_web/live/member_live/show.ex:61
#, elixir-autogen, elixir-format
msgid "House Number"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:140
#: lib/mv_web/live/member_live/form.ex:52
#: lib/mv_web/live/member_live/show.ex:57
#: lib/mv_web/live/member_live/show.ex:58
#, elixir-autogen, elixir-format
msgid "Notes"
msgstr ""
@ -136,24 +136,24 @@ msgstr ""
#: lib/mv_web/live/components/payment_filter_component.ex:94
#: lib/mv_web/live/components/payment_filter_component.ex:144
#: lib/mv_web/live/contribution_period_live/show.ex:186
#: lib/mv_web/live/contribution_period_live/show.ex:242
#: lib/mv_web/live/contribution_period_live/show.ex:241
#: lib/mv_web/live/member_live/form.ex:48
#: lib/mv_web/live/member_live/index.html.heex:229
#: lib/mv_web/live/member_live/show.ex:51
#: lib/mv_web/live/member_live/show.ex:52
#, elixir-autogen, elixir-format
msgid "Paid"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:49
#: lib/mv_web/live/member_live/index.html.heex:202
#: lib/mv_web/live/member_live/show.ex:54
#: lib/mv_web/live/member_live/show.ex:55
#, elixir-autogen, elixir-format
msgid "Phone Number"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:56
#: lib/mv_web/live/member_live/index.html.heex:166
#: lib/mv_web/live/member_live/show.ex:61
#: lib/mv_web/live/member_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Postal Code"
msgstr ""
@ -167,43 +167,43 @@ msgstr ""
#: lib/mv_web/live/custom_field_value_live/form.ex:74
#: lib/mv_web/live/global_settings_live.ex:55
#: lib/mv_web/live/member_live/form.ex:78
#: lib/mv_web/live/user_live/form.ex:248
#: lib/mv_web/live/user_live/form.ex:249
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr ""
#: lib/mv_web/live/member_live/form.ex:54
#: lib/mv_web/live/member_live/index.html.heex:130
#: lib/mv_web/live/member_live/show.ex:59
#: lib/mv_web/live/member_live/show.ex:60
#, elixir-autogen, elixir-format
msgid "Street"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:47
#: lib/mv_web/live/member_live/show.ex:48
#, elixir-autogen, elixir-format
msgid "Id"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:234
#: lib/mv_web/live/member_live/index/formatter.ex:61
#: lib/mv_web/live/member_live/show.ex:52
#: lib/mv_web/live/member_live/index/formatter.ex:62
#: lib/mv_web/live/member_live/show.ex:53
#, elixir-autogen, elixir-format
msgid "No"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:115
#: lib/mv_web/live/member_live/show.ex:113
#, elixir-autogen, elixir-format
msgid "Show Member"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:33
#: lib/mv_web/live/member_live/show.ex:34
#, elixir-autogen, elixir-format
msgid "This is a member record from your database."
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:234
#: lib/mv_web/live/member_live/index/formatter.ex:60
#: lib/mv_web/live/member_live/show.ex:52
#: lib/mv_web/live/member_live/index/formatter.ex:61
#: lib/mv_web/live/member_live/show.ex:53
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr ""
@ -261,7 +261,7 @@ msgstr ""
#: lib/mv_web/live/custom_field_live/index.ex:120
#: lib/mv_web/live/custom_field_value_live/form.ex:77
#: lib/mv_web/live/member_live/form.ex:81
#: lib/mv_web/live/user_live/form.ex:251
#: lib/mv_web/live/user_live/form.ex:252
#, elixir-autogen, elixir-format
msgid "Cancel"
msgstr ""
@ -281,16 +281,11 @@ msgstr ""
msgid "Edit User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:53
#: lib/mv_web/live/user_live/show.ex:51
#, elixir-autogen, elixir-format
msgid "Enabled"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:49
#, elixir-autogen, elixir-format
msgid "ID"
msgstr ""
#: lib/mv_web/live/custom_field_live/form.ex:62
#, elixir-autogen, elixir-format
msgid "Immutable"
@ -314,7 +309,7 @@ msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:25
#: lib/mv_web/live/contribution_type_live/index.ex:61
#: lib/mv_web/live/member_live/index.ex:73
#: lib/mv_web/live/member_live/index.ex:74
#: lib/mv_web/live/member_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Members"
@ -331,14 +326,9 @@ msgstr ""
msgid "New User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:53
#, elixir-autogen, elixir-format
msgid "Not enabled"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:51
#, elixir-autogen, elixir-format
msgid "Not set"
msgid "Not enabled"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:207
@ -349,13 +339,7 @@ msgstr ""
msgid "Note"
msgstr ""
#: lib/mv_web/live/user_live/index.html.heex:52
#: lib/mv_web/live/user_live/show.ex:51
#, elixir-autogen, elixir-format
msgid "OIDC ID"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:52
#: lib/mv_web/live/user_live/show.ex:50
#, elixir-autogen, elixir-format
msgid "Password Authentication"
msgstr ""
@ -385,12 +369,12 @@ msgstr ""
msgid "Settings"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:249
#: lib/mv_web/live/user_live/form.ex:250
#, elixir-autogen, elixir-format
msgid "Save User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:79
#: lib/mv_web/live/user_live/show.ex:77
#, elixir-autogen, elixir-format
msgid "Show User"
msgstr ""
@ -410,7 +394,7 @@ msgstr ""
msgid "Use this form to manage user records in your database."
msgstr ""
#: lib/mv_web/live/user_live/form.ex:266
#: lib/mv_web/live/user_live/form.ex:268
#: lib/mv_web/live/user_live/show.ex:34
#, elixir-autogen, elixir-format
msgid "User"
@ -438,7 +422,7 @@ msgstr ""
msgid "descending"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:265
#: lib/mv_web/live/user_live/form.ex:267
#, elixir-autogen, elixir-format
msgid "New"
msgstr ""
@ -514,30 +498,30 @@ msgid "User will be created without a password. Check 'Set Password' to add one.
msgstr ""
#: lib/mv_web/live/user_live/form.ex:126
#: lib/mv_web/live/user_live/index.html.heex:53
#: lib/mv_web/live/user_live/show.ex:55
#: lib/mv_web/live/user_live/index.html.heex:52
#: lib/mv_web/live/user_live/show.ex:53
#, elixir-autogen, elixir-format
msgid "Linked Member"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:62
#: lib/mv_web/live/member_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "Linked User"
msgstr ""
#: lib/mv_web/live/user_live/index.html.heex:57
#: lib/mv_web/live/user_live/show.ex:65
#: lib/mv_web/live/user_live/index.html.heex:56
#: lib/mv_web/live/user_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "No member linked"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:72
#: lib/mv_web/live/member_live/show.ex:73
#, elixir-autogen, elixir-format
msgid "No user linked"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:36
#: lib/mv_web/live/member_live/show.ex:38
#: lib/mv_web/live/member_live/show.ex:37
#: lib/mv_web/live/member_live/show.ex:39
#, elixir-autogen, elixir-format
msgid "Back to members list"
msgstr ""
@ -619,7 +603,7 @@ msgid "Choose a custom field"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:58
#: lib/mv_web/live/member_live/show.ex:77
#: lib/mv_web/live/member_live/show.ex:78
#, elixir-autogen, elixir-format
msgid "Custom Field Values"
msgstr ""
@ -748,7 +732,7 @@ msgstr ""
msgid "Available members"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:357
#: lib/mv_web/live/user_live/form.ex:359
#, elixir-autogen, elixir-format
msgid "Failed to link member: %{error}"
msgstr ""
@ -788,7 +772,7 @@ msgstr ""
msgid "Unlinking scheduled"
msgstr ""
#: lib/mv_web/live/member_live/index.ex:159
#: lib/mv_web/live/member_live/index.ex:160
#, elixir-autogen, elixir-format
msgid "Copied %{count} email address to clipboard"
msgid_plural "Copied %{count} email addresses to clipboard"
@ -805,12 +789,12 @@ msgstr ""
msgid "Copy emails"
msgstr ""
#: lib/mv_web/live/member_live/index.ex:148
#: lib/mv_web/live/member_live/index.ex:149
#, elixir-autogen, elixir-format
msgid "No email addresses found"
msgstr ""
#: lib/mv_web/live/member_live/index.ex:145
#: lib/mv_web/live/member_live/index.ex:146
#, elixir-autogen, elixir-format
msgid "No members selected"
msgstr ""
@ -825,7 +809,7 @@ msgstr ""
msgid "Open in email program"
msgstr ""
#: lib/mv_web/live/member_live/index.ex:168
#: lib/mv_web/live/member_live/index.ex:169
#, elixir-autogen, elixir-format
msgid "Tip: Paste email addresses into the BCC field for privacy compliance"
msgstr ""
@ -998,7 +982,7 @@ msgstr ""
msgid "Global Settings"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:344
#: lib/mv_web/live/contribution_period_live/show.ex:343
#: lib/mv_web/live/contribution_settings_live.ex:275
#: lib/mv_web/live/contribution_type_live/index.ex:203
#, elixir-autogen, elixir-format
@ -1033,7 +1017,7 @@ msgstr ""
msgid "Joining date"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:332
#: lib/mv_web/live/contribution_period_live/show.ex:331
#, elixir-autogen, elixir-format
msgid "Joining year - reduced to 0"
msgstr ""
@ -1093,7 +1077,7 @@ msgstr ""
msgid "Members can only switch between contribution types with the same payment interval (e.g., yearly to yearly). This prevents complex period overlaps."
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:342
#: lib/mv_web/live/contribution_period_live/show.ex:341
#: lib/mv_web/live/contribution_settings_live.ex:273
#: lib/mv_web/live/contribution_type_live/index.ex:201
#, elixir-autogen, elixir-format
@ -1135,19 +1119,19 @@ msgstr ""
msgid "Open Contributions"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:302
#: lib/mv_web/live/contribution_period_live/show.ex:301
#, elixir-autogen, elixir-format
msgid "Paid via bank transfer"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:226
#: lib/mv_web/live/contribution_period_live/show.ex:225
#: lib/mv_web/live/contribution_settings_live.ex:197
#: lib/mv_web/live/contribution_type_live/index.ex:97
#, elixir-autogen, elixir-format
msgid "Preview Mockup"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:343
#: lib/mv_web/live/contribution_period_live/show.ex:342
#: lib/mv_web/live/contribution_settings_live.ex:274
#: lib/mv_web/live/contribution_type_live/index.ex:202
#, elixir-autogen, elixir-format
@ -1176,7 +1160,7 @@ msgstr ""
msgid "Reduced fee for unemployed, pensioners, or low income"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:276
#: lib/mv_web/live/contribution_period_live/show.ex:275
#: lib/mv_web/live/contribution_settings_live.ex:244
#: lib/mv_web/live/contribution_type_live/index.ex:148
#, elixir-autogen, elixir-format
@ -1219,7 +1203,7 @@ msgstr ""
msgid "Suspend"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:260
#: lib/mv_web/live/contribution_period_live/show.ex:259
#, elixir-autogen, elixir-format
msgid "Suspended"
msgstr ""
@ -1229,7 +1213,7 @@ msgstr ""
msgid "This contribution type is automatically assigned to all new members. Can be changed individually per member."
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:228
#: lib/mv_web/live/contribution_period_live/show.ex:227
#: lib/mv_web/live/contribution_settings_live.ex:199
#: lib/mv_web/live/contribution_type_live/index.ex:99
#, elixir-autogen, elixir-format
@ -1246,7 +1230,7 @@ msgstr ""
msgid "Total Contributions"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:251
#: lib/mv_web/live/contribution_period_live/show.ex:250
#, elixir-autogen, elixir-format
msgid "Unpaid"
msgstr ""
@ -1274,7 +1258,7 @@ msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:85
#: lib/mv_web/live/contribution_period_live/show.ex:86
#: lib/mv_web/live/contribution_period_live/show.ex:87
#: lib/mv_web/live/contribution_period_live/show.ex:345
#: lib/mv_web/live/contribution_period_live/show.ex:344
#: lib/mv_web/live/contribution_settings_live.ex:276
#: lib/mv_web/live/contribution_type_live/index.ex:204
#, elixir-autogen, elixir-format

View file

@ -11,14 +11,14 @@ msgstr ""
"Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/mv_web/components/core_components.ex:386
#: lib/mv_web/components/core_components.ex:387
#: lib/mv_web/live/contribution_period_live/show.ex:141
#, elixir-autogen, elixir-format
msgid "Actions"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:248
#: lib/mv_web/live/user_live/index.html.heex:72
#: lib/mv_web/live/user_live/index.html.heex:71
#, elixir-autogen, elixir-format
msgid "Are you sure?"
msgstr ""
@ -31,28 +31,28 @@ msgstr ""
#: lib/mv_web/live/member_live/form.ex:53
#: lib/mv_web/live/member_live/index.html.heex:184
#: lib/mv_web/live/member_live/show.ex:58
#: lib/mv_web/live/member_live/show.ex:59
#, elixir-autogen, elixir-format
msgid "City"
msgstr ""
#: lib/mv_web/live/contribution_type_live/index.ex:78
#: lib/mv_web/live/member_live/index.html.heex:250
#: lib/mv_web/live/user_live/index.html.heex:74
#: lib/mv_web/live/user_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Delete"
msgstr ""
#: lib/mv_web/live/contribution_type_live/index.ex:66
#: lib/mv_web/live/member_live/index.html.heex:242
#: lib/mv_web/live/user_live/form.ex:265
#: lib/mv_web/live/user_live/index.html.heex:66
#: lib/mv_web/live/user_live/form.ex:267
#: lib/mv_web/live/user_live/index.html.heex:65
#, elixir-autogen, elixir-format
msgid "Edit"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:41
#: lib/mv_web/live/member_live/show.ex:116
#: lib/mv_web/live/member_live/show.ex:42
#: lib/mv_web/live/member_live/show.ex:114
#, elixir-autogen, elixir-format
msgid "Edit Member"
msgstr ""
@ -60,29 +60,29 @@ msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:58
#: lib/mv_web/live/member_live/form.ex:47
#: lib/mv_web/live/member_live/index.html.heex:112
#: lib/mv_web/live/member_live/show.ex:50
#: lib/mv_web/live/member_live/show.ex:51
#: lib/mv_web/live/user_live/form.ex:46
#: lib/mv_web/live/user_live/index.html.heex:44
#: lib/mv_web/live/user_live/show.ex:50
#: lib/mv_web/live/user_live/show.ex:49
#, elixir-autogen, elixir-format
msgid "Email"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:45
#: lib/mv_web/live/member_live/show.ex:48
#: lib/mv_web/live/member_live/show.ex:49
#, elixir-autogen, elixir-format
msgid "First Name"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:50
#: lib/mv_web/live/member_live/index.html.heex:220
#: lib/mv_web/live/member_live/show.ex:55
#: lib/mv_web/live/member_live/show.ex:56
#, elixir-autogen, elixir-format
msgid "Join Date"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:46
#: lib/mv_web/live/member_live/show.ex:49
#: lib/mv_web/live/member_live/show.ex:50
#, elixir-autogen, elixir-format
msgid "Last Name"
msgstr ""
@ -93,7 +93,7 @@ msgid "New Member"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:239
#: lib/mv_web/live/user_live/index.html.heex:63
#: lib/mv_web/live/user_live/index.html.heex:62
#, elixir-autogen, elixir-format
msgid "Show"
msgstr ""
@ -114,21 +114,21 @@ msgid "close"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:51
#: lib/mv_web/live/member_live/show.ex:56
#: lib/mv_web/live/member_live/show.ex:57
#, elixir-autogen, elixir-format
msgid "Exit Date"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:55
#: lib/mv_web/live/member_live/index.html.heex:148
#: lib/mv_web/live/member_live/show.ex:60
#: lib/mv_web/live/member_live/show.ex:61
#, elixir-autogen, elixir-format
msgid "House Number"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:140
#: lib/mv_web/live/member_live/form.ex:52
#: lib/mv_web/live/member_live/show.ex:57
#: lib/mv_web/live/member_live/show.ex:58
#, elixir-autogen, elixir-format
msgid "Notes"
msgstr ""
@ -136,24 +136,24 @@ msgstr ""
#: lib/mv_web/live/components/payment_filter_component.ex:94
#: lib/mv_web/live/components/payment_filter_component.ex:144
#: lib/mv_web/live/contribution_period_live/show.ex:186
#: lib/mv_web/live/contribution_period_live/show.ex:242
#: lib/mv_web/live/contribution_period_live/show.ex:241
#: lib/mv_web/live/member_live/form.ex:48
#: lib/mv_web/live/member_live/index.html.heex:229
#: lib/mv_web/live/member_live/show.ex:51
#: lib/mv_web/live/member_live/show.ex:52
#, elixir-autogen, elixir-format
msgid "Paid"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:49
#: lib/mv_web/live/member_live/index.html.heex:202
#: lib/mv_web/live/member_live/show.ex:54
#: lib/mv_web/live/member_live/show.ex:55
#, elixir-autogen, elixir-format
msgid "Phone Number"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:56
#: lib/mv_web/live/member_live/index.html.heex:166
#: lib/mv_web/live/member_live/show.ex:61
#: lib/mv_web/live/member_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Postal Code"
msgstr ""
@ -167,43 +167,43 @@ msgstr ""
#: lib/mv_web/live/custom_field_value_live/form.ex:74
#: lib/mv_web/live/global_settings_live.ex:55
#: lib/mv_web/live/member_live/form.ex:78
#: lib/mv_web/live/user_live/form.ex:248
#: lib/mv_web/live/user_live/form.ex:249
#, elixir-autogen, elixir-format
msgid "Saving..."
msgstr ""
#: lib/mv_web/live/member_live/form.ex:54
#: lib/mv_web/live/member_live/index.html.heex:130
#: lib/mv_web/live/member_live/show.ex:59
#: lib/mv_web/live/member_live/show.ex:60
#, elixir-autogen, elixir-format
msgid "Street"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:47
#: lib/mv_web/live/member_live/show.ex:48
#, elixir-autogen, elixir-format
msgid "Id"
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:234
#: lib/mv_web/live/member_live/index/formatter.ex:61
#: lib/mv_web/live/member_live/show.ex:52
#: lib/mv_web/live/member_live/index/formatter.ex:62
#: lib/mv_web/live/member_live/show.ex:53
#, elixir-autogen, elixir-format
msgid "No"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:115
#: lib/mv_web/live/member_live/show.ex:113
#, elixir-autogen, elixir-format, fuzzy
msgid "Show Member"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:33
#: lib/mv_web/live/member_live/show.ex:34
#, elixir-autogen, elixir-format
msgid "This is a member record from your database."
msgstr ""
#: lib/mv_web/live/member_live/index.html.heex:234
#: lib/mv_web/live/member_live/index/formatter.ex:60
#: lib/mv_web/live/member_live/show.ex:52
#: lib/mv_web/live/member_live/index/formatter.ex:61
#: lib/mv_web/live/member_live/show.ex:53
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr ""
@ -261,7 +261,7 @@ msgstr ""
#: lib/mv_web/live/custom_field_live/index.ex:120
#: lib/mv_web/live/custom_field_value_live/form.ex:77
#: lib/mv_web/live/member_live/form.ex:81
#: lib/mv_web/live/user_live/form.ex:251
#: lib/mv_web/live/user_live/form.ex:252
#, elixir-autogen, elixir-format
msgid "Cancel"
msgstr ""
@ -281,16 +281,11 @@ msgstr ""
msgid "Edit User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:53
#: lib/mv_web/live/user_live/show.ex:51
#, elixir-autogen, elixir-format
msgid "Enabled"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:49
#, elixir-autogen, elixir-format
msgid "ID"
msgstr ""
#: lib/mv_web/live/custom_field_live/form.ex:62
#, elixir-autogen, elixir-format
msgid "Immutable"
@ -314,7 +309,7 @@ msgstr ""
#: lib/mv_web/components/layouts/navbar.ex:25
#: lib/mv_web/live/contribution_type_live/index.ex:61
#: lib/mv_web/live/member_live/index.ex:73
#: lib/mv_web/live/member_live/index.ex:74
#: lib/mv_web/live/member_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Members"
@ -331,16 +326,11 @@ msgstr ""
msgid "New User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:53
#: lib/mv_web/live/user_live/show.ex:51
#, elixir-autogen, elixir-format
msgid "Not enabled"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:51
#, elixir-autogen, elixir-format, fuzzy
msgid "Not set"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:207
#: lib/mv_web/live/user_live/form.ex:107
#: lib/mv_web/live/user_live/form.ex:115
@ -349,13 +339,7 @@ msgstr ""
msgid "Note"
msgstr ""
#: lib/mv_web/live/user_live/index.html.heex:52
#: lib/mv_web/live/user_live/show.ex:51
#, elixir-autogen, elixir-format
msgid "OIDC ID"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:52
#: lib/mv_web/live/user_live/show.ex:50
#, elixir-autogen, elixir-format
msgid "Password Authentication"
msgstr ""
@ -385,12 +369,12 @@ msgstr ""
msgid "Settings"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:249
#: lib/mv_web/live/user_live/form.ex:250
#, elixir-autogen, elixir-format, fuzzy
msgid "Save User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:79
#: lib/mv_web/live/user_live/show.ex:77
#, elixir-autogen, elixir-format, fuzzy
msgid "Show User"
msgstr ""
@ -410,7 +394,7 @@ msgstr ""
msgid "Use this form to manage user records in your database."
msgstr ""
#: lib/mv_web/live/user_live/form.ex:266
#: lib/mv_web/live/user_live/form.ex:268
#: lib/mv_web/live/user_live/show.ex:34
#, elixir-autogen, elixir-format
msgid "User"
@ -438,7 +422,7 @@ msgstr ""
msgid "descending"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:265
#: lib/mv_web/live/user_live/form.ex:267
#, elixir-autogen, elixir-format
msgid "New"
msgstr ""
@ -514,30 +498,30 @@ msgid "User will be created without a password. Check 'Set Password' to add one.
msgstr "User will be created without a password. Check 'Set Password' to add one."
#: lib/mv_web/live/user_live/form.ex:126
#: lib/mv_web/live/user_live/index.html.heex:53
#: lib/mv_web/live/user_live/show.ex:55
#: lib/mv_web/live/user_live/index.html.heex:52
#: lib/mv_web/live/user_live/show.ex:53
#, elixir-autogen, elixir-format, fuzzy
msgid "Linked Member"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:62
#: lib/mv_web/live/member_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "Linked User"
msgstr ""
#: lib/mv_web/live/user_live/index.html.heex:57
#: lib/mv_web/live/user_live/show.ex:65
#: lib/mv_web/live/user_live/index.html.heex:56
#: lib/mv_web/live/user_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "No member linked"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:72
#: lib/mv_web/live/member_live/show.ex:73
#, elixir-autogen, elixir-format
msgid "No user linked"
msgstr ""
#: lib/mv_web/live/member_live/show.ex:36
#: lib/mv_web/live/member_live/show.ex:38
#: lib/mv_web/live/member_live/show.ex:37
#: lib/mv_web/live/member_live/show.ex:39
#, elixir-autogen, elixir-format
msgid "Back to members list"
msgstr ""
@ -619,7 +603,7 @@ msgid "Choose a custom field"
msgstr ""
#: lib/mv_web/live/member_live/form.ex:58
#: lib/mv_web/live/member_live/show.ex:77
#: lib/mv_web/live/member_live/show.ex:78
#, elixir-autogen, elixir-format
msgid "Custom Field Values"
msgstr ""
@ -748,7 +732,7 @@ msgstr ""
msgid "Available members"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:357
#: lib/mv_web/live/user_live/form.ex:359
#, elixir-autogen, elixir-format
msgid "Failed to link member: %{error}"
msgstr ""
@ -788,7 +772,7 @@ msgstr ""
msgid "Unlinking scheduled"
msgstr ""
#: lib/mv_web/live/member_live/index.ex:159
#: lib/mv_web/live/member_live/index.ex:160
#, elixir-autogen, elixir-format
msgid "Copied %{count} email address to clipboard"
msgid_plural "Copied %{count} email addresses to clipboard"
@ -805,12 +789,12 @@ msgstr ""
msgid "Copy emails"
msgstr ""
#: lib/mv_web/live/member_live/index.ex:148
#: lib/mv_web/live/member_live/index.ex:149
#, elixir-autogen, elixir-format
msgid "No email addresses found"
msgstr ""
#: lib/mv_web/live/member_live/index.ex:145
#: lib/mv_web/live/member_live/index.ex:146
#, elixir-autogen, elixir-format, fuzzy
msgid "No members selected"
msgstr ""
@ -825,7 +809,7 @@ msgstr ""
msgid "Open in email program"
msgstr ""
#: lib/mv_web/live/member_live/index.ex:168
#: lib/mv_web/live/member_live/index.ex:169
#, elixir-autogen, elixir-format
msgid "Tip: Paste email addresses into the BCC field for privacy compliance"
msgstr ""
@ -998,7 +982,7 @@ msgstr ""
msgid "Global Settings"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:344
#: lib/mv_web/live/contribution_period_live/show.ex:343
#: lib/mv_web/live/contribution_settings_live.ex:275
#: lib/mv_web/live/contribution_type_live/index.ex:203
#, elixir-autogen, elixir-format
@ -1033,7 +1017,7 @@ msgstr ""
msgid "Joining date"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:332
#: lib/mv_web/live/contribution_period_live/show.ex:331
#, elixir-autogen, elixir-format
msgid "Joining year - reduced to 0"
msgstr ""
@ -1093,7 +1077,7 @@ msgstr ""
msgid "Members can only switch between contribution types with the same payment interval (e.g., yearly to yearly). This prevents complex period overlaps."
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:342
#: lib/mv_web/live/contribution_period_live/show.ex:341
#: lib/mv_web/live/contribution_settings_live.ex:273
#: lib/mv_web/live/contribution_type_live/index.ex:201
#, elixir-autogen, elixir-format
@ -1135,19 +1119,19 @@ msgstr ""
msgid "Open Contributions"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:302
#: lib/mv_web/live/contribution_period_live/show.ex:301
#, elixir-autogen, elixir-format
msgid "Paid via bank transfer"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:226
#: lib/mv_web/live/contribution_period_live/show.ex:225
#: lib/mv_web/live/contribution_settings_live.ex:197
#: lib/mv_web/live/contribution_type_live/index.ex:97
#, elixir-autogen, elixir-format
msgid "Preview Mockup"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:343
#: lib/mv_web/live/contribution_period_live/show.ex:342
#: lib/mv_web/live/contribution_settings_live.ex:274
#: lib/mv_web/live/contribution_type_live/index.ex:202
#, elixir-autogen, elixir-format
@ -1176,7 +1160,7 @@ msgstr ""
msgid "Reduced fee for unemployed, pensioners, or low income"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:276
#: lib/mv_web/live/contribution_period_live/show.ex:275
#: lib/mv_web/live/contribution_settings_live.ex:244
#: lib/mv_web/live/contribution_type_live/index.ex:148
#, elixir-autogen, elixir-format
@ -1219,7 +1203,7 @@ msgstr ""
msgid "Suspend"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:260
#: lib/mv_web/live/contribution_period_live/show.ex:259
#, elixir-autogen, elixir-format
msgid "Suspended"
msgstr ""
@ -1229,7 +1213,7 @@ msgstr ""
msgid "This contribution type is automatically assigned to all new members. Can be changed individually per member."
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:228
#: lib/mv_web/live/contribution_period_live/show.ex:227
#: lib/mv_web/live/contribution_settings_live.ex:199
#: lib/mv_web/live/contribution_type_live/index.ex:99
#, elixir-autogen, elixir-format
@ -1246,7 +1230,7 @@ msgstr ""
msgid "Total Contributions"
msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:251
#: lib/mv_web/live/contribution_period_live/show.ex:250
#, elixir-autogen, elixir-format
msgid "Unpaid"
msgstr ""
@ -1274,7 +1258,7 @@ msgstr ""
#: lib/mv_web/live/contribution_period_live/show.ex:85
#: lib/mv_web/live/contribution_period_live/show.ex:86
#: lib/mv_web/live/contribution_period_live/show.ex:87
#: lib/mv_web/live/contribution_period_live/show.ex:345
#: lib/mv_web/live/contribution_period_live/show.ex:344
#: lib/mv_web/live/contribution_settings_live.ex:276
#: lib/mv_web/live/contribution_type_live/index.ex:204
#, elixir-autogen, elixir-format
@ -1297,6 +1281,22 @@ msgstr ""
#~ msgid "Birth Date"
#~ msgstr ""
#~ #: lib/mv_web/live/user_live/show.ex:49
#~ #, elixir-autogen, elixir-format
#~ msgid "ID"
#~ msgstr ""
#~ #: lib/mv_web/live/user_live/show.ex:51
#~ #, elixir-autogen, elixir-format, fuzzy
#~ msgid "Not set"
#~ msgstr ""
#~ #: lib/mv_web/live/user_live/index.html.heex:52
#~ #: lib/mv_web/live/user_live/show.ex:51
#~ #, elixir-autogen, elixir-format
#~ msgid "OIDC ID"
#~ msgstr ""
#~ #: lib/mv_web/live/contribution_period_live/show.ex:273
#~ #: lib/mv_web/live/contribution_settings_live.ex:248
#~ #, elixir-autogen, elixir-format

View file

@ -123,7 +123,13 @@ defmodule MvWeb.ConnCase do
end
setup tags do
Mv.DataCase.setup_sandbox(tags)
{:ok, conn: Phoenix.ConnTest.build_conn()}
pid = Mv.DataCase.setup_sandbox(tags)
conn = Phoenix.ConnTest.build_conn()
# Set metadata for Phoenix.Ecto.SQL.Sandbox plug to allow LiveView processes
# to share the test's database connection in async tests
conn = Plug.Conn.put_private(conn, :ecto_sandbox, pid)
{:ok, conn: conn}
end
end

View file

@ -34,10 +34,12 @@ defmodule Mv.DataCase do
@doc """
Sets up the sandbox based on the test tags.
Returns the owner pid for use with Phoenix.Ecto.SQL.Sandbox.
"""
def setup_sandbox(tags) do
pid = Ecto.Adapters.SQL.Sandbox.start_owner!(Mv.Repo, shared: not tags[:async])
on_exit(fn -> Ecto.Adapters.SQL.Sandbox.stop_owner(pid) end)
pid
end
@doc """