Fixes with addresses and iCalendar
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -69,4 +69,20 @@ defmodule Mobilizon.Addresses.Address do
|
||||
|
||||
put_change(changeset, :url, url)
|
||||
end
|
||||
|
||||
def coords(nil), do: nil
|
||||
|
||||
def coords(%__MODULE__{} = address) do
|
||||
with %Geo.Point{coordinates: {latitude, longitude}, srid: 4326} <- address.geom do
|
||||
{latitude, longitude}
|
||||
end
|
||||
end
|
||||
|
||||
def representation(nil), do: nil
|
||||
|
||||
def representation(%__MODULE__{} = address) do
|
||||
"#{address.street} #{address.postal_code} #{address.locality} #{address.region} #{
|
||||
address.country
|
||||
}"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -187,7 +187,8 @@ defmodule Mobilizon.Events.Event do
|
||||
|
||||
# In case the provided addresses is an existing one
|
||||
@spec put_address(Changeset.t(), map) :: Changeset.t()
|
||||
defp put_address(%Changeset{} = changeset, %{physical_address: %{id: id} = _physical_address}) when not is_nil(id) do
|
||||
defp put_address(%Changeset{} = changeset, %{physical_address: %{id: id} = _physical_address})
|
||||
when not is_nil(id) do
|
||||
case Addresses.get_address(id) do
|
||||
%Address{} = address ->
|
||||
put_assoc(changeset, :physical_address, address)
|
||||
|
||||
Reference in New Issue
Block a user