fix: prevent sending group physical address if it's empty and allow empty text for timezone
As old addresses don't hold TZ information Closes #1357 Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
8795576865
commit
32caebb1d0
@ -17,6 +17,8 @@ defmodule Mobilizon.GraphQL.Schema.Custom.Timezone do
|
||||
|
||||
@spec decode(Absinthe.Blueprint.Input.String.t()) :: {:ok, term} | :error
|
||||
@spec decode(Absinthe.Blueprint.Input.Null.t()) :: {:ok, nil}
|
||||
defp decode(%Absinthe.Blueprint.Input.String{value: ""}), do: {:ok, nil}
|
||||
|
||||
defp decode(%Absinthe.Blueprint.Input.String{value: value}) do
|
||||
if Tzdata.zone_exists?(value),
|
||||
do: {:ok, value},
|
||||
|
@ -287,12 +287,16 @@ const buildVariables = computed(() => {
|
||||
preferredUsername: group.value.preferredUsername,
|
||||
name: group.value.name,
|
||||
summary: group.value.summary,
|
||||
physicalAddress: cloneGroup.physicalAddress,
|
||||
visibility: group.value.visibility,
|
||||
openness: group.value.openness,
|
||||
manuallyApprovesFollowers: group.value.manuallyApprovesFollowers,
|
||||
};
|
||||
|
||||
if (cloneGroup.physicalAddress?.id || cloneGroup.physicalAddress?.geom) {
|
||||
// @ts-expect-error No type for this variable
|
||||
groupBasic.physicalAddress = cloneGroup.physicalAddress;
|
||||
}
|
||||
|
||||
if (avatarFile.value) {
|
||||
avatarObj = {
|
||||
avatar: {
|
||||
|
@ -345,7 +345,7 @@ const currentAddress = computed({
|
||||
return editableGroup.value?.physicalAddress ?? null;
|
||||
},
|
||||
set(address: IAddress | null) {
|
||||
if (editableGroup.value && address) {
|
||||
if (editableGroup.value && address && (address.id || address.geom)) {
|
||||
editableGroup.value = {
|
||||
...editableGroup.value,
|
||||
physicalAddress: address,
|
||||
|
Loading…
Reference in New Issue
Block a user