This commit is contained in:
parent
c251e1dba3
commit
8a8502724d
3 changed files with 29 additions and 8 deletions
|
|
@ -26,7 +26,21 @@ defmodule Mv.Membership.Member do
|
||||||
@doc false
|
@doc false
|
||||||
def changeset(member, attrs) do
|
def changeset(member, attrs) do
|
||||||
member
|
member
|
||||||
|> cast(attrs, [:first_name, :last_name, :email, :birth_date, :paid, :phone_number, :join_date, :exit_date, :notes, :city, :street, :house_number, :postal_code])
|
|> cast(attrs, [
|
||||||
|
:first_name,
|
||||||
|
:last_name,
|
||||||
|
:email,
|
||||||
|
:birth_date,
|
||||||
|
:paid,
|
||||||
|
:phone_number,
|
||||||
|
:join_date,
|
||||||
|
:exit_date,
|
||||||
|
:notes,
|
||||||
|
:city,
|
||||||
|
:street,
|
||||||
|
:house_number,
|
||||||
|
:postal_code
|
||||||
|
])
|
||||||
|> validate_required([:first_name, :last_name, :email])
|
|> validate_required([:first_name, :last_name, :email])
|
||||||
|> validate_length(:first_name, min: 1)
|
|> validate_length(:first_name, min: 1)
|
||||||
|> validate_length(:last_name, min: 1)
|
|> validate_length(:last_name, min: 1)
|
||||||
|
|
@ -49,7 +63,9 @@ defmodule Mv.Membership.Member do
|
||||||
|
|
||||||
defp validate_birth_date(changeset) do
|
defp validate_birth_date(changeset) do
|
||||||
case get_field(changeset, :birth_date) do
|
case get_field(changeset, :birth_date) do
|
||||||
nil -> changeset
|
nil ->
|
||||||
|
changeset
|
||||||
|
|
||||||
birth_date ->
|
birth_date ->
|
||||||
if Date.compare(birth_date, Date.utc_today()) == :gt do
|
if Date.compare(birth_date, Date.utc_today()) == :gt do
|
||||||
add_error(changeset, :birth_date, "cannot be in the future")
|
add_error(changeset, :birth_date, "cannot be in the future")
|
||||||
|
|
@ -61,7 +77,9 @@ defmodule Mv.Membership.Member do
|
||||||
|
|
||||||
defp validate_join_date(changeset) do
|
defp validate_join_date(changeset) do
|
||||||
case get_field(changeset, :join_date) do
|
case get_field(changeset, :join_date) do
|
||||||
nil -> changeset
|
nil ->
|
||||||
|
changeset
|
||||||
|
|
||||||
join_date ->
|
join_date ->
|
||||||
if Date.compare(join_date, Date.utc_today()) == :gt do
|
if Date.compare(join_date, Date.utc_today()) == :gt do
|
||||||
add_error(changeset, :join_date, "cannot be in the future")
|
add_error(changeset, :join_date, "cannot be in the future")
|
||||||
|
|
@ -84,7 +102,9 @@ defmodule Mv.Membership.Member do
|
||||||
|
|
||||||
defp validate_phone_number(changeset) do
|
defp validate_phone_number(changeset) do
|
||||||
case get_field(changeset, :phone_number) do
|
case get_field(changeset, :phone_number) do
|
||||||
nil -> changeset
|
nil ->
|
||||||
|
changeset
|
||||||
|
|
||||||
phone_number ->
|
phone_number ->
|
||||||
if Regex.match?(~r/^\+?[0-9\- ]{6,20}$/, phone_number) do
|
if Regex.match?(~r/^\+?[0-9\- ]{6,20}$/, phone_number) do
|
||||||
changeset
|
changeset
|
||||||
|
|
@ -96,7 +116,9 @@ defmodule Mv.Membership.Member do
|
||||||
|
|
||||||
defp validate_postal_code(changeset) do
|
defp validate_postal_code(changeset) do
|
||||||
case get_field(changeset, :postal_code) do
|
case get_field(changeset, :postal_code) do
|
||||||
nil -> changeset
|
nil ->
|
||||||
|
changeset
|
||||||
|
|
||||||
postal_code ->
|
postal_code ->
|
||||||
if Regex.match?(~r/^\d{5}$/, postal_code) do
|
if Regex.match?(~r/^\d{5}$/, postal_code) do
|
||||||
changeset
|
changeset
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ defmodule MvWeb.Layouts do
|
||||||
</Backpex.HTML.Layout.sidebar_item>
|
</Backpex.HTML.Layout.sidebar_item>
|
||||||
</:sidebar>
|
</:sidebar>
|
||||||
<Backpex.HTML.Layout.flash_messages flash={@flash} />
|
<Backpex.HTML.Layout.flash_messages flash={@flash} />
|
||||||
<%= @inner_content %>
|
{@inner_content}
|
||||||
</Backpex.HTML.Layout.app_shell>
|
</Backpex.HTML.Layout.app_shell>
|
||||||
"""
|
"""
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -72,4 +72,3 @@ defmodule MvWeb.Live.MemberLive do
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue