MT#57338 Remove preferences when set to false or empty array value

Change-Id: I9b7c296603d21ce46987dd4ede7a9c5aefa363ec
mr11.4
Marco Capetta 2 years ago
parent 7395ef044e
commit a2cc14265a

@ -35,19 +35,23 @@ export async function getPreferencesDefs (id) {
} }
export async function setPreference (id, field, value) { export async function setPreference (id, field, value) {
try { if (value === undefined || value === null || value === '' || value === false || (Array.isArray(value) && !value.length)) {
await replacePreference(id, field, value) await removePreference(id, field)
} catch (err) { } else {
const errCode = err.status + '' try {
if (errCode === '422') { await replacePreference(id, field, value)
// eslint-disable-next-line no-useless-catch } catch (err) {
try { const errCode = err.status + ''
await addPreference(id, field, value) if (errCode === '422') {
} catch (innerErr) { // eslint-disable-next-line no-useless-catch
throw innerErr try {
await addPreference(id, field, value)
} catch (innerErr) {
throw innerErr
}
} else {
throw err
} }
} else {
throw err
} }
} }
} }

@ -12,7 +12,7 @@
<q-item-section> <q-item-section>
<q-toggle <q-toggle
:label="$t('Hide your number to the callee')" :label="$t('Hide your number to the callee')"
:value="privacy" :value="privacy || false"
:disable="privacyLoading" :disable="privacyLoading"
data-cy="csc-privacy-hide" data-cy="csc-privacy-hide"
checked-icon="visibility_off" checked-icon="visibility_off"

Loading…
Cancel
Save