From 0ea11a42d7f9448edca5b259b69bfd5b4fc28fe2 Mon Sep 17 00:00:00 2001 From: Matthew Shanley Date: Thu, 18 May 2023 15:44:34 -0400 Subject: [PATCH] fix: Display error for missing phone number --- .../lib/templates/account/edit_keycloak.html.eex | 2 +- .../lib/templates/account/options_new.html.eex | 5 +++-- apps/concierge_site/lib/views/account_view.ex | 5 +++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/concierge_site/lib/templates/account/edit_keycloak.html.eex b/apps/concierge_site/lib/templates/account/edit_keycloak.html.eex index 1e9322e18..b2fde5847 100644 --- a/apps/concierge_site/lib/templates/account/edit_keycloak.html.eex +++ b/apps/concierge_site/lib/templates/account/edit_keycloak.html.eex @@ -32,7 +32,7 @@
" data-phone="input"> - <%= if phone_number(@current_user) do %> + <%= if phone_number?(@current_user) do %> <%= label form, :phone_number, "My phone number is:", class: "form__label d-block" %>
<%= @current_user |> phone_number() |> format_phone_number() %>
<%= link to: update_profile_url(@conn) do %>Change phone number<% end %>
diff --git a/apps/concierge_site/lib/templates/account/options_new.html.eex b/apps/concierge_site/lib/templates/account/options_new.html.eex index 868108107..332a51624 100644 --- a/apps/concierge_site/lib/templates/account/options_new.html.eex +++ b/apps/concierge_site/lib/templates/account/options_new.html.eex @@ -32,12 +32,13 @@
" data-phone="input"> <%= if keycloak_auth?() do %> - <%= if phone_number(@current_user) do %> + <%= if phone_number?(@current_user) do %> <%= label form, :phone_number, "My phone number is:", class: "form__label d-block" %>
<%= @current_user |> phone_number() |> format_phone_number() %>
<% else %> -

Please enter your number in order to recieve text messages.

+

Please enter your number in order to recieve text messages.

<%= link to: update_profile_url(@conn) do %>Add phone number<% end %>
+ <%= error_tag form, :phone_number %> <% end %> <% else %> <%= label form, :phone_number, "What’s your mobile phone number?", class: "form__label d-block" %> diff --git a/apps/concierge_site/lib/views/account_view.ex b/apps/concierge_site/lib/views/account_view.ex index 93abb398d..1cf6ad043 100644 --- a/apps/concierge_site/lib/views/account_view.ex +++ b/apps/concierge_site/lib/views/account_view.ex @@ -10,6 +10,11 @@ defmodule ConciergeSite.AccountView do defdelegate email(user), to: User defdelegate phone_number(user), to: User + def phone_number?(user) do + phone_number = User.phone_number(user) + is_binary(phone_number) and phone_number != "" + end + def fetch_field!(changeset, field) do {_, value} = Changeset.fetch_field(changeset, field) value