forked from potsda.mn/mobilizon
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.String.t()) :: {:ok, term} | :error
|
||||||
@spec decode(Absinthe.Blueprint.Input.Null.t()) :: {:ok, nil}
|
@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
|
defp decode(%Absinthe.Blueprint.Input.String{value: value}) do
|
||||||
if Tzdata.zone_exists?(value),
|
if Tzdata.zone_exists?(value),
|
||||||
do: {:ok, value},
|
do: {:ok, value},
|
||||||
|
|
|
@ -287,12 +287,16 @@ const buildVariables = computed(() => {
|
||||||
preferredUsername: group.value.preferredUsername,
|
preferredUsername: group.value.preferredUsername,
|
||||||
name: group.value.name,
|
name: group.value.name,
|
||||||
summary: group.value.summary,
|
summary: group.value.summary,
|
||||||
physicalAddress: cloneGroup.physicalAddress,
|
|
||||||
visibility: group.value.visibility,
|
visibility: group.value.visibility,
|
||||||
openness: group.value.openness,
|
openness: group.value.openness,
|
||||||
manuallyApprovesFollowers: group.value.manuallyApprovesFollowers,
|
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) {
|
if (avatarFile.value) {
|
||||||
avatarObj = {
|
avatarObj = {
|
||||||
avatar: {
|
avatar: {
|
||||||
|
|
|
@ -345,7 +345,7 @@ const currentAddress = computed({
|
||||||
return editableGroup.value?.physicalAddress ?? null;
|
return editableGroup.value?.physicalAddress ?? null;
|
||||||
},
|
},
|
||||||
set(address: IAddress | null) {
|
set(address: IAddress | null) {
|
||||||
if (editableGroup.value && address) {
|
if (editableGroup.value && address && (address.id || address.geom)) {
|
||||||
editableGroup.value = {
|
editableGroup.value = {
|
||||||
...editableGroup.value,
|
...editableGroup.value,
|
||||||
physicalAddress: address,
|
physicalAddress: address,
|
||||||
|
|
Loading…
Reference in a new issue