diff --git a/lib/mv_web/live/member_live/show/membership_fees_component.ex b/lib/mv_web/live/member_live/show/membership_fees_component.ex index 946f249..1ce6f77 100644 --- a/lib/mv_web/live/member_live/show/membership_fees_component.ex +++ b/lib/mv_web/live/member_live/show/membership_fees_component.ex @@ -52,7 +52,7 @@ defmodule MvWeb.MemberLive.Show.MembershipFeesComponent do <%!-- Vereinfacht: contact info when synced, or warning when API is configured but no contact --%> <%= if Mv.Config.vereinfacht_configured?() do %> - <%= if @member.vereinfacht_contact_id do %> + <%= if @vereinfacht_contact_present do %>
<.link @@ -515,6 +515,7 @@ defmodule MvWeb.MemberLive.Show.MembershipFeesComponent do |> assign(:can_create_cycle, can_create_cycle) |> assign(:can_destroy_cycle, can_destroy_cycle) |> assign(:can_update_cycle, can_update_cycle) + |> assign(:vereinfacht_contact_present, present_contact_id?(member.vereinfacht_contact_id)) |> assign_new(:interval_warning, fn -> nil end) |> assign_new(:editing_cycle, fn -> nil end) |> assign_new(:deleting_cycle, fn -> nil end) @@ -1082,6 +1083,10 @@ defmodule MvWeb.MemberLive.Show.MembershipFeesComponent do defp format_create_cycle_period(_date, _interval), do: "" + defp present_contact_id?(nil), do: false + defp present_contact_id?(id) when is_binary(id), do: String.trim(id) != "" + defp present_contact_id?(_), do: false + defp format_vereinfacht_error({:http, status, detail}) when is_binary(detail), do: "HTTP #{status} – #{detail}"